k8s——命令式應用編排
阿新 • • 發佈:2020-11-21
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 # 清空某一型別下的所有物件