Google K8S(Kubernetes)目前已經成為最多人採用容器管理調度平台,為了協助IT人員跟上腳步,本文將透過說明及實作,練習建構Kubernetes叢集運作環境,然後示範其中幾項重要的操作技巧,例如線上擴充或縮減容器的運作規模、使用Kubernetes儀表板等等,以便降低資料中心維運人員的管理負擔。
連線至Kubernetes叢集
現在,管理人員可以開始透過kubectl這個Kubernetes用戶端指令來管理Kubenetes叢集。首先,執行「az aks get-credentials」指令以便下載憑證並組態設定Kubernetes CLI以便使用。
在下列所執行的「az aks get-credentials --resource-group RG-USEast --name K8SCluster」指令中,將會於美國東部資料中心內RG-USEast資源群組中,所建立的K8SCluster的Kubernetes叢集下載憑證。
順利通過Kubernetes叢集驗證程序後,便可以執行「kubectl get nodes」指令,列出Kubernetes叢集中Node節點主機資訊。如圖11所示,可以看到在Kubernetes叢集共有3台Node節點主機,並且採用K8S v1.9.6版本。
|
▲圖11 下載Kubernetes叢集驗證用途的憑證後,接著查詢Node節點主機資訊。 |
新增Kubernetes部署和服務
在Kubernetes叢集運作架構中,建立容器與執行應用程式的方式與管理Docker容器大同小異。在本文實作環境中,將會先建立一個名稱為「azure-vote.yaml」的資訊清單檔案,在這個YAML檔案中將定義使用的容器及相關物件,在「Kubernetes部署」(K8S Deployments)的部分將會部署2個,首先是用於投票用途的Python應用程式,另一個則是快取用途的Redis執行個體。
Kubernetes部署的部分宣告完畢後,接著在「Kubernetes服務」(K8S Services)的部分也是2個,首先是負責外部服務投票用途的Python應用程式為前端,服務名稱是azure-vote-front,至於快取用途的Redis執行個體則是後端,服務名稱為azure-vote-back。
以下為指令碼azure-vote.yaml檔案的內容(詳細資訊請參考Quickstart - Azure Kubernetes cluster for Linux | Microsoft Docs):
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: azure-vote-back
spec:
replicas: 1
template:
metadata:
labels:
app: azure-vote-back
spec:
containers:
- name: azure-vote-back
image: redis
ports:
- containerPort: 6379
name: redis
---
apiVersion: v1
kind: Service
metadata:
name: azure-vote-back
spec:
ports:
- port: 6379
selector:
app: azure-vote-back
---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: azure-vote-front
spec:
replicas: 1
template:
metadata:
labels:
app: azure-vote-front
spec:
containers:
- name: azure-vote-front
image: microsoft/azure-
vote-front:v1
ports:
- containerPort: 80
env:
- name: REDIS
value: "azure-vote-back"
---
apiVersion: v1
kind: Service
metadata:
name: azure-vote-front
spec:
type: LoadBalancer
ports:
- port: 80
selector:
app: azure-vote-front