天天看点

K8S 创建 Deployment

Deployment 介绍

是一种Pod控制器(有很多种控制器),是一种无状态服务(可以部署web微服务),具有上线部署,滚动升级、创建副本、回滚到以前某一版本(成功/稳定)等功能

Deployment 包含 ReplicaSet,除非需要自定义升级功能或者根本不需要升级 Pod,否则还是建议使用 Deployment 而不直接使用 ReplicaSet

K8S 创建 Deployment

一、通过命令行创建

1、创建 

kubectl run nginx --image=nginx --replicas=2
           

nginx:应用名称

--replicas:指定应用运行的 pod 副本数

--image:使用的镜像(默认从dockerhub拉取)

2、查看 deployment

[[email protected] yaml]# kubectl get deployment 或者 kubectl get deploy
NAME    READY   UP-TO-DATE   AVAILABLE   AGE
nginx   2/2     2            2           19m
           

3、查看 replicaset

[[email protected] yaml]# kubectl get replicaset 或者 kubectl get rs
NAME               DESIRED   CURRENT   READY   AGE
nginx-5578584966   2         2         2       18m
           

 4、查看 pod

[[email protected] yaml]# kubectl get pods -o wide
NAME                     READY   STATUS    RESTARTS   AGE   IP           NODE    NOMINATED NODE   READINESS GATES
nginx-5578584966-m7fcz   1/1     Running   0          45s   10.244.2.5   node2   <none>           <none>
nginx-5578584966-nmffb   1/1     Running   0          45s   10.244.1.4   node1   <none>           <none>
           

二、通过 yaml 资源清单文件创建

1、创建文件 

vim deploy-nginx.yaml

# 文件内容
apiVersion: apps/v1
kind: Deployment
metadata:
 name: nginx-app
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 80
           

2、创建

kubectl apply -f deploy-nginx.yaml
           

三、删除 Deployment

1、通过 命令行创建的

kubectl delete deploy nginx
           

2、如果 资源清单文件创建的,除了命令行方法,还可以这样删除

kubectl delete -f deploy-nginx.yaml
           
k8s

继续阅读