我有一个 EKS 集群,我添加了对在混合模式下工作的支持(换句话说,我向它添加了 Fargate 配置文件)。我的目的是只在 AWS Fargate 上运行特定的工作负载,同时为其他类型的工作负载保留 EKS 工作节点。
为了测试这一点,我的 Fargate 配置文件定义为:
为了测试 k8s 资源,我正在尝试部署简单的 nginx 部署,如下所示:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
namespace: mynamespace
labels:
fargate: myvalue
spec:
selector:
matchLabels:
app: nginx
version: 1.7.9
fargate: myvalue
replicas: 1
template:
metadata:
labels:
app: nginx
version: 1.7.9
fargate: myvalue
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 80
Run Code Online (Sandbox Code Playgroud)
当我尝试应用此资源时,我得到以下信息:
$ kubectl get pods -n mynamespace -o …Run Code Online (Sandbox Code Playgroud) 我希望能够使用 Fargate 部署 AWS EKS。我已经成功地使部署与node_group. 然而,当我转而使用 Fargate 时,Pod 似乎都陷入了挂起状态。
我正在使用 Terraform 进行配置(不一定是在寻找 Terraform 答案)。这就是我创建 EKS 集群的方式:
module "eks_cluster" {
source = "terraform-aws-modules/eks/aws"
version = "13.2.1"
cluster_name = "${var.project_name}-${var.env_name}"
cluster_version = var.cluster_version
vpc_id = var.vpc_id
cluster_enabled_log_types = ["api", "audit", "authenticator", "controllerManager", "scheduler"]
enable_irsa = true
subnets = concat(var.private_subnet_ids, var.public_subnet_ids)
create_fargate_pod_execution_role = true
write_kubeconfig = false
fargate_pod_execution_role_name = "${var.project_name}-role"
# Assigning worker groups
node_groups = {
my_nodes = {
desired_capacity = 1
max_capacity = 1
min_capacity = 1 …Run Code Online (Sandbox Code Playgroud)