书籍来源:《CKA/CKAD应试指南:从Docker到Kubernetes完全攻略》
一边学习一边整理读书笔记,并与大家分享,侵权即删,谢谢支持!
附上汇总贴:Kubernetes认证考试自学系列 | 汇总_COCOgsta的博客-CSDN博客
有一点需要注意,在kubernetes集群安装好之后,kubectl命令都是在master上执行的。默认是不能使用Tab键的,需要设置一下。
步骤1:编辑/etc/profile,在第二行加上source <(kubectl completion bash)并使之生效。
[root@vms10 ~]# head -3 /etc/profile
# /etc/profile
source <(kubectl completion bash) # 新增,注意<和(之间是没有空格的
[root@vms10 ~]#
[root@vms10 ~]# source /etc/profile
[root@vms10 ~]#
复制代码
设置编辑器vim的属性。
步骤2:创建/root/.vimrc内容如下所示。
[root@vms10 ~]# cat.vimrc
set paste
[root@vms10 ~]#
复制代码
3.3.1 删除节点及重新加入
有时我们需要把kubernetes里的某个节点移除,重新添加其他节点。
步骤1:把vms12.rhce.cc设置为维护模式。
通过命令kubectl drain把节点设置为维护模式,会把已经在此节点上运行的pod驱逐到其点上运行。
[root@vms10 ~]# kubectl drain vms12.rhce.cc --delete-local-data --force --ignore-daemonsets
node/vms12.rhce.cc cordoned
... 输出 ...
node/vms12.rhce.cc evicted
[root@vms10 ~]#
复制代码
步骤2:删除这个节点。
[root@vms10 ~]# kubectl delete node vms12.rhce.cc
node "vms12.rhce.cc" deleted
[root@vms10 ~]#
[root@vms10 ~]# kubectl get nodes
NAME STATUS ROLES Ready AGE VERSION
vms10.rhce.cc Ready control-plane, master 18m v1.21.1
vms11.rhce.cc Ready <none> 16m v1.21.1
[root@vms10 ~]#
复制代码
步骤3:清空节点上的配置。
再次把vms12.rhce.cc加入集群,先用kubeadm reset清除vms12上kubernetes的设置。
[root@vms12 ~]# kubeadm reset
[reset] WARNING: changes made to this host by 'kubeadm init' or 'kubeadm join' will be reverted.
[reset] are you sure you want to proceed? [y/N]: y
...输出...
[root@vms12 ~]#
复制代码
步骤4:重新加入集群。
[root@vms12 ~]# kubeadm join 192.168.26.10:6443 --token w6v53s.16xt8ssokjuswlzx --discovery-token-ca-cert-hash sha256:6b19ba9d3371c0ac474e8e70569dfc8ac93c76fd841ac8df025a43d49d8cd860
...输出...
Run 'kubectl get nodes' on the master to see this node join the cluster.
[root@vms12 ~]#
复制代码
3.3.2 常见的一些命令
- 查看kubernetes集群信息
[root@vms10 ~]# kubectl cluster-info
Kubernetes master is running at https://192.168.26.10:6443
KubeDNS is running at https://192.168.26.10:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
[root@vms10 ~]#
复制代码
- 查看kubernetes版本
[root@vms10 ~]# kubectl version
Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.1",
...
Server Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.1",
[root@vms10 ~]#
复制代码
如果要看精简的信息,可以加上--short选项。
[root@vms10 ~]# kubectl version --short
Client Version: v1.21.1
Server Version: v1.21.1.
[root@vms10 ~]#
复制代码
- 查看kubernetes里所支持的api-version
[root@vms10 ~]# kubectl api-versions
admissionregistration.k8s.io/v1
...
storage.k8s.io/v1beta1
v1
[root@vms10 ~]#