Kubernetes添加解析操作文档

1.首先在kube-system 命名空间创建configmap,添加自定义host解析

kubectl create configmap -n kube-system kubedns-host
#
#create configmap 指明创建的类型
# -n 指定命名空间
# kubedns-host 自定义的configmap 命名。(建议统一使用kubedns-host,方便维护)

2.查看是否创建成功

kubectl get configmaps -n kube-system

如果出现刚才创建的命名的configmap资源,则可进入下一步。

3.编辑添加自定义host解析

kubectl edit configmaps -n kube-system kubedns-host

在apiVersion: v1下添加如下格式数据:

data:
dnshost: |-
ip地址 域名

最终效果如图:

保存退出(注意格式对齐,不要使用tab缩进)

4.修改kube-system 命名空间下 kube-dns 的deployment资源

最快的方式 :

kubectl edit deployments -n kube-system  kube-dns

用搜索的方式,找到volumes

#1. # 键盘输入:/configMap 回车
#2. 在volumes下添加以下数据:(注意格式对齐)
- configMap:
  defaultMode: 420
  name: kubedns-host
  optional: true
name: kubedns-host

#3. 找到dnsmasq容器的args配置项,添加以下数据:
- --addn-hosts=/dns/dnshost
#4. 保存退出

5.杀掉原有的kube-dns pod,让它按新配置重启

先查看原来容器的名字

kubectl get po -n kube-system

例图:

干掉这两个:

kubectl delete po -n kube-system [name1] [ name2]
# 细节一点,最好同时杀掉,让两个同时重启
kubectl delete po -n kube-system kube-dns-7b6f774c5c-lfwfn kube-dns-7b6f774c5c-zjzhf

6.等待新启的kube-dns的状态为Running

当新启动的kube-dns 准备好之后,再进去容器里面ping一下看能不能ping通

进入容器指令:

 kubectl exec -it -n [命名空间] [容器名]  /bin/bash
#/bash无指令的话,用sh

能ping通证明成功!~

完结~

 
posted on 2023-06-09 12:07  Zarkの丸  阅读(82)  评论(0)    收藏  举报