目录
2.3 删除 Pod
怎么定义 Pod 就怎么删除。
kubectl delete pod pod4
#或
kubectl delete -f vmware-nginx.yaml
强制删除
kubectl delete pod vmware-nginx --force
参数说明
- kubectl delete:删除命令关键字。
- pod:指定资源类型 Pod。
- vmware-nginx:准备删除的 Pod 名。
- –force:表示强制删除。
2.4 修改 Pod
kubectl edit
命令无法在线修改 Pod 资源对象的属性。
(1)命令式创建的 Pod
命令式创建 Pod 的方法有两种:
kubectl run
创建kubectl create
创建
① kubectl run 命令创建 Pod
使用kubectl run
创建的 Pod 不支持修改。
② kubectl create 命令创建 Pod
kubectl create
命令创建 Pod 时也用到了 YAML 文件。
示例
通过 pod1.yaml 创建一个 Pod。
apiVersion: v1
kind: Pod
metadata:
creationTimestamp: null
labels:
run: pod1
name: pod1
spec:
containers:
- image: nginx
imagePullPolicy: IfNotPresent
name: pod1
resources: {}
dnsPolicy: ClusterFirst
restartPolicy: Always
status: {}
使用 kubectl create
命令创建 Pod。
kubectl create -f pod1.yaml
这时候我们计划将容器的镜像版本从 latest 降为 v1.7.9。先在 YAML 文件中修改镜像版本参数值
....
spec:
containers:
- image: nginx:1.7.9 # 修改镜像版本,其余配置不变。
....
使用 kubectl replace
命令更新 Pod。
kubectl replace -f pod1.yaml --force
这种先使用 kubectl create
命令,再使用 kubectl replace
命令的操作,称为命令式配置文件操作。
命令执行完成后,名为 pod1 的 Pod 会被删除后再新建。
(2)声明式创建的 Pod
由 kubectl apply 命令创建的 Pod,可以修改对应的 YAML 文件来修改 Pod中的参数。但不能修改metadata.name(Pod名),否则将重新创建一个新 Pod。
示例
通过 pod1.yaml 创建一个 Pod。
apiVersion: v1
kind: Pod
metadata:
creationTimestamp: null
labels:
run: pod1
name: pod1
spec:
containers:
- image: nginx
imagePullPolicy: IfNotPresent
name: pod1
resources: {}
dnsPolicy: ClusterFirst
restartPolicy: Always
status: {}
使用 kubectl apply
命令创建 Pod。
kubectl apply -f pod1.yaml
这时候我们计划将容器的镜像版本从 latest 降为 v1.7.9。先在 YAML 文件中修改镜像版本参数值
....
spec:
containers:
- image: nginx:1.7.9 # 修改镜像版本,其余配置不变。
....
再次使用 kubectl apply
命令更新 Pod。
kubectl apply -f pod1.yaml
命令执行完成后,名为 pod1 的 Pod 不会删除后再新建,也不会另外创建新 Pod。只会在原 Pod 基础上进行内部配置修改。
关联博客
关于 Pod 的创建,查询,修改,删除,访问容器以及故障排错。请跳转下面的博文: