AWS EKS集群和节点创建IAM角色
AWS EKS集群和节点创建需要使用IAM角色进行授权。以下是创建IAM角色的示例代码:
resource "aws_iam_role" "eks_cluster_role" {
  name = "eks_cluster_role"
 
  assume_role_policy = jsonencode({
    Version = "2012-10-17"
    Statement = [
      {
        Action = "sts:AssumeRole"
        Effect = "Allow"
        Principal = {
          Service = "ec2.amazonaws.com"
        }
      },
      {
        Action = "sts:AssumeRole"
        Effect = "Allow"
        Principal = {
          Service = "eks.amazonaws.com"
        }
      }
    ]
  })
}
 
resource "aws_iam_role_policy_attachment" "eks_cluster_policy_attachment" {
  policy_arn = "arn:aws:iam::aws:policy/AmazonEKSClusterPolicy"
  role       = aws_iam_role.eks_cluster_role.name
}
 
resource "aws_iam_role_policy_attachment" "eks_worker_nodes_policy_attachment" {
  policy_arn = "arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy"
  role       = aws_iam_role.eks_cluster_role.name
}
 
resource "aws_iam_role_policy_attachment" "eks_cni_policy_attachment" {
  policy_arn = "arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy"
  role       = aws_iam_role.eks_cluster_role.name
}
该代码创建了一个名为eks_cluster_role的IAM角色,并将AmazonEKSClusterPolicy、AmazonEKSWorkerNodePolicy和AmazonEKS_CNI_Policy策略附加到该角色上,以授权AWS EKS集群和节点的创建。