歡迎光臨
每天分享高質量文章

Google Kubernetes Engine(GKE)使用初探 | Linux 中國

本文只是一個入門指南,主要指導能快速開始上手基於 Google Cloud Platform 的 GKE 服務(k8s 託管服務)。
— Qhh0205


致謝
轉載自 | https://blog.csdn.net/qianghaohao/article/details/79945821
 作者 | Qhh0205

概述

Google 的 k8s 在 2017 年已經從容器編排領域的競爭中取得主導地位,從 Docker[1] 之前的一度排擠到最終完全擁抱 k8s,顯然 k8s 已經成了目前業界的標準。

但是到目前為止能提供 k8s 完全託管服務的雲服務商少之又少,即便是目前在雲提供商有統治力的 AWS 也沒有完全提供 k8s 託管服務,僅僅提供有限的定製服務,在這一方面並不成熟。

然而 Google 的 k8s 託管服務,即 GKE,卻將 k8s 託管服務做到了極致(至少目前看來),不僅提供了全套的 k8s 託管服務,更引人註目的是 Google 已然將 Autoscaler 和 k8s 整合,實現了 k8s 節點的自動伸縮機制,能根據 pod 的需求自動化新增或刪除節點,當現有節點無法承載新的服務時會自動新增節點來滿足需求,當現有節點足夠空閑時會啟用調節機制自動化收縮節點,從某種意義上來說這幾乎做到了無伺服器的理念。

然而這也許只是冰山一角,更多強大的功能還需要進一步探索,本文只是一個入門指南,主要指導能快速開始上手基於 Google Cloud Platform 的 GKE[2] 服務(k8s 託管服務)。

GKE 入門指南

接下來我們一步步指引如何使用 GKE 來部署服務,前提是對 k8s 有所瞭解,能簡單使用 kubectl 命令。

1. 安裝並配置 Google Cloud SDK 

Google Cloud SDK 是 訪問 GCP(Google Cloud Platform)平臺各種資源的命令列工具集,類似 aws 的 aws 命令列工具。 

安裝和配置就不多說了,點選下麵連結選擇相應作業系統版本的 tar 包下載,然後解壓,在 PATH 環境變數中新增 google-cloud-sdk/bin 即可: 

https://cloud.google.com/sdk/?hl=zh-cn 

2. 初始化 Google Cloud SDK 

初始化 Google Cloud SDK 是將 gcloud 命令和 Google 賬號系結起來並設定一些其他的預設值,比如區域,代理,賬號,專案(Google 賬號中新建的專案)之類的。

在執行 gcloud init 初始化之前得先給 gcloud 配置 HTTP 代理(GFW 你懂得),具體配置見我之前這篇文章[4]。然後執行 gcloud init 完成初始化,直接根據嚮導來即可。 

3. 到 Google Cloud Platform 控制檯建一個 k8s 叢集,記住名稱

 

4. 安裝 gcloud kubectl 元件 

  1. gcloud components install kubectl 

5. 獲取群集的身份驗證憑據 

建立群集後,您需要獲取身份驗證憑據以與群集進行互動。要為叢集進行身份驗證,請執行以下命令: 

  1. gcloud container clusters get-credentials  

6. 接下來部署一個簡單的 hello-server 服務到 GKE

  1. kubectl run hello-server --image gcr.io/google-samples/hello-app:1.0 --port 8080

相關連結

◈ https://cloud.google.com/kubernetes-engine/docs/quickstart 
◈ https://cloud.google.com/sdk/docs/quickstart-macos?hl=zh-cn

附錄

gloud 常用命令

  1. gcloud auth login --no-launch-browser # gcloud 登入認證

  2. gcloud config set compute/zone [COMPUTE_ZONE] # 設定預設區域

  3. gcloud components list # 列出可安裝元件

  4. gcloud components install [元件名稱] # 安裝元件

  5. gcloud components update  # 更新所有已安裝元件

  6. gcloud components remove [元件名稱] # 解除安裝已安裝元件

設定 gcloud http 代理

  1. gcloud config set proxy/type http

  2. gcloud config set proxy/address 127.0.0.1

  3. gcloud config set proxy/port 1087

設定叢集 docker 私服認證

  1. kubectl create secret docker-registry regcred --docker-server=<your-registry-server> --docker-username=<your-name> --docker-password=<your-pword> --docker-email=<your-email>

註意:設定 docker 私服後,要在 GKE 部署 k8s 服務,必須得在 k8s 資源檔案(yaml 格式)中的 container 
同一級指定 imagePullSecrets 鍵,要不然仍然無法拉取配置的私服的映象,示例資源檔案如下:

  1. apiVersion: v1

  2. kind: Pod

  3. metadata:

  4.  name: private-reg

  5. spec:

  6.  containers:

  7.  - name: private-reg-container

  8.    image: <your-private-image>

  9.  imagePullSecrets:

  10.  - name: regcred

檢視叢集 docker 私服配置

  1. kubectl get secret regcred --output=yaml      #base64 格式 顯示

  2. kubectl get secret regcred --output="jsonpath={.data.\.dockerconfigjson}" | base64 -d # base64

贊(0)

分享創造快樂