K8S雲端快速試玩 動手打造容器叢集

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


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!