2016-07-09 15 views
4

仍然遇到了類似的問題1.3.0和1.4.0高達-alpha.0Kubernetes創建空serviceaccount容器和沒有標記,導致容器崩潰並重新啓動

在我的情況(搬運工基於建立) ,可信任或kubedns將從api服務器獲得未經授權的許可。

,並奇怪我看到祕密不存在的情況下,內,雖然看起來/var/run/secrets/kubernetes.io/serviceaccount

[[email protected] ... ]# kubectl exec -it kube-dns-v13-htfjo ls /bin/sh 
/# 
/# ls /var/run/secrets/kubernetes.io/serviceaccount 
/# 

他們是在節點和路徑下代理實例

tmpfs on /var/lib/kubelet/pods/3de53b0c-45bb-11e6-9f03-08002776167a/volumes/kubernetes.io~secret/default-token-8axd8 type 
tmpfs on /var/lib/kubelet/pods/3de5591e-45bb-11e6-9f03-08002776167a/volumes/kubernetes.io~secret/default-token-8axd8 type 
tmpfs on /var/lib/kubelet/pods/f29f35c7-45cc-11e6-9f03-08002776167a/volumes/kubernetes.io~secret/default-token-ql88q type 
  • 刪除祕密和刪除莢然後重建他們沒有任何影響
  • UNM後重新啓動集羣記帳&刪除文件夾也沒有效果

當然,這會導致kubedns無法啓動。登錄以下

I0709 09:04:11.578816  1 dns.go:394] Received DNS Request:kubernetes.default.svc.cluster.local., exact:false 
I0709 09:04:11.578873  1 dns.go:427] records:[], retval:[], path:[local cluster svc default kubernetes] 
I0709 09:04:11.579657  1 dns.go:394] Received DNS Request:kubernetes.default.svc.cluster.local., exact:false 
I0709 09:04:11.579677  1 dns.go:427] records:[], retval:[], path:[local cluster svc default kubernetes] 
E0709 09:04:11.786646  1 reflector.go:216] pkg/dns/dns.go:128: Failed to list *api.Service: serializer for text/html; charset=utf-8 doesn't exist 
E0709 09:04:11.786995  1 reflector.go:216] pkg/dns/dns.go:127: Failed to list *api.Endpoints: serializer for text/html; charset=utf-8 doesn't exist 
I0709 09:04:12.488674  1 dns.go:145] Ignoring error while waiting for service default/kubernetes: serializer for text/html; charset=utf-8 doesn't exist. Sleeping 1s before retrying. 
E0709 09:04:12.879701  1 reflector.go:216] pkg/dns/dns.go:128: Failed to list *api.Service: serializer for text/html; charset=utf-8 doesn't exist 
E0709 09:04:12.880000  1 reflector.go:216] pkg/dns/dns.go:127: Failed to list *api.Endpoints: serializer for text/html; charset=utf-8 doesn't exist 
I0709 09:04:13.582561  1 dns.go:145] Ignoring error while waiting for service default/kubernetes: serializer for text/html; charset=utf-8 doesn't exist. Sleeping 1s before retrying. 

回答

5

這一次似乎仍然是開放的錯誤

https://github.com/kubernetes/kubernetes/issues/26943

,工程解決方法是添加rslave選項在kubelet安裝像--volume =在/ var/lib中/ kubelet:/ var/lib/kubelet:rw,rslave如下所示。

該解決方案也取決於平臺。閱讀錯誤報告中的註釋。

## Start kubernetes master 
sudo docker run \ 
--volume=/:/rootfs:ro \ 
--volume=/sys:/sys:ro \ 
--volume=/var/lib/docker/:/var/lib/docker:rw \ 
**--volume=/var/lib/kubelet:/var/lib/kubelet:rw,rslave** \ 
--volume=/var/run:/var/run:rw \ 
--net=host \ 
--privileged=true \ 
--pid=host \ 
-d \ 
gcr.io/google_containers/hyperkube-amd64:${K8S_VERSION} \ 
/hyperkube kubelet \ 
    --allow-privileged=true \ 
    --api-servers=http://localhost:8080 \ 
    --v=2 \ 
    --address=0.0.0.0 \ 
    --enable-server \ 
    --hostname-override=127.0.0.1 \ 
    --config=/etc/kubernetes/manifests-multi \ 
    --containerized \ 
    --cluster-dns=10.0.0.10 \ 
    --cluster-domain=cluster.local 
相關問題