Docker CoreDNS无法在Kubernetes群集中运行
我正在尝试设置Kubernetes群集,但无法运行CoreDNS。我已运行以下命令来启动群集:Docker CoreDNS无法在Kubernetes群集中运行,docker,kubernetes,ubuntu-16.04,coredns,Docker,Kubernetes,Ubuntu 16.04,Coredns,我正在尝试设置Kubernetes群集,但无法运行CoreDNS。我已运行以下命令来启动群集: sudo swapoff -a sudo sysctl net.bridge.bridge-nf-call-iptables=1 sudo kubeadm init mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube
sudo swapoff -a
sudo sysctl net.bridge.bridge-nf-call-iptables=1
sudo kubeadm init
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl apply -f "https://cloud.weave.works/k8s/net?k8s- version=$(kubectl version | base64 | tr -d '\n')"
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
要使用kubectl get PODs检查PODs——所有名称空间
,我需要
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-68fb79bcf6-6s5bp 0/1 CrashLoopBackOff 6 10m
kube-system coredns-68fb79bcf6-hckxq 0/1 CrashLoopBackOff 6 10m
kube-system etcd-myserver 1/1 Running 0 79m
kube-system kube-apiserver-myserver 1/1 Running 0 79m
kube-system kube-controller-manager-myserver 1/1 Running 0 79m
kube-system kube-proxy-9ls64 1/1 Running 0 80m
kube-system kube-scheduler-myserver 1/1 Running 0 79m
kube-system kubernetes-dashboard-77fd78f978-tqt8m 1/1 Running 0 80m
kube-system weave-net-zmhwg 2/2 Running 0 80m
所以CoreDNS不断崩溃。我能找到的唯一错误消息来自
/var/log/syslog
:
Oct 4 18:06:44 myserver kubelet[16397]: E1004 18:06:44.961409 16397 pod_workers.go:186] Error syncing pod c456a48b-c7c3-11e8-bf23-02426706c77f ("coredns-68fb79bcf6-6s5bp_kube-system(c456a48b-c7c3-11e8-bf23-02426706c77f)"), skipping: failed to "StartContainer" for "coredns" with CrashLoopBackOff: "Back-off 5m0s restarting failed container=coredns pod=coredns-68fb79bcf6-6s5bp_kube-system(c456a48b-c7c3-11e8-bf23-02426706c77f)"
从kubectl日志coredns-68fb79bcf6-6s5bp-n kube系统:
.:53
2018/10/04 11:04:55 [INFO] CoreDNS-1.2.2
2018/10/04 11:04:55 [INFO] linux/amd64, go1.11, eb51e8b
CoreDNS-1.2.2
linux/amd64, go1.11, eb51e8b
2018/10/04 11:04:55 [INFO] plugin/reload: Running configuration MD5 = f65c4821c8a9b7b5eb30fa4fbc167769
2018/10/04 11:04:55 [FATAL] plugin/loop: Seen "HINFO IN 3256902131464476443.1309143030470211725." more than twice, loop detected
我发现了一些解决问题的方法
kubectl -n kube-system get deployment coredns -o yaml | \
sed 's/allowPrivilegeEscalation: false/allowPrivilegeEscalation: true/g' | \
kubectl apply -f -
并修改/etc/resolv.conf
以指向实际的DNS,而不是本地主机,我也尝试过
这个问题在中有描述,我尝试了许多不同的Pod网络,但没有任何帮助
我已经多次运行了sudokubeadm重置和&rm-rf~/.kube/&&sudokubeadm init
我正在运行Ubuntu 16.04、Kubernetes 1.12和Docker 17.03。有什么想法吗?是的,你是对的。对这一问题进行了描述和讨论。解决方案是升级Docker、禁用SElinux或将
allowPrivilegeEscalation
修改为true
。
然而,今天我试图重现您的问题,但未能做到这一点。
为您提供命令和输出,可能会帮助您从一开始就创建一个工作版本
Docker版本17.03.2-ce,Kubernetes v1.12.0,Ubuntu 16.04,CoreDNS-1.2.2,在GCP中创建的实例
再过一分钟:
$kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system pod/coredns-576cbf47c7-6qbtq 1/1 Running 0 98s
kube-system pod/coredns-576cbf47c7-jr6hb 1/1 Running 0 98s
kube-system pod/etcd-kube-weave-master-1 1/1 Running 0 57s
kube-system pod/kube-apiserver-kube-weave-master-1 1/1 Running 0 47s
kube-system pod/kube-controller-manager-kube-weave-master-1 1/1 Running 0 49s
kube-system pod/kube-proxy-4p9l5 1/1 Running 0 98s
kube-system pod/kube-scheduler-kube-weave-master-1 1/1 Running 0 53s
kube-system pod/weave-net-z6mhw 2/2 Running 0 27s
Coredns吊舱说明:
kubectl describe pod/coredns-576cbf47c7-6qbtq -n kube-system
Name: coredns-576cbf47c7-6qbtq
Namespace: kube-system
Priority: 0
PriorityClassName: <none>
Node: kube-weave-master-1/10.154.0.8
Start Time: Fri, 05 Oct 2018 11:06:54 +0000
Labels: k8s-app=kube-dns
pod-template-hash=576cbf47c7
Annotations: <none>
Status: Running
IP: 10.32.0.3
Controlled By: ReplicaSet/coredns-576cbf47c7
Containers:
coredns:
Container ID: docker://db1712600b4c927b99063fa41bc36c3346c55572bd63730fc993f03379fa457b
Image: k8s.gcr.io/coredns:1.2.2
Image ID: docker-pullable://k8s.gcr.io/coredns@sha256:3e2be1cec87aca0b74b7668bbe8c02964a95a402e45ceb51b2252629d608d03a
Ports: 53/UDP, 53/TCP, 9153/TCP
Host Ports: 0/UDP, 0/TCP, 0/TCP
Args:
-conf
/etc/coredns/Corefile
State: Running
Started: Fri, 05 Oct 2018 11:06:57 +0000
Ready: True
Restart Count: 0
Limits:
memory: 170Mi
Requests:
cpu: 100m
memory: 70Mi
Liveness: http-get http://:8080/health delay=60s timeout=5s period=10s #success=1 #failure=5
Environment: <none>
Mounts:
/etc/coredns from config-volume (ro)
/var/run/secrets/kubernetes.io/serviceaccount from coredns-token-wp7tm (ro)
Conditions:
Type Status
Initialized True
Ready True
ContainersReady True
PodScheduled True
Volumes:
config-volume:
Type: ConfigMap (a volume populated by a ConfigMap)
Name: coredns
Optional: false
coredns-token-wp7tm:
Type: Secret (a volume populated by a Secret)
SecretName: coredns-token-wp7tm
Optional: false
QoS Class: Burstable
Node-Selectors: <none>
Tolerations: CriticalAddonsOnly
node-role.kubernetes.io/master:NoSchedule
node.kubernetes.io/not-ready:NoExecute for 300s
node.kubernetes.io/unreachable:NoExecute for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 23m (x12 over 24m) default-scheduler 0/1 nodes are available: 1 node(s) had taints that the pod didn't tolerate.
Normal Scheduled 23m default-scheduler Successfully assigned kube-system/coredns-576cbf47c7-6qbtq to kube-weave-master-1
Normal Pulled 23m kubelet, kube-weave-master-1 Container image "k8s.gcr.io/coredns:1.2.2" already present on machine
Normal Created 23m kubelet, kube-weave-master-1 Created container
Normal Started 23m kubelet, kube-weave-master-1 Started container
kubectl描述pod/coredns-576cbf47c7-6qbtq-n kube系统
名称:coredns-576cbf47c7-6qbtq
名称空间:kube系统
优先级:0
PriorityClassName:
节点:kube-weave-master-1/10.154.0.8
开始时间:2018年10月5日星期五11:06:54+0000
标签:k8s app=kube dns
pod模板哈希=576cbf47c7
注释:
状态:正在运行
IP:10.32.0.3
控制人:ReplicaSet/coredns-576cbf47c7
容器:
coredns:
容器ID:docker://db1712600b4c927b99063fa41bc36c3346c55572bd63730fc993f03379fa457b
图片:k8s.gcr.io/coredns:1.2.2
图像ID:docker-pullable://k8s.gcr.io/coredns@sha256:3E2BE1CEC87ACA0B74B7668BBE8C02964A95A402E45CEB51B22629D608D03A
端口:53/UDP、53/TCP、9153/TCP
主机端口:0/UDP、0/TCP、0/TCP
Args:
-形态
/etc/coredns/Corefile
状态:正在运行
开始时间:2018年10月5日星期五11:06:57+0000
准备好了吗
重新启动计数:0
限制:
内存:170英里
请求:
中央处理器:100米
内存:70英里
活跃度:http get http://:8080/运行状况延迟=60s超时=5s周期=10s#成功=1#失败=5
环境:
挂载:
/来自配置卷(ro)的etc/coredns
/coredns-token-wp7tm(ro)中的var/run/secrets/kubernetes.io/servicecount
条件:
类型状态
初始化为True
准备好了吗
集装箱准备好了吗
播客预定为真
卷数:
配置卷:
类型:ConfigMap(由ConfigMap填充的卷)
名称:coredns
可选:false
coredns-token-wp7tm:
类型:Secret(由Secret填充的卷)
SecretName:coredns-token-wp7tm
可选:false
QoS等级:Burstable
节点选择器:
容忍:关键的
节点角色.kubernetes.io/master:NoSchedule
node.kubernetes.io/not ready:NoExecute持续300秒
node.kubernetes.io/不可访问:不执行300秒
活动:
从消息中键入原因年龄
---- ------ ---- ---- -------
警告失败调度23m(x12超过24m)默认调度程序0/1节点可用:1个节点具有pod无法容忍的污染。
正常调度的23m默认调度程序已成功将kube system/coredns-576cbf47c7-6qbtq分配给kube-weave-master-1
正常拉动23m kubelet,kube-weave-master-1容器映像“k8s.gcr.io/coredns:1.2.2”已出现在机器上
普通创建23m kubelet,kube-weave-master-1创建容器
正常启动23m kubelet,kube-weave-master-1启动容器
另外,请提供kubeadm init--config config config.yaml使用的
config.yaml
,以便更好地理解指定配置文件位置的问题。我也有同样的问题
我通过删除coredns cm中的插件“循环”解决了这个问题。
但我不知道这云是否会引发其他问题
1、 kubectl编辑cm coredns-n kube系统
二,
3、 通过以下方式重新启动coredns吊舱:
kubectl删除吊舱coredns-n kube系统
通过使用以下方式进行了一定程度的解决:
kubectl编辑cm coredns-n kube系统
我认为简单地从Kubernetes中删除
循环
函数并不是一种干净的方法。实际上为解决此问题提供了一些指导原则$kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system pod/coredns-576cbf47c7-6qbtq 1/1 Running 0 98s
kube-system pod/coredns-576cbf47c7-jr6hb 1/1 Running 0 98s
kube-system pod/etcd-kube-weave-master-1 1/1 Running 0 57s
kube-system pod/kube-apiserver-kube-weave-master-1 1/1 Running 0 47s
kube-system pod/kube-controller-manager-kube-weave-master-1 1/1 Running 0 49s
kube-system pod/kube-proxy-4p9l5 1/1 Running 0 98s
kube-system pod/kube-scheduler-kube-weave-master-1 1/1 Running 0 53s
kube-system pod/weave-net-z6mhw 2/2 Running 0 27s
kubectl describe pod/coredns-576cbf47c7-6qbtq -n kube-system
Name: coredns-576cbf47c7-6qbtq
Namespace: kube-system
Priority: 0
PriorityClassName: <none>
Node: kube-weave-master-1/10.154.0.8
Start Time: Fri, 05 Oct 2018 11:06:54 +0000
Labels: k8s-app=kube-dns
pod-template-hash=576cbf47c7
Annotations: <none>
Status: Running
IP: 10.32.0.3
Controlled By: ReplicaSet/coredns-576cbf47c7
Containers:
coredns:
Container ID: docker://db1712600b4c927b99063fa41bc36c3346c55572bd63730fc993f03379fa457b
Image: k8s.gcr.io/coredns:1.2.2
Image ID: docker-pullable://k8s.gcr.io/coredns@sha256:3e2be1cec87aca0b74b7668bbe8c02964a95a402e45ceb51b2252629d608d03a
Ports: 53/UDP, 53/TCP, 9153/TCP
Host Ports: 0/UDP, 0/TCP, 0/TCP
Args:
-conf
/etc/coredns/Corefile
State: Running
Started: Fri, 05 Oct 2018 11:06:57 +0000
Ready: True
Restart Count: 0
Limits:
memory: 170Mi
Requests:
cpu: 100m
memory: 70Mi
Liveness: http-get http://:8080/health delay=60s timeout=5s period=10s #success=1 #failure=5
Environment: <none>
Mounts:
/etc/coredns from config-volume (ro)
/var/run/secrets/kubernetes.io/serviceaccount from coredns-token-wp7tm (ro)
Conditions:
Type Status
Initialized True
Ready True
ContainersReady True
PodScheduled True
Volumes:
config-volume:
Type: ConfigMap (a volume populated by a ConfigMap)
Name: coredns
Optional: false
coredns-token-wp7tm:
Type: Secret (a volume populated by a Secret)
SecretName: coredns-token-wp7tm
Optional: false
QoS Class: Burstable
Node-Selectors: <none>
Tolerations: CriticalAddonsOnly
node-role.kubernetes.io/master:NoSchedule
node.kubernetes.io/not-ready:NoExecute for 300s
node.kubernetes.io/unreachable:NoExecute for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 23m (x12 over 24m) default-scheduler 0/1 nodes are available: 1 node(s) had taints that the pod didn't tolerate.
Normal Scheduled 23m default-scheduler Successfully assigned kube-system/coredns-576cbf47c7-6qbtq to kube-weave-master-1
Normal Pulled 23m kubelet, kube-weave-master-1 Container image "k8s.gcr.io/coredns:1.2.2" already present on machine
Normal Created 23m kubelet, kube-weave-master-1 Created container
Normal Started 23m kubelet, kube-weave-master-1 Started container