首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在使用vpc插件使用EKS eksctl创建集群后,在kubernetes荚中修复错误的/etc/rupv.conf?

如何在使用vpc插件使用EKS eksctl创建集群后,在kubernetes荚中修复错误的/etc/rupv.conf?
EN

DevOps用户
提问于 2021-12-07 14:05:05
回答 1查看 752关注 0票数 1

因此,我用eksctl,ClusterConfig在EKS中创建了一个kubernetes集群:

apiVersion: eksctl.io/v1alpha 5类: ClusterConfig

代码语言:javascript
复制
metadata:
  name: exchange-develop
  region: us-east-1
  version: '1.19'

managedNodeGroups:

  - name: custom-bootstrap
    labels:  
      worker: default
    instanceType: m5.large
    desiredCapacity: 2
    minSize: 2
    maxSize: 2
    ami: ami-00836a7940260f6dd
    tags:
      'k8s.io/cluster-autoscaler/enabled': 'true'
      'k8s.io/cluster-autoscaler/exchange-develop': 'owned'
    iam: 
     attachPolicyARNs:
        - arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy
        - arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy
        - arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly
        - arn:aws:iam::658464581062:policy/eks-csi-driver-policy
        - arn:aws:iam::aws:policy/ElasticLoadBalancingFullAccess
        - arn:aws:iam::658464581062:policy/ALBIngressControllerIAMPolicy
        - arn:aws:iam::658464581062:policy/ExternalDNSPlicy
        - arn:aws:iam::658464581062:policy/eks-cluster-autoscaler
    # maxPodsPerNode: 110
    overrideBootstrapCommand: |
      #!/bin/bash
      /etc/eks/bootstrap.sh exchange-develop --kubelet-extra-args '--node-labels=eks.amazonaws.com/sourceLaunchTemplateVersion=1,alpha.eksctl.io/cluster-name=exchange-develop,alpha.eksctl.io/nodegroup-name=custom-bootstrap,eks.amazonaws.com/nodegroup-image=ami-00836a7940260f6dd,eks.amazonaws.com/capacityType=ON_DEMAND,eks.amazonaws.com/nodegroup=custom-bootstrap,worker=default,eks.amazonaws.com/sourceLaunchTemplateId=lt-0dae52a718d4ba6e5 --max-pods=110' --b64-cluster-ca $B64_CLUSTER_CA --apiserver-endpoint $API_SERVER_URL --dns-cluster-ip $K8S_CLUSTER_DNS_IP --use-max-pods false



availabilityZones: ['us-east-1c', 'us-east-1d']

iam:
  withOIDC: true

vpc:
  cidr: 10.10.0.0/16
  clusterEndpoints:
    publicAccess: true
    privateAccess: true

addons:
- name: vpc-cni
  version: '1.10.1'
  attachPolicyARNs:
    - arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy

然后,我可以看到pod IP与vpc cidr不同,在用Velero从另一个开发集群恢复所有内容之后,就没有DNS解析,所以在检查任何pod中的/etc/resolv.conf内容时,内容如下:

代码语言:javascript
复制
nameserver 10.10.0.2
search ec2.internal
options timeout:2 attempts:5

在检查dns-服务终结点时:

代码语言:javascript
复制
NAME             TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)         AGE
kube-dns         ClusterIP   172.20.0.10              53/UDP,53/TCP   21h

端点:

代码语言:javascript
复制
Name:         kube-dns
Namespace:    kube-system
Labels:       eks.amazonaws.com/component=kube-dns
              k8s-app=kube-dns
              kubernetes.io/cluster-service=true
              kubernetes.io/name=CoreDNS
Annotations:  endpoints.kubernetes.io/last-change-trigger-time: 2021-12-06T19:38:03Z
Subsets:
  Addresses:          10.10.34.2,10.10.61.97
  NotReadyAddresses:  
  Ports:
    Name     Port  Protocol
    ----     ----  --------
    dns-tcp  53    TCP
    dns      53    UDP

Events:  
EN

回答 1

DevOps用户

回答已采纳

发布于 2021-12-10 13:45:38

相关问题:https://github.com/awslabs/amazon-eks-ami/issues/636

因此,没有指定--dns-cluster-ip--b64-cluster-ca--apiserver-endpoint解决了DNS问题。

最后引导命令:

代码语言:javascript
复制
  /etc/eks/bootstrap.sh exchange-develop --kubelet-extra-args '--node-labels=eks.amazonaws.com/sourceLaunchTemplateVersion=1,alpha.eksctl.io/cluster-name=exchange-develop,alpha.eksctl.io/nodegroup-name=custom-ami-bootstrap-ssh,eks.amazonaws.com/nodegroup-image=ami-0082fe83ca6d7cf7d,eks.amazonaws.com/capacityType=ON_DEMAND,eks.amazonaws.com/nodegroup=custom-bootstrap,worker=default --max-pods=110' --use-max-pods false
票数 1
EN
页面原文内容由DevOps提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://devops.stackexchange.com/questions/15086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档