k8s kubelet coredns ubuntu修改dns配置文件读取路径

kubelet 修改默认使用的dns配置文件

coredns服务默认使用节点上的dns配置,由于在Ubuntu18及以上版本,默认是启用systemd-resolved服务的,且配置nameserver配置文件默认为 /run/systemd/resolve/resolv.conf , 且kubelet默认的dns文件读取也是该文件。因不习惯使用该服务来管理dns配置,所以需要修改kubelet的默认读取dns的文件路径的配置。

查看服务状态

systemctl status systemd-resolved.service

修改kubelet配置,在/var/lib/kubelet/config.yaml文件中加入resolvConf: /etc/resolv.conf

# cat /var/lib/kubelet/config.yaml
apiVersion: kubelet.config.k8s.io/v1beta1
authentication:
  anonymous:
    enabled: false
  webhook:
    cacheTTL: 0s
    enabled: true
  x509:
    clientCAFile: /etc/kubernetes/pki/ca.crt
authorization:
  mode: Webhook
  webhook:
    cacheAuthorizedTTL: 0s
    cacheUnauthorizedTTL: 0s
cgroupDriver: systemd
clusterDNS:
- 10.96.0.10
clusterDomain: cluster.local
cpuManagerReconcilePeriod: 0s
evictionPressureTransitionPeriod: 0s
fileCheckFrequency: 0s
healthzBindAddress: 127.0.0.1
healthzPort: 10248
httpCheckFrequency: 0s
imageMinimumGCAge: 0s
kind: KubeletConfiguration
logging: {}
nodeStatusReportFrequency: 0s
nodeStatusUpdateFrequency: 0s
resolvConf: /etc/resolv.conf  #dns文件读取路径
rotateCertificates: true
runtimeRequestTimeout: 0s
shutdownGracePeriod: 0s
shutdownGracePeriodCriticalPods: 0s
staticPodPath: /etc/kubernetes/manifests
streamingConnectionIdleTimeout: 0s
syncFrequency: 0s
volumeStatsAggPeriod: 0s 
# 重启kubelet服务
# systemctl restart kubelet 

如果想在后续加入新节点时,将该配置文件的默认配置更改,可以在configmap中更改

# configmap后跟着的版本号,修改你最新的版本的号的configmap就行。
kubectl edit cm kubelet-config-1.21 -n kube-system

你可能感兴趣的:(kubernetes,kubelet,ubuntu)