Size: a a a

Kubernetes — русскоговорящее сообщество

2020 December 30

AK

Andrey Kartashov in Kubernetes — русскоговорящее сообщество
George Gaál
Шелл оператор ? )
вот я думаю, что исходники reloader проще проверить
источник

ИБ

Илья Бочаров... in Kubernetes — русскоговорящее сообщество
Dmitry Sergeev
а ты посмотри в колонке TARGETS. Или в статусе спеки current показатели
к сожалению, не имею доступа к k8s непосредственно, метрики по кубу смотрю по workload борде в графане. и для приложения отдельно смотрю по подам значения для jvm. Порядки потребления примерно 130-150 мбайт потребляет jvm, пода целиком 180-200, реквест 256 выставлен.
источник

DS

Dmitry Sergeev in Kubernetes — русскоговорящее сообщество
Илья Бочаров
для памяти указано среднее потребление в 95 процентов, как триггер масштабирования, но когда уровень опускается до 80-85, уменьшение количества под не происходит.
там логика примерно такая. Если у тебя по нескольким метрикам автомасштабирование, он считает среднее для каждой из них. И масштабирование идет по той, которая больше определенного для нее target
источник

DS

Dmitry Sergeev in Kubernetes — русскоговорящее сообщество
Илья Бочаров
к сожалению, не имею доступа к k8s непосредственно, метрики по кубу смотрю по workload борде в графане. и для приложения отдельно смотрю по подам значения для jvm. Порядки потребления примерно 130-150 мбайт потребляет jvm, пода целиком 180-200, реквест 256 выставлен.
merics api часто в качестве метрики для памяти берет container_memory_working_set_bytes, а не container_memory_usage_bytes. И OOMKiller по ней же приходит
источник

DS

Dmitry Sergeev in Kubernetes — русскоговорящее сообщество
А hpa смотрит метрики в metrics api
источник

DS

Dmitry Sergeev in Kubernetes — русскоговорящее сообщество
Илья Бочаров
к сожалению, не имею доступа к k8s непосредственно, метрики по кубу смотрю по workload борде в графане. и для приложения отдельно смотрю по подам значения для jvm. Порядки потребления примерно 130-150 мбайт потребляет jvm, пода целиком 180-200, реквест 256 выставлен.
эти таргеты ты можешь посмотреть в графане также, тебе нужны метрики из kube-state-metrics
источник

DS

Dmitry Sergeev in Kubernetes — русскоговорящее сообщество
Andrey Kartashov
вот я думаю, что исходники reloader проще проверить
и все либы от которых он зависит
источник

ИБ

Илья Бочаров... in Kubernetes — русскоговорящее сообщество
Dmitry Sergeev
merics api часто в качестве метрики для памяти берет container_memory_working_set_bytes, а не container_memory_usage_bytes. И OOMKiller по ней же приходит
Попробую запросить доступ к этим данным у коллег, Спасибо за советы!
источник

DS

Dmitry Sergeev in Kubernetes — русскоговорящее сообщество
Илья Бочаров
Попробую запросить доступ к этим данным у коллег, Спасибо за советы!
а ты сделай тогда график/таблицу в grafana, который складывает container_memory_working_set_bytes и делит их на количество текущих реплик, и сравни с averageUtilization
источник

AK

Andrey Kartashov in Kubernetes — русскоговорящее сообщество
Dmitry Sergeev
и все либы от которых он зависит
ой
источник

VA

Vyacheslav A in Kubernetes — русскоговорящее сообщество
z̛e͏́͠r͜c҉
всем привет, вопрос как разрешить доступ до AWS EKS используя роль привязанную к машине
есть сервер внутри VPC можно ли настроить доступ до EKS ?

попробовал через aws-auth.yml, прописал rolearn в mapRoles, удалил credentials, после чего kubectl выдает You must be logged in to the server
Зделай все по доке амазона. Там не имеет значение в впц или нет (если доступ с впц дозволен) и как роль прицепленная.
источник

z

z̛e͏́͠r͜c҉ in Kubernetes — русскоговорящее сообщество
Vyacheslav A
Зделай все по доке амазона. Там не имеет значение в впц или нет (если доступ с впц дозволен) и как роль прицепленная.
по какой именно ? нашел доку только по юзерам, по профилю машины не оч понял как сделать
источник

VA

Vyacheslav A in Kubernetes — русскоговорящее сообщество
z̛e͏́͠r͜c҉
по какой именно ? нашел доку только по юзерам, по профилю машины не оч понял как сделать
А какая разница? Ты ж роль мапиш. Юзер или машина тоже роль используют
источник

VA

Vyacheslav A in Kubernetes — русскоговорящее сообщество
источник

z

z̛e͏́͠r͜c҉ in Kubernetes — русскоговорящее сообщество
<ARN of instance role (not instance profile)> может тут ошибся
источник

VA

Vyacheslav A in Kubernetes — русскоговорящее сообщество
Недавно в EKS консоли добавили отображение разних ресурсов. Права для ролей ми вот так зделали. Таким методом можно замапить любую роль на любой рбак.
const awsConsoleAccess = [
           {
               apiVersion: "rbac.authorization.k8s.io/v1",
               kind: "ClusterRole",
               metadata: { name: "aws-console-ro" },
               rules: [
                   {
                       apiGroups: ["", "apps"],
                       resources: ["services", "endpoints", "pods", "deployments", "ingress", "namespaces", "nodes"],
                       verbs: ["get", "list", "watch"]
                   },
                   {
                       apiGroups: ["apps"],
                       resources: ["services", "endpoints", "pods", "deployments", "ingress", "namespaces", "daemonsets", "replicasets", "statefulsets"],
                       verbs: ["get", "list", "watch"]
                   },
                   {
                       apiGroups: ["batch"],
                       resources: ["jobs"],
                       verbs: ["get", "list", "watch"]
                   }
               ]
           },
           {
               apiVersion: "rbac.authorization.k8s.io/v1",
               kind: "ClusterRoleBinding",
               metadata: { name: "aws-console-ro" },
               subjects: [
                   {
                       kind: "Group",
                       name: "aws-console-ro",
                       apiGroup: "rbac.authorization.k8s.io"
                   }
               ],
               roleRef: {
                   kind: "ClusterRole",
                   name: "aws-console-ro",
                   apiGroup: "rbac.authorization.k8s.io"
               }
           }
       ];
       this.cluster.addManifest('AWSConsoleROAccess', ...awsConsoleAccess);
       this.cluster.awsAuth.addRoleMapping(iam.Role.fromRoleArn(this, 'AdminUser', `arn:aws:iam::${this.config.aws_account}:role/Local_Administration`),
           {
               username: 'Local_Administration/{{SessionName}}',
               groups: ['aws-console-ro']
           }
       );
       this.cluster.awsAuth.addRoleMapping(iam.Role.fromRoleArn(this, 'ReadOnlyUser', `arn:aws:iam::${this.config.aws_account}:role/ReadOnly`),
           {
               username: 'ReadOnly/{{SessionName}}',
               groups: ['aws-console-ro']
           }
       );
источник

z

z̛e͏́͠r͜c҉ in Kubernetes — русскоговорящее сообщество
Vyacheslav A
Недавно в EKS консоли добавили отображение разних ресурсов. Права для ролей ми вот так зделали. Таким методом можно замапить любую роль на любой рбак.
const awsConsoleAccess = [
           {
               apiVersion: "rbac.authorization.k8s.io/v1",
               kind: "ClusterRole",
               metadata: { name: "aws-console-ro" },
               rules: [
                   {
                       apiGroups: ["", "apps"],
                       resources: ["services", "endpoints", "pods", "deployments", "ingress", "namespaces", "nodes"],
                       verbs: ["get", "list", "watch"]
                   },
                   {
                       apiGroups: ["apps"],
                       resources: ["services", "endpoints", "pods", "deployments", "ingress", "namespaces", "daemonsets", "replicasets", "statefulsets"],
                       verbs: ["get", "list", "watch"]
                   },
                   {
                       apiGroups: ["batch"],
                       resources: ["jobs"],
                       verbs: ["get", "list", "watch"]
                   }
               ]
           },
           {
               apiVersion: "rbac.authorization.k8s.io/v1",
               kind: "ClusterRoleBinding",
               metadata: { name: "aws-console-ro" },
               subjects: [
                   {
                       kind: "Group",
                       name: "aws-console-ro",
                       apiGroup: "rbac.authorization.k8s.io"
                   }
               ],
               roleRef: {
                   kind: "ClusterRole",
                   name: "aws-console-ro",
                   apiGroup: "rbac.authorization.k8s.io"
               }
           }
       ];
       this.cluster.addManifest('AWSConsoleROAccess', ...awsConsoleAccess);
       this.cluster.awsAuth.addRoleMapping(iam.Role.fromRoleArn(this, 'AdminUser', `arn:aws:iam::${this.config.aws_account}:role/Local_Administration`),
           {
               username: 'Local_Administration/{{SessionName}}',
               groups: ['aws-console-ro']
           }
       );
       this.cluster.awsAuth.addRoleMapping(iam.Role.fromRoleArn(this, 'ReadOnlyUser', `arn:aws:iam::${this.config.aws_account}:role/ReadOnly`),
           {
               username: 'ReadOnly/{{SessionName}}',
               groups: ['aws-console-ro']
           }
       );
оки спасибо
источник

AK

Alexander Kildyakov in Kubernetes — русскоговорящее сообщество
А как kuber'у сказать, чтобы при hpa он в первую очередь гасил более старые поды?
источник

AK

Andrey Klimentyev in Kubernetes — русскоговорящее сообщество
Alexander Kildyakov
А как kuber'у сказать, чтобы при hpa он в первую очередь гасил более старые поды?
Никак.
источник

AK

Andrey Klimentyev in Kubernetes — русскоговорящее сообщество
Почти все контроллеры вот так сортируют на удаление.
https://github.com/kubernetes/kubernetes/blob/master/pkg/controller/controller_utils.go#L829-L873

Сам HPA, напомню, не удаляет, он просто replicas крутит (или /scale subresource).
источник