1、常见kubectl操作指令
python
// 获取k8s集群node信息
kubectl get nodes
// 描述一个node 信息
kubectl desctibe nodes NODE_NAME
// 描述所有pod信息
kubectl describe pods
// 查看namespace列表
kubectl get namespaces
// 创建namespace
kubectl create ns 命名空间名称
// 查看指定Pod信息
kubectl get pod podName
// 查看所有Pod
kubectl get pods --all-namespaces
// 查看Pod启动状态
kubectl describe pod podName
// 查看Pod日志信息
kubectl logs podName
// 创建对象
kubectl create -f xxx.yaml
// 删除对象
kubectl delete xxx.yaml
// 查看Pod启动yaml
kubectl get pod [-n namespace] podName -o yaml
// 给node打标签
kubectl label nodes nodeName
// 移除主机上的标签
kubectl label node k8s01 app-
// 添加主机标签
kubectl label node k8s02 app=tae-worker
// 查看当前所有node的标签
kubectl get nodes --show-labels
// 查看某个node的标签
kubectl describe node NodeName
//
2、容器复制文件
// 把主机目录文件拷贝到容器内
python
kubectl cp /主机目录/文件路径 podName:/容器路径/xxx.datasource -n namespaces
// 把容器内文件拷贝到主机目录
python
kubectl cp podName:容器路径/xxx.datasource /主机目录 -n namespaces
注意:从容器拷贝文件到主机的时候podName:这里不要加/ ,否则会报错
3、强制删除pod
k8s删除pod一直处于terminating状态,这种情况下可以使用强制删除命令:
python
kubectl delete pod [pod name] --force --grace-period=0 -n [namespace]
4、查看证书有效期限
python
kubeadm alpha certs check-expiration
5、查看kubectl日志
python
journalctl -xefu kubelet
journalctl -f -u kubelet
6、kubelet相关操作
python
systemctl status kubelet
systemctl daemon-reload
systemctl restart kubelet
systemctl stop kubelet
7、Master VS Node
1、master 只负责调度控制,对机器要求并不高
2、master 在不将自己当作node添加到master的情况下,master不会将pod调度到自己身上
3、node是实际工作的节点,根据实际要求,可能需要较高的配置
4、所有node节点都需要有docker、k8s环境(node部分)