容器-k8s常用指令

# 根据yaml文件更新,第一次创建时候也可以用,如果没有就创建,如果有了就更新

kubectl apply -f <文件名>

# 根据yaml文件部署/创建 如果之前已经创建过yaml,此时在使用create会报错,显示已存在

kubectl create -f <文件名>

# 根据yaml文件删除

kubectl delete -f <文件名>

# 查看k8s个组件的状态

kubectl get node,pod,svc

# 查看node详情

kubectl describe node <node名称>

# 查看pod详情

kubectl describe pod <pod名称>

# 查看service详情

kubectl describe svc <svc名称>

# 删除svc

kubectl delete svc <svc名称> -n <命名空间>

# 进入容器内部

kubectl exec -it <pod名称> -c <容器组空间> -n <命名空间> -- bash

# 容器拷贝文件到本地服务器

kubectl cp -n <命名空间> <pod名称>:/文件src /本地文件

#查看pod的一些状态 yaml的编码规则

kubectl explain pod.status

#查看所有pod

kubectl get pod -A

#进入pod

kubectl exec -ti 容器名 -n 命名空间 --sh

查开node/master信息(包括ip)

kubectl describe node node1

查看deployment信息

kubectl get deployment -n <namespace>

删除deployment配置 ###同时会删除该deployment下的pod

kubectl delete deployment <deployment名> -n <namespace>

查看node节点详情

#NAME为节点名称,需要跟主机名对上,STATUS为状态:Ready为正常,NotReady为不正常,ROLES为集群状态。control-plane为master,node为工作节点 AGE为创建时间 VERSION为各个节点的k8版本

[root@k8s-master1 ~/yaml] # kubectl get node NAME STATUS ROLES AGE VERSION k8s-master01 Ready control-plane 2d19h v1.28.2 k8s-master2 Ready control-plane 2d19h v1.28.2 k8s-master3 Ready control-plane 2d19h v1.28.2 k8s-node1 Ready <none> 2d19h v1.28.2 k8s-node2 Ready <none> 2d19h v1.28.2

#INTERNAL-IP为表示这个节点的ip, OS-IMAGE为系统,KERNEL-VERSION为内核版本,CONTAINER-RUNTIME为conrainer版本号

[root@k8s-master1 ~/yaml] # kubectl get node -owide NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME k8s-master01 Ready control-plane 2d19h v1.28.2 192.168.220.21 <none> CentOS Linux 7 (Core) 4.19.12-1.el7.elrepo.x86_64 containerd://1.6.25 k8s-master2 Ready control-plane 2d19h v1.28.2 192.168.220.22 <none> CentOS Linux 7 (Core) 4.19.12-1.el7.elrepo.x86_64 containerd://1.6.25 k8s-master3 Ready control-plane 2d19h v1.28.2 192.168.220.23 <none> CentOS Linux 7 (Core) 4.19.12-1.el7.elrepo.x86_64 containerd://1.6.25 k8s-node1 Ready <none> 2d19h v1.28.2 192.168.220.24 <none> CentOS Linux 7 (Core) 4.19.12-1.el7.elrepo.x86_64 containerd://1.6.25 k8s-node2 Ready <none> 2d19h v1.28.2 192.168.220.25 <none> CentOS Linux 7 (Core) 4.19.12-1.el7.elrepo.x86_64 containerd://1.6.25

#创建一个简单的nginx-pod,可以快捷启动,不需要写yaml文件,不加-n默认创建到default命名空间

kubectl create deployment nginx --image=nginx -n 命名空间

#查看创建的nginx

kubectl get deploy -n 命名空间

#已创建的deploy生成yaml文件

[root@k8s-master1 ~/yaml] # kubectl get deployment cluster-test -oyaml

#快捷生成一个2副本的nginx的yaml文件 只输出,不保存到本地。可以使用>输出到本地

[root@k8s-master1 ~/yaml] # kubectl create deployment nginx --image=nginx --replicas=2 --dry-run=client -oyaml

#删除一个deploy

kubectl delete deploy nginx -n 命名空间

#将yaml文件里面的nginx镜像改为nginx:v2.0 修改前注意看有没有nginx:v2.0,没有的话会起不来

kubectl set image deploy nginx nginx=nginx:v2.0

#直接修改nginx的yaml文件

[root@k8s-master1 ~/yaml] # kubectl edit deploy nginx

#查看pod日志 -f为追踪日志 --tail 10 为看后10行

[root@k8s-master1 ~/yaml] # kubectl logs -f nginx-7854ff8877-kmb6q --tail 10

#查看节点资源使用情况 也可以换成pod 查看pod的资源使用情况

[root@k8s-master1 ~/yaml] # kubectl top node NAME CPU(cores) CPU% MEMORY(bytes) MEMORY% k8s-master01 169m 8% 1210Mi 31% k8s-master2 183m 9% 1155Mi 30% k8s-master3 205m 10% 1116Mi 29% k8s-node1 70m 3% 905Mi 23% k8s-node2 64m 3% 597Mi 15%

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值