kubeadm 升级 k8s 集群
升级 k8s 集群必须 先升级 kubeadm 版本到目的 k8s 版本, 也就是说 kubeadm 是k8s 升级的 ”准升证”。
所有服务器都升级版本
安装指定版本 kubeadm
Master上
查看 k8s 版本列表
apt-cache madison kubeadm
安装具体版本
apt-get install kubeadm=1.15.4-00
验证版本
kubeadm version
安装完1.15.4后可以查看到升级计划
kubeadm upgrade plan
开始升级
kubeadm upgrade apply v1.15.4
验证当前版本信息
kubeadm version
升级各 node 节点配置文件
kubeadm upgrade node config --kubelet-version 1.15.4
各 节点升级 kubelet 二进制包
apt-get install kubelet=1.15.4-00
各 节点升级 kubectl 二进制包
root@master:~# apt-get install kubectl=1.15.4-00 -y
各 节点升级 kubeadm二进制包
apt-get install kubectl=1.15.4-00 kubelet=1.15.4-00 kubeadm=1.15.4-00 -y
验证升级
kubectl get nodes
kubectl 常用命令操作示例
创建资源对象
- 名为AAA,--image=镜像名,--replicas=副本数
kubectl run AAA --image=nginx:1.12 --replicas=2
- 根据Deployment对象的yaml文件和Service对象的yaml文件
kubectl create -f AAA.yaml -f BBB.yaml
- 声明式配置
kubectl apply -f AAA.yaml -f BBB.yaml
查看资源对象
- 查看Namespace资源对象
kubectl get namespaces
- 查看Pod和Service对象
kubectl get pods,services -o wide
- 查看指定名字空间BBB,标签名AAA=aaa的Pod对象
默认创建的Pod加入到default名字空间中
kubectl get pods -l AAA=aaa -n BBB
每个资源对象都包含期望状态Spec和实际状态Status
4. 查看AAA名字空间中标签BBB=bbb并输出为yaml
格式
kubectl get pods -l BBB=bbb -o yaml -n AAA
- 子命令describe可以显示与当前对象相关的其他资源
kubectl describe pods -l AAA=aaa -n BBB
打印日志
打印名字空间为kube-system中pod对象为AAAA的日志,-f
选项可以持续输出
kubectl logs AAAA -n kube-system
容器中执行命令
名字空间BBB的AAA Pod对象运行ps命令
kubectl exec AAA -n BBB -- ps
删除资源对象
- 删除默认名字空间名为nginx-svc的Servcie资源对象
kubectl delete services nginx-svc
- 删除AAA名字空间中标签为BBB=bbb的所有Pod对象
kubectl delete pods -l BBB=bbb -n AAA
- 删除AAA名字空间内的所有Pod
kubectl delete pods --all -n AAA