kubernets创建Pod的三种方式
方法1. 通过yaml文件部署或创建pod[root@xxxxx]# vi test.yaml# 填入下面内容:apiVersion: v1kind: Podmetadata:name: web-applabels:role: approlespec:containers:- name: web-app-contimage: nginxports:- name: web-app-portconta
·
方法1. 通过yaml文件部署或创建pod
[root@xxxxx]# vi test.yaml
# 填入下面内容:
apiVersion: v1
kind: Pod
metadata:
name: web-app
labels:
role: approle
spec:
containers:
- name: web-app-cont
image: nginx
ports:
- name: web-app-port
containerPort: 80
protocol: TCP
在yaml中完善pod配置信息后,
创建pod:
[root@xxxxx ~]# kubectl apply -f pod.yaml
pod/web-app created
注意:-f 表示指定yaml文件
kubectl apply也可以换为kubectl create(下文将二者区别)
查看pod:
[root@xxxxx ~]# kubectl get pods | grep -i web-app
web-app 1/1 Running 0 26s
删除pod:
[root@xxxxx ~]# kubectl delete pod web-app
pod "web-app" deleted
方法2: 通过json文件部署或创建pod
利用mv命令将上面的pod.yaml文件重命名为pod.json文件即可
[root@xxxxx ~]# mv pod.yaml pod.json
之后的创建、查看和删除pod的命令与yaml相同
方法3:利用kubectl命令部署或创建Pod
kubectl create deployment <pod_name> --image=<image_name>
此处示例,创建名为web-app的pod,image为nginx:
[root@xxxxx ~]# kubectl create deployment web-app --image=nginx
deployment.apps/web-app created
之后的查看、删除pod命令与yaml方法中介绍的一致。
apply和create的区别:
(1)kubectl create: 用于创建新的pod,之前没有的,如果之前已存在,会报错,因为资源名在命名空间中唯一。
例如:
kubectl create -f pod.xml
pod/myapp-pod created
kubectl create -f pod.xml
Error from server (AlreadyExists): error when creating “pod.xml”: pods “myapp-pod” already exists
(2)kubectl apply 用于将配置应用于资源,如果资源原先不存在,会被创建,如果资源已经存在,则将配置应用于现有资源。该命令可二次运行
例如,再次运行上述pod.xml时:
kubectl apply -f pod.xml
pod/myapp-pod created
kubectl apply -f pod.xml
pod/myapp-pod unchanged
参考:
更多推荐
已为社区贡献1条内容
所有评论(0)