在k8s中部署第一个应用

在k8s中部署第一个应用

1.编写应用配置文件

nginx-deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
        name: nginx-deployment
spec:
        selector:
                matchLabels:
                        app: nginx
        replicas: 2
        template:
                metadata:
                        labels:
                                app: nginx
                spec:
                        containers:
                        - name: nginx
                          image: nginx:1.8
                          ports:
                          - containerPort: 80
                          volumeMounts:
                          - mountPath: "/usr/share/nginx/html"
                            name: nginx-vol
                        volumes:
                        - name: nginx-vol
                          emptyDir: {}

这样一个yaml文件对应到k8s中就是一个API对象,这个API对象的类型是Deployment。Deployment是一个定义多副本应用(多个副本Pod)的对象,此外Deployment还负责在Pod定义发生变化时对每个副本进行滚动更新。在此例中Deployment扮演Pod的控制器角色。Deployment会把所有正在运行,携带spec.selector.matchLabels字段的值的Pod识别为其要管理的对象。spec.selector.matchLabels一般称为 Label Selector。

template是用来定义Pod的模板,此例中Pod中只有一个容器nginx:1.8,Pod是k8s世界里的"应用运行单元",而一个应用运行单元可以由多个Pod组成。

2.创建API对象

sudo kubectl create -f nginx-deployment.yaml

查看Pod状态:

kubectl get pods -l app=nginx

查看Pod 详情:

kubectl describe pod nginx-deployment-9754ccbdf-6tcqd

3.修改Api对象配置文件并应用

修改过后执行如下命令:

sudo kubectl apply -f nginx-deployment.yaml

4.删除Api对象

kubectl delete -f nginx-deployment.yaml
原文地址:https://www.cnblogs.com/yanshaoshuai/p/15814816.html