Из Шаг 1. Создание кластера Amazon
При создании кластера Amazon EKS объект IAM (пользователь или роль), который создает кластер, добавляется в Таблица авторизации Kubernetes RBAC с правами администратора (с разрешениями master: master. Первоначально только тот пользователь IAM может выполнять вызовы на сервер API Kubernetes с помощью kubectl.
blockquote>Как вы обнаружили, вы можете получить доступ только к кластер с тем же пользователем / ролью, который создал кластер EKS.
Существует способ добавить дополнительные роли в кластер после создания, отредактировав AWS-auth ConfigMap, который был создан. [117 ]
Редактируя ConfigMap aws-auth, вы можете добавлять различные уровни доступа в зависимости от роли пользователя.
Сначала вы ДОЛЖНЫ иметь пользователя «system: node: {{EC2PrivateDNSName}}»
apiVersion: v1 kind: ConfigMap metadata: name: aws-auth namespace: kube-system data: mapRoles: | - rolearn:
username: system:node:{{EC2PrivateDNSName}} groups: - system:bootstrappers - system:nodes Это необходимо для того, чтобы Kubernetes даже работал, давая узлам возможность присоединиться к кластеру. ARN экземпляра роли "- это роль, которая включает в себя необходимые политики AmazonEKSWorkerNodePolicy, AmazonEKS_CNI_Policy, AmazonEC2ContainerRegistryReadOnly и т. Д.
Ниже, которые добавляют вашу роль
- rolearn: arn:aws:iam::[hidden]:role/ci_deployer username: ci-deployer groups: - system:masters
« Имя пользователя »может фактически быть установлено примерно на что-нибудь. Это кажется важным, только если в ваш кластер EKS добавлены пользовательские роли и привязки.
Кроме того, используйте команду «aws sts get-caller-identity» для проверки среды / оболочки, и учетные данные AWS правильно настроены. При правильной настройке get-caller-identity должен возвращать ту же роль ARN, которая указана в aws-auth.
http://www-rcf.usc.edu/~skoenig/icaps/icaps04/icapspapers/ICAPS04KorfR.pdf
По-видимому, эта проблема более трудна, чем это смотрит сначала. Это - интересный алгоритм, так как сначала это предполагает решение и затем изменяет к лучшему его, поэтому если Вы не хотите ожидать оптимального решения, можно просто выполнить его для количества набора повторений для получения приближенного решения (чем дольше Вы выполняете его, тем лучше приближение).
Я запустил бы путем скольжения через http://mathworld.wolfram.com - они являются потрясающими для материала как это.
Во-вторых, я мог предположить одурманенный алгоритм, который поместит самое длинное (в X размеров) поле в нижней части, затем самое высокое (в размере Y) сверху его на одной стороне или другом. Затем продолжите складывать их этим "ступившим ступенькой" способом, идущим правильная опека, и вверх (например, идут прямо, пока Вы не можете, затем повыситься, и т.д., и т.д.).
Это, вероятно, неидеально, и может дать Вам плохие результаты, но это - то, что появилось для возражения сначала.
Я рекомендовал бы запуститься с простого жадного подхода и видеть, достаточно хорошо ли это для Ваших потребностей. Если Ваш вход является хорошего поведения или маленьким, который может быть всем, в чем Вы нуждаетесь - и сложность повысится быстро, когда Вы попытаетесь сделать что-то более сложное.
Например: отсортируйте прямоугольники по размеру, самому большому сначала. Добавьте прямоугольники по одному, пробуя каждое возможное положение за новый прямоугольник. Выберите положение, которое приводит к самой маленькой ограничительной рамке.
Другой жадный подход должен был бы выбрать стартовый прямоугольник, затем неоднократно добавить прямоугольник, который приводит к самому плотному расположению (где плотность определяется как процент области ограничительной рамки, которая заполнена).