Kubernetes常用命令

发布于:2024-05-19 ⋅ 阅读:(181) ⋅ 点赞:(0)

一.资源管理办法

1.陈述式资源管理方法

(1)kubernetes 集群管理集群资源的唯一入口是通过相应的方法调用 apiserver 的接口

(2)kubectl 是官方的CLI命令行工具,用于与 apiserver 进行通信,将用户在命令行输入的命令,组织并转化为 apiserver 能识别的信息,进而实现管理 k8s 各种资源的一种有效途径

(3)kubectl 的命令大全
kubectl --help
k8s中文文档:http://docs.kubernetes.org.cn/683.html

(4)对资源的增、删、查操作比较方便,但对改的操作就不容易了
 

2.命令

(1)查看版本信息

kubectl version

(2)查看资源对象简写

kubectl api-resources

(3)查看集群信息 

kubectl cluster-info

(4)配置kubectl自动补全

vim /root/.bashrc
source <(kubectl completion bash)         #在底部添加

(5)node节点查看日志

journalctl -u kubelet -f
 
或者直接查看日志
 
cat /var/log/messages

3.基本信息查看

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的资源

(1)查看master节点状态

kubectl get componentstatuses
kubectl get cs

(2)查看命令空间命令

kubectl get namespace
kubectl get ns

(3)查看default命令空间的所有资源

kubectl get all [-n default]

(4)create创建命名空间

kubectl create ns kk
kubectl get ns

(5)delete删除命名空间

kubectl delete namespace kk
kubectl get ns

(6)在命名空间创建副本控制器启动pod

在命名空间kube-public创建副本控制器(deployment)来启动pod(nginx-cc)

kubectl create deployment nginx-cc --image=nginx -n kube-public

描述某个资源的详细信息

kubectl describe deployment nginx-cc -n kube-public
 
kubectl describe pod nginx-cc-df5946cf-c6r55 -n kube-public

(7)查看命名空间kube-public中的pod信息

kubectl get pods -n kube-public

(8)kubectl exec可以跨主机登录容器,docker exec 只能在容器所在主机上登录

kubectl exec -it nginx-cc-df5946cf-c6r55 bash -n kube-public

(9)重启(删除)pod资源

由于存在deployment/rc 之类的副本控制器,删除pod也会重新拉起来

kubectl delete pod nginx-cc-xxxxx -n kube-public

若pod无法删除,总是处于terminate状态,则要强行删除pod

kubectl delete pod <pod-name> -n <namespace> --force --grace-period=0
 
#grace-period表示过渡存活期,默认30s,在删除pod之前允许POD慢慢终止其上的容器进程,
从而优雅退出,0表示立即终止pod

网站公告

今日签到

点亮在社区的每一天
去签到