1. 程式人生 > 實用技巧 >k8s——命令式應用編排

k8s——命令式應用編排

1.部署應用(Pod)

  1) 建立Deployment控制器物件:

vim myapp-deployment.yaml

  內容如下:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  # 建立2個nginx容器
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80

  建立

kubectl apply -f nginx-deployment.yaml 

  檢視

Pods kubectl get pods / kubectl get deploymen  

  暴露出服務

kubectl expose deployment myapp-deployment --port=80 --type=LoadBalancer 

2.探查Pod及應用詳情

  1)檢視Pod物件的詳細描述

kubectl describe pods $POD_NAME

  2)檢視容器日誌

kubectl logs $POD_NAME

  3)在容器中執行額外的程式

kubctl exec $POD_NAME ps aux
kubectl -it exec /bin/sh    # 進入容器的互動式shell藉口

3.部署Service物件

  1)建立Service物件

kubectl expose deployments/myapp-deployment --type="NodePort" --port=80 --name=myapp    # 將myapp建立的Pod物件使用“NodePort”型別的服務暴露到叢集外部

  2)檢視Service資源物件的描述

kubectl describe services

4.擴容和縮容

  所謂“伸縮”(Scaling)就是指改變特定控制器上Pod副本數量的操作,“擴容(Scaling up)”即為增加副本數量,而“縮容”(scaling down)則意指縮減副本數量。

kubectl scale deployment/myapp-deployment --replicas=3    # 將myapp的Pod副本數量擴充套件為3個
kubectl get pods   # 檢視

5.修改及刪除物件

kubectl edit service myapp    # 修改service物件myapp的型別...
kubectl delete service myapp    # 刪除service物件的myapp
kubectl delete deployment --all    # 清空某一型別下的所有物件