上一章我們通過kubectl run簡單運行了一個.netcore網站,但實際的開發中,我們都是通過yaml來實現的。
1.編寫yaml文件
關於yaml文件的格式在此就不多描述了,不熟悉的可以去網上搜一下示例。
apiVersion: apps/v1beta2 #指定版本,支持的版本可以通過kubectl api-versions查詢
kind: Deployment #指定類型,這一次我們要創建一個Deployment
metadata: #元數據
name: cys-netcore #delpoyment的名稱,必須在deployment中保持唯一 spec: #deployment的詳細內容 replicas: 1 #副本數量 selector: #選擇器,選擇label中的app=cys-netcore的 matchLabels: app: cys-netcore template: metadata: labels: app: cys-netcore #指定一個label名為app,值為cys-netcore,對應上面的selector spec: containers: - name: cys-netcore #容器名 image: chenyishi/webdocker_s_provider #鏡像 ports: - containerPort: 1000 #暴漏的端口 env: #環境變量 - name: serverport value: "1000"
2.運行yaml
kubectl create -f netcore.yaml
我們可以查看創建出來的資源
我們可以查看一下我們指定的label
kubectl get pod cys-netcore-5ffd8bd66b-t5r5x --show-labels
我們也可以根據label查詢pod
kubectl get pod -l app=cys-netcore
3.滾動升級kubectl set
kubectl set命令可以執行滾動升級命令模板如下
kubectl set env deployment/cys-netcore serverport=1000 #kubectl set env deployment名 環境變量key=value
查看歷史版本
kubectl rollout history deployment.apps/cys-netcore
查看指定版本信息
kubectl rollout history deployment.apps/cys-netcore --revision=5
4.kubectl edit編輯更多信息
kubectl edit deploy/cys-netcore
打開文件后,編輯環境變量,保存退出,即可通過kubectl rollout history查看記錄
5.kubectl rollout undo回滾
kubectl rollout undo deploy/cys-netcore #回滾到上一版本
kubectl rollout undo deploy/cys-netcore --to-revision=2 #回滾到指定版本
6.擴容kubectl scale
kubectl scale deployment cys-netcore --replicas=2
7.自動擴容
kubectl autoscale deployment cys-netcore --min=10 --max=20 --cpu-precent=70
8.yaml創建service
創建配置文件
apiVersion: v1
kind: Service
metadata:
name: netcore-service labels: app: netcore spec: ports: - port: 1001 targetPort: 1000 selector: app: cys-netcore type: NodePort
kubectl create -f netcore-service.yaml
訪問測試
9.查看日志 kubectl logs
kubectl logs pod/cys-netcore-5ffd8bd66b-q4b7j
10.查看service的ip節點
kubectl get ep netcore-service