生命周期管理
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