國內不fq安裝K8S一: 安裝docker
國內不fq安裝K8S二: 安裝kubernet
國內不fq安裝K8S三: 使用helm安裝kubernet-dashboard
國內不fq安裝K8S四: 安裝過程當中遇到的問題和解決方法node
(1) Kubernetes Pod錯誤ErrImagePull?
兩種辦法:
1 直接docker pull gcr.azk8s.cn/XXX,而後tag成gcr.io/XXX或其餘的便可解決。
2 編輯pod的配置
kubectl edit deployment tiller-deploy -n kube-system
找到相應的源地址,如"gcr.io/kubernetes-helm/tiller"替換成亞馬遜的地址"gcr.azk8s.cn/kubernetes-helm/tiller"便可git
(2) kube-proxy有一個成功開啓了ipvs另外一個沒有成功開啓ipvs
有多是有一個節點的下面這條命令沒執行好github
$ cat > /etc/sysconfig/modules/ipvs.modules <<EOF #!/bin/bash modprobe -- ip_vs modprobe -- ip_vs_rr modprobe -- ip_vs_wrr modprobe -- ip_vs_sh modprobe -- nf_conntrack_ipv4 EOF chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack_ipv4
(3) 節點上要運行其餘程序,不能關閉swap
修改kubernet的配置是同樣的:
在/etc/sysctl.d/k8s.conf後添加docker
vm.swappiness=0
使生效api
sysctl -p /etc/sysctl.d/k8s.conf
修改/etc/sysconfig/kubelet加入bash
KUBELET_EXTRA_ARGS=--fail-swap-on=false
(4)node上多網卡致使的報錯
"E0110 23:48:52.242726 1 main.go:127] Failed to create SubnetManager: error retrieving pod spec for 'kube-system/kube-flannel-ds-xbbqs': Get https://10.96.0.1:443/api/v1/namespaces/kube-system/pods/kube-flannel-ds-xbbqs: dial tcp 10.96.0.1:443: i/o timeout"
修改kube-flannel.yml添加"--iface=ens32"一句指定網卡app
...... containers: - name: kube-flannel image: quay.io/coreos/flannel:v0.11.0-amd64 command: - /opt/bin/flanneld args: - --ip-masq - --kube-subnet-mgr - --iface=ens32 ......
詳見:flannel issues 39701: https://github.com/kubernetes/kubernetes/issues/39701
(5)helm報,各類 "TILLER: dial tcp 10.96.0.1:443: i/o timeout"
有多是多個問題致使的這個錯誤,個人錯誤是docker-ce19.03.1再也不kubernet的支持列表中致使的。所以我更換了docker版本解決的。
若是是其餘問題,能夠經過執行"kubectl logs XXX -n XXnamespaceXX"和"kubectl describe pod XXXXX -n XXX"定位curl
(6)kubelet啓動的時提示masked
systemctl unmask kubelet.servicetcp
(7)token忘了或者過時
解決辦法以下:
https://blog.csdn.net/weixin_44208042/article/details/90676155
查看全部pod的信息:
kubectl get pod --all-namespaces -o wide
查看system的pod
kubectl get pod -n kube-system
查看一個pod的錯誤信息
kubectl describe pod coredns-5c98db65d4-djt9j --namespace=kube-system
刪除一個pod(其實普通的刪除等於重啓)
kubectl delete po <your-pod-name> -n <name-space> --force --grace-period=0 kubectl delete po tiller-deploy-7bf78cdbf7-cr5mj -n kube-system --force --grace-period=0
修改部pod的配置:
``bash
kubectl edit deployment tiller-deploy -n kube-system
查看日誌:
bash
kubectl logs -f coredns-5c98db65d4-mp6vg -n kube-system
查看全部節點:
bash
kubectl get nodes
```
tty到一個已經運行的pod中
kubectl attach curl-6bf6db5c4f-btwbm -it
帶label查看節點:
kubectl get nodes --show-labels
給節點打label
kubectl label node kub1 node-role.kubernetes.io/edge=
青蛙小白:https://blog.frognew.com/2019/07/kubeadm-install-kubernetes-1.15.html
掘金:http://www.javashuo.com/article/p-dktomktw-hs.html
安裝Kubernetes節點: http://www.javashuo.com/article/p-xwornlwm-de.html
helm dashboard: https://mp.weixin.qq.com/s/S9OvZa7oW7qo_9m4OznVtA
k8s基礎知識: https://www.jianshu.com/p/95c2bc74e2b2?utm_source=oschina-app
官網:https://yeasy.gitbooks.io/docker_practice/content/opensource/
亞馬遜集成環境:https://github.com/Azure/container-service-for-azure-china