kubernetes 常見問題整理

使用kubectl 命令是報錯

報錯:node

[root@k8s-master ~]# kubectl get pod
The connection to the server localhost:8080 was refused - did you specify the right host or port?

緣由: 因爲使用kubeadm安裝的k8s ,因此須要使用 kubernetes-admin 來運行。nginx

解決方法:  (若是admin.conf沒有就從k8s-master上copy一份到當前節點)docker

[root@k8s-master ~]# export KUBECONFIG=/etc/kubernetes/admin.conf
[root@k8s-master ~]# kubectl get pod
No resources found.
[root@k8s-master ~]# kubectl get node
NAME         STATUS   ROLES    AGE   VERSION
k8s-master   Ready    master   46h   v1.14.0
[root@k8s-master ~]#

#也能夠編輯 ~/.bash_profile,, 若是使用的是 zsh 那就編輯 ~/.zshrc
添加內容
export KUBECONFIG=/etc/kubernetes/admin.conf
使其生效
source ~/.bash_profile 若是是zsh source ~/.zshrc

 

用kubeadm 增長節點的方法::有時 忘記token 或 token過時,以及查看 --discovery-token-ca-cert-hash 的方法

#查看當前存在的token
[root@k8s-master testnginx]# kubeadm token list
TOKEN                     TTL       EXPIRES                     USAGES                   DESCRIPTION                                                EXTRA GROUPS
uf2c4g.n7ibf1g8gxbkqz2z   22h       2019-04-03T15:28:40+08:00   authentication,signing   The default bootstrap token generated by 'kubeadm init'.   system:bootstrappers:kubeadm:default-node-token

#生成新的token
[root@k8s-master testnginx]# kubeadm token create
hpvhe4.rbapeoum7utj55cr

#再次查看已有的token 發現多了一個
[root@k8s-master testnginx]# kubeadm token list
TOKEN                     TTL       EXPIRES                     USAGES                   DESCRIPTION                                                EXTRA GROUPS
hpvhe4.rbapeoum7utj55cr   23h       2019-04-03T16:41:06+08:00   authentication,signing   <none>                                                     system:bootstrappers:kubeadm:default-node-token
uf2c4g.n7ibf1g8gxbkqz2z   22h       2019-04-03T15:28:40+08:00   authentication,signing   The default bootstrap token generated by 'kubeadm init'.   system:bootstrappers:kubeadm:default-node-token

#查看 --discovery-token-ca-cert-hash 方法
[root@k8s-master testnginx]# openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null |    openssl dgst -sha256 -hex | sed 's/^.* //'
f01892c96cee8d02c373e34bed3a45c8f3f9888fdd19767e706ec09e8fb9c893

#因爲我是用來測試 因此刪掉這個token
[root@k8s-master testnginx]# kubeadm token delete hpvhe4.rbapeoum7utj55cr
bootstrap token with id "hpvhe4" deleted

#查看token是否刪除成功
[root@k8s-master testnginx]# kubeadm token list
TOKEN                     TTL       EXPIRES                     USAGES                   DESCRIPTION                                                EXTRA GROUPS
uf2c4g.n7ibf1g8gxbkqz2z   22h       2019-04-03T15:28:40+08:00   authentication,signing   The default bootstrap token generated by 'kubeadm init'.   system:bootstrappers:kubeadm:default-node-token
[root@k8s-master testnginx]#

 

node節點反覆安裝報錯

報錯: cni.go:259] Error adding network: failed to set bridge addr: "cni0" already has an IP address different from 10.16.2.1/24bootstrap

解決:在Node上執行以下操做:重置kubernetes服務,重置網絡。刪除網絡配置,linkbash

kubeadm reset
systemctl stop kubelet
systemctl stop docker
rm -rf /var/lib/cni/
rm -rf /var/lib/kubelet/*
rm -rf /etc/cni/
ifconfig cni0 down
ifconfig flannel.1 down
ifconfig docker0 down
ip link delete cni0
ip link delete flannel.1

 

 

 

 

 

 

 

qingfeng網絡

相關文章
相關標籤/搜索