上一章我們通過kubectl run簡單運行了一個.netcore網站,但實際的開發中,我們都是通過yaml來實現的。 1.編寫yaml文件 關於yaml文件的格式在此就不多描述了,不熟悉的可以去網上搜一下示例。 2.運行yaml 我們可以查看創建出來的資源 我們可以查看一下我們指定的label 我 ...
上一章我們通過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