coredns 没有部署在新的 EKS 集群中?

coredns not deploying in new EKS cluster?

我正在使用具有 public 和私有子网的现有 VPC 在 Fargate(无 EC2 节点)中部署 AWS EKS 集群,并且能够使用 eksctl 成功创建集群。但是,我看到 coredns 部署卡在 EKS 控制台的 0/2 Pods ready 处。我读到我需要在我的安全组规则中启用端口 53,我已经启用了。这是我的配置文件。

$ eksctl create cluster -f eks-sandbox-cluster.yaml
eks-sandbox-cluster.yaml
------------------------
kind: ClusterConfig
apiVersion: eksctl.io/v1alpha5

metadata:
  name: sandbox
  region: us-east-1
  version: "1.18"

# The VPC and subnets are for the data plane, where the pods will
# ultimately be deployed.
vpc:
  id: "vpc-12345678"
  clusterEndpoints:
    privateAccess: true
    publicAccess: false
  subnets:
  # us-east-1a is full
    private:
      us-east-1b:
        id: "subnet-xxxxxxxx"
      us-east-1c:
        id: "subnet-yyyyyyy"
    public:
      us-east-1b:
        id: "subnet-aaaaaaaa"
      us-east-1c:
        id: "subnet-bbbbbbbb"

fargateProfiles:
  - name: fp-default
    selectors:
      - namespace: default
  - name: fp-kube
      - namespace: kube-system
  - name: fp-myapps
    selectors:
      - namespace: myapp
        labels:
          app: myapp

cloudWatch:
  clusterLogging:
    enableTypes: ["api", "audit", "authenticator", "controllerManager", "scheduler"]

为什么没有出现 coredns 部署?

我确实在 kube-scheduler CloudWatch 日志中看到了这一点。

I0216 16:46:43.841076       1 factory.go:459] Unable to schedule kube-system/coredns-c79dcb98c-9pfrz: no nodes are registered to the cluster; waiting

我认为因此我无法通过 kubectl?

与我的集群通信
$ kubectl get pods
Unable to connect to the server: dial tcp 10.23.x.x:443: i/o timeout

当我使用配置文件部署 EKS 集群时,使用我们现有的 VPC 和仅私有端点,coredns 部署设置为在 EC2 节点上启动。当然,Fargate 没有 EC2 节点。我必须编辑 coredns 部署以使用 fargate 并重新启动部署。