#terraform #amazon-eks
#terraform #amazon-eks
Вопрос:
Я использую подготовленный кодом terraform кластер EKS (1.16) с рабочими узлами в AWS (Linux). Приведенный ниже код предназначен для создания рабочих узлов eks (Linux):
resource "aws_eks_node_group" "default-worker-nodes-group" {
cluster_name = "${var.eks_cluster_name}"
node_group_name = "${var.eks_cluster_node_group_name}"
node_role_arn = "${var.eks_worker_node_role_arn}"
subnet_ids = ["${var.eks_worker_subnet_ids}"]
ami_type = "${var.ami_type}"
instance_types = "${var.instance_type}"
disk_size = "${var.volume_size}"
release_version = "${var.release_version}"
version = "${var.eks_cluster_version}"
remote_access {
ec2_ssh_key = "${var.ec2_ssh_key}"
source_security_group_ids = ["${var.eks_worker_security_groups_ids}"]
}
}
Я хотел бы добавить дополнительные рабочие узлы Windows. Как это сделать?
Я определяю ARN роли экземпляра узла Linux ниже. Могу ли я использовать для Windows ту же роль, что и для Linux? Другими словами, ARN роли экземпляра узла Windows совпадает с ARN роли экземпляра узла Linux?
#eks workers roles
resource "aws_iam_role" "eks-workernode-role" {
name = "${var.eks_workernode_iam_role_name}"
assume_role_policy = <<POLICY
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "ec2.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
POLICY
}
data:
mapRoles: |
- rolearn: ${aws_iam_role.eks-workernode-role.arn}
username: system:node:{{EC2PrivateDNSName}}
groups:
- system:bootstrappers
- system:nodes
Ответ №1:
Вам нужно использовать AMI, который является Windows-AMI, см. Amazon EKS оптимизированный для Windows AMI.
Вам также нужна немного другая роль в aws-auth
ConfigMap
, как описано в разделе Запуск самоуправляемых узлов Windows, с mapRoles
подобным
groups:
- system:bootstrappers
- system:nodes
- eks:kube-proxy-windows
Комментарии:
1. Привет, Джоан, спасибо за ваш ответ. Я обновил свой вопрос. Смотрите выше. Я определяю ARN роли экземпляра узла Linux в приведенном выше коде. Могу ли я использовать для Windows ту же роль, что и для Linux? Другими словами, ARN роли экземпляра узла Windows совпадает с ARN роли экземпляра узла Linux?
2. Я использую ресурс «aws_eks_node_group» для предоставления групп рабочих узлов eks. Из ссылки на аргумент я использую ami_type (AL2_x86_64) и тип экземпляра. Я не могу использовать аргумент AMI ID. Я не могу использовать Windows AMI из Amazon EKS, оптимизированных для Windows AMI.