天天看點

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

繼續閱讀