文章目录
Kubernetes常用命令
资源管理办法
陈述式资源管理方法
查看版本信息
kubectl version
查看资源对象简写
kubectl api-resources
查看集群信息
kubectl cluster-info
配置kubectl自动补全
source <(kubectl completion bash)
注意:此时命令补全功能切换环境后是不生效的,如果要使切换环境后也生效需要配置全局环境变量
vim /etc/bashrc
.....
source <(kubectl completion bash) #在底部添加
source /etc/bashrc
node节点查看日志
journalctl -u kubelet -f
或者直接查看日志
cat /var/log/messages
K8S核心组件日志怎么看
kubeadm部署的 kubectl logs -f pod 组件名 -n kube-system 或者journalctl -u kubelet -f
二进制部署的 journalctl -u kubelet -f #对应节点
基本信息查看
kubectl get <resource> [-o wide | json | yaml] [-n namespace]
- 获取资源的相关信息, -n指定命令空间, -o指定输出格式
- resource可以是具体资源名称,如pod nginx -xxx;也可以是资源类型,如pod; 或者all (仅展示几种核心资源,并不完整)
- –all-namespaces 或-A :表示显示所有命令空间
- –show-labels :显示所有标签
- -l app:仅显示标签为app的资源
- -l app=nginx :仅显示包含app标签, 且值为nginx的资源
查看master 节点状态
kubectl get componentstatuses
kubectl get cs
查看命令空间
命令空间的作用:用于允许不同 命令空间的相同类型的资源重名
kubectl get namespace
kubectl get ns
查看default命令空间的所有资源
kubectl get all [-n default]
create 创建命名空间
kubectl create ns yan
kubectl get ns
delete 删除命名空间
kubectl delete ns yan
kubectl get ns
在命名空间创建无状态控制器启动Pod
例:在命名空间kube-public 创建副本控制器( deployment) 来启动Pod (nginx-yun)
kubectl create deployment nginx-yun --image=nginx -n kube-public
描述某个资源的详细信息
kubectl get pods -n kube-public
kubectl describe deployment nginx-yun -n kube-public
kubectl describe pod nginx-yun-546d5454d7-vvlm8 -n kube-public
查看命名空间kube-public中的pod信息
kubectl get pods -n kube-public
kubectl exec 登录容器
kubectl exec可以跨主机登录容器,docker exec 只能在容器所在主机上登录
kubectl exec -it nginx-yun-546d5454d7-vvlm8 bash -n kube-public
重启(删除)pod资源
由于存在deployment/rc之类的副本控制器,删除pod也会重新拉起来
kubectl delete pod nginx-yun-546d5454d7-vvlm8 -n kube-public
若pod无法删除,总是处于terminate状态, 则要强行删除pod
kubectl delete pod <pod-name> -n <namespace> --force --grace-period=0
#grace-period表示过渡存活期,默认30s,在删除pod之前允许POD慢慢终止其上的容器进程,
从而优雅退出,0表示立即终止pod
扩容缩容
语法 : 命令字 操作指令 主控制器 pod—name 副本集数量 -n 名称空间
kubectl scale deployment nginx-yun --replicas=3 -n kube-public #调整副本集
kubectl scale deployment nginx-yun --replicas=1 -n kube