[云原生] [kubernetes] K8S常用命令-阿里云开发者社区

简介

常见操作

安装k8s

卸载k8s


# 在卸载K8s组件前,先执行kubeadm reset命令,清空K8s集群设置卸载管理组件
kubeadm reset
# 卸载管理组件
yum erase -y kubelet kubectl kubeadm kubernetes-cni

# docker 全部清理
docker rm $(docker ps -a -q)
docker rmi $(docker images -q)

# docker 重启
systemctl daemon-reload
systemctl restart docker
systemctl stop docker service

节点操作

删除节点

# 首先驱逐要删除节点(假设节点名为k8s-node1)上的pods(master节点执行)
kubectl drain k8s-node1 --delete-local-data --force --ignore-daemonsets
# 然后执行删除(master节点执行)
kubectl delete node k8s-node1
# 最后在删除的节点机器上执行
kubeadm reset

添加节点
添加新节点需要在原master节点获取token和hash值

# 获取token(在master节点执行)
kubeadm token create    # 有效期24小时
# 生成永久token命令: kubeadm token create --ttl 0
# 查看token
kubeadm token list

# 获取hash值(在master节点执行)
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'

# 加入集群(在新节点机器上执行)
kubeadm join $ip:$port --token $token_value --discovery-token-ca-cert-hash  sha256:$hash_value
# 其中
# $ip 为master节点ip地址
# $port 为k8s端口号,通常为6443
# $token_value 为上面生成的token值
# $hash_value 为上面生成的hash值

重启NotReady节点

# 一、 master节点直接在对应节点重启kubelet服务
systemctl restart kubelet

# 二、slave节点
# 1. 设置节点为不可调度状态(在master节点执行)
kubectl cordon nodename
# 2. 驱逐节点上pods(在master节点执行)
kubectl drain nodename --delete-local-data --force --ignore-daemonsets
# 3. 重启服务(在对应节点机器上执行)
systemctl restart kubelet
# 4. 恢复节点为可调度状态(在master节点执行)
kubectl uncordon nodename

pod 操作

--------------- 查看节点信息 ---------------
kubectl describe nodes <nodeName>

# 创建Pod
--------------- 创建Pod ---------------
kubectl apply -f pod.yaml
# 创建nginx
kubectl run nginx --image=nginx

--------------- 查看Pod ---------------
# 查看在活动Pod
kubectl get pods
kubectl get pod,svc

# 查看在所有Pod
kubectl get pods -A
# 查看有Pod描述/日志
kubectl describe pod <Pod名称>

# 查看日志:
kubectl logs <Pod名称> [-c CONTAINER]
kubectl logs <Pod名称> [-c CONTAINER] -f


--------------- 查看Pod ---------------
# 进入容器终端:
kubectl exec <Pod名称> [-c CONTAINER] --bash

--------------- 删除Pod ---------------

kubectl delete <Pod名称>
kubectl delete pods <pod> --grace-period=0 --force
kubectl delete pod <your-pod-name> -n <name-space> --force --grace-period=0

其他遇到问题总结

参考资料 & 致谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值