使用 YAML 文件来定义一个 kubernetes pod,然后再来定义一个 kubernetes deployment。
创建pod的yaml文件定义如下:
pod.yaml :
apiVersion: v1
kind: Pod
metadata:
name: kube100-site
labels:
app: web
spec:
containers:
- name: front-end
image: nginx
ports:
- containerPort: 80
- name: flaskapp-demo
image: jcdemo/flaskapp
ports:
- containerPort: 5000
定义deployment的yaml文件:
deployment.yaml :
apiVersion: apps/v1
kind: Deployment
metadata:
name: kube100-site
spec:
replicas: 2
selector:
matchLabels:
app: web
template:
metadata:
labels:
app: web
spec:
containers:
- name: front-end
image: nginx
ports:
- containerPort: 80
- name: flaskapp-demo
image: jcdemo/flaskapp
ports:
- containerPort: 5000
在k8s服务器后台执行下面的命令,分别进行pod和deployment的部署。
kubectl create -f pod.yaml
kubectl create -f deployment.yaml
[root@VM-0-15-linux ~/dctest]# kubectl get pods
NAME READY STATUS RESTARTS AGE
kube100-site 2/2 Running 0 3h9m
kube100-site-6b84fcc4cf-qfmm7 2/2 Running 0 3h1m
kube100-site-6b84fcc4cf-wmqx4 2/2 Running 0 3h1m
[root@VM-0-15-linux ~/dctest]# kubectl get deployments
NAME READY UP-TO-DATE AVAILABLE AGE
kube100-site 2/2 2 2 3h1m