​k8s常用命令 ​

本文详细介绍了Kubernetes的生命周期管理,包括创建、查看、发布、故障排查、更新、回滚和清理等操作,以及如何使用kubectl进行资源管理。此外,还讲解了Namespace、Pod、Service的创建实例,以及Deployment的使用方法,最后探讨了create和apply命令的异同点。
摘要由CSDN通过智能技术生成

生命周期管理

1. 创建

1. 创建资源

  • kubectl run

    • 创建并运行一个或多个容器镜像。
    • *创建一个deployment或job来管理容器*

语法:kubectl run NAME --image=image [--env="key=value"] [--port=port] [--replicas=replicas] [--dry-run=bool] [--overrides=inline-json] [--command] -- [COMMAND] [args...]

kubectl run nginx --replicas=3 --labels="app-nginx-example" --image=nginx:1.10 --port=80
  • kubectl create
kubectl create deployment nginx --image=nginx
# 根据yaml配置文件创建资源对象
kubectl create -f zookeeper.yaml
# 根据yaml配置文件一次创建Service和RC
kubectl create -f my-service.yaml -f my-rc.yaml
# 创建名称空间
kubectl create namespace bigdata
  • kubectl apply
kubectl apply deployment nginx --image=nginx
# 使用yaml文件创建资源
kubectl apply -f zookeeper.yaml

2. 标签操作

  • 查询标签
kubectl get nodes --show-labels
  • 添加****标签
# 为指定节点添加标签
kubectl label nodes nodeName labelName=value
# 为指定Pod添加标签
kubectl label pod podName -n nsName labelName=value
  • 修改****标签
# 修改节点标签值
kubectl label nodes nodeName
# 修改Pod标签值(需要overwrite参数)
kubectl label pod podName -n nsName labelName=value --overwrite
  • 删除****标签
# 为指定节点删除标签
kubectl label nodes nodeName labelName-
# 删除Pod标签
kubectl label pod podName -n nsName labelName-

2. 查看

# 查看集群状态
kubectl get cs

# 查看Pod
kubectl get pods
kubectl get pod
kubectl get po

# 查看指定名称Pod
kubectl get pod mynginx
kubectl get pod/mynginx

# 同时查看多个资源
kubectl get deploy,pods

# 查看Pod端口信息
kubectl get pod,svc

# 特定命名空间资源查看
kubectl get pods -n bigdata

# 查看所有命名空间下的pod信息
kubectl get pod --all-namespaces
kubectl get pods --A

# 获取Pod运行在哪个节点上的信息
kubectl get pod -o wide

# 显示Pod标签信息
kubectl get pods --show-labels

# 查看特定标签的Pod
kubectl get pods -l app=example

# 以JSON格式显示Pod的详细信息
kubectl get pod podName -o json

# 查看RS
kubectl get replicasets -o wide

# 查看Deployments
kubectl get deployments -o wide

# 查看ip和端口,也叫端点
kubectl get ep

# 查看事件
kubectl get ev
  • yaml方式
# 以yaml格式显示Pod的详细信息
kubectl get pod podName -o yaml
kubectl get pod -f pod.yaml
kubectl get pod -f pod1.yaml -f pod2.yaml

# 用get生成yaml文件
kubectl get deploy/nginx --export -o yaml > my-deploy2.yaml

# 查看资源子节点详情
kubectl explain pods.spec.containers

# 用run命令生成yaml文件,dry-run尝试运行,但不会生成,可用于检查语法错误
kubectl run nginx --image=nginx:latest --port=80 --replicas=3 --dry-run
# 尝试运行,并生成yaml文件
kubectl run nginx --image=nginx:latest --port=80 --replicas=3 --dry-run -o yaml > my-deploy.yaml

3. 发布

# 暴露端口
kubectl expose deployment nginx --port=80 --type=NodePort
kubectl expose deployment nginx --port=80 --type=NodePort --target-port=80 --name=nginx-service

# 输出为yaml文件(推荐)
kubectl expose deployment nginx --port=80 --type=NodePort --target-port=80 --name=web1 -o yaml > web1.yaml
kube
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值