kubedns-coredns部署pod出现not ready问题
文章目录遇到的问题1、发现问题2、排查问题3、解决方法coredns的实例health_check不通过的问题,排查和解决方法遇到的问题1、发现问题pod启动但是未ready查看是readiness失败使用对应的URL进行curl,发现真的返回5032、排查问题查看错误日志,发现一堆这个错误"waiting on : kubernetes"网上相关的问题解答这个跟测试场景不一样,这个案例是开了防火
·
coredns的实例health_check不通过的问题,排查和解决方法
遇到的问题
1、发现问题
pod启动但是未ready
查看是readiness失败
使用对应的URL进行curl,发现真的返回503
2、排查问题
查看错误日志,发现一堆这个错误"waiting on : kubernetes"
网上相关的问题解答
这个跟测试场景不一样,这个案例是开了防火墙,可以确认我这个案例的机器没有开防火墙,但它提醒了一点,coredns是需要访问apiserver的,因此我做了抓包
coredns在访问apiserver时出现以上的错误,客户端不信任服务端的证书
出现这种情况可能有
- 客户端获取到不是apiserver的证书,这个通过抓包可以确认目标地址
- 自签名证书问题,其他组件没有出现这个问题
- 客户端访问的域名与证书的DNS域名不匹配(最大可能)
3、解决方法
在coredns的yaml指定访问的域名和绑定域名对应的IP
spec:
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 1
selector:
matchLabels:
k8s-app: kube-dns
template:
metadata:
labels:
k8s-app: kube-dns
spec:
priorityClassName: system-cluster-critical
serviceAccountName: coredns
...
hostAliases: # DNS绑定
- ip: "10.199.202.16"
hostnames:
- "k8s.justin.com"
containers:
- name: coredns
image: coredns/coredns:1.8.6
imagePullPolicy: IfNotPresent
env:
- name: KUBERNETES_SERVICE_HOST
value: "k8s.justin.com" # 域名
...
apply配置,work
更多推荐
已为社区贡献1条内容
所有评论(0)