但是到目前為止能提供k8s 完全託管服務的雲端服務商少之又少,即便是目前在雲端供應商有統治力的AWS 也沒有完全提供k8s 託管服務,僅僅提供有限的客製化服務,在這一方面並不成熟。
然而Google 的k8s 託管服務,即GKE,卻將k8s 託管服務做到了極致(至少目前看來),不僅提供了全套的k8s 託管服務,更引人注目的是Google 已將Autoscaler 和k8s 集成,實現了k8s 節點的自動伸縮機制,能根據pod 的需求自動化添加或刪除節點,當現有節點無法承載新的服務時會自動添加節點來滿足需求,當現有節點足夠空閒時會啟用調節機制自動化收縮節點,從某種意義上來說這幾乎做到了無伺服器的理念。
然而這也許只是冰山一角,更多強大的功能還需要進一步探索,本文只是一個入門指南,主要指導能快速開始上手基於 Google Cloud Platform 的 GKE 服務(k8s 託管服務)。
接下來我們一步步指引如何使用 GKE 來部署服務,前提是對 k8s 有所了解,能簡單使用 kubectl 指令。
Google Cloud SDK 是 存取 GCP(Google Cloud Platform)平台各種資源的命令列工具集,類似 aws 的 aws 命令列工具。
安裝和設定就不多說了,點擊下面連結選擇對應作業系統版本的 tar 套件下載,然後解壓縮,在 PATH 環境變數中加入 google-cloud-sdk/bin 即可
初始化 Google Cloud SDK 是將 gcloud 命令和 Google 帳號綁定起來並設定一些其他的預設值,例如區域,代理,帳號,項目(Google 帳號中新建的項目)之類的。
在執行 gcloud init 初始化之前得先給 gcloud 配置 HTTP 代理(GFW 你懂得),具體配置見我之前這篇文章。然後執行 gcloud init 完成初始化,直接根據精靈來即可。
gcloud components install kubectl
建立群集後,您需要取得身分驗證憑證以與群集進行互動。若要為叢集進行身份驗證,請執行下列命令:
gcloud container clusters get-credentials <上一步创建的集群名称>
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
gcloud auth login --no-launch-browser # gcloud 登录认证 gcloud config set compute/zone [COMPUTE_ZONE] # 设置默认区域 gcloud components list # 列出可安装组件 gcloud components install [组件名称] # 安装组件 gcloud components update # 更新所有已安装组件 gcloud components remove [组件名称] # 卸载已安装组件
gcloud config set proxy/type http gcloud config set proxy/address 127.0.0.1 gcloud config set proxy/port 1087
kubectl create secret docker-registry regcred --docker-server= --docker-username= --docker-password= --docker-email=
注意:设置 docker 私服后,要在 GKE 部署 k8s 服务,必须得在 k8s 资源文件(yaml 格式)中的 container
同一级指定 imagePullSecrets 键,要不然仍然无法拉取配置的私服的镜像,示例资源文件如下:
apiVersion: v1 kind: Pod metadata: name: private-reg spec: containers: - name: private-reg-container image: imagePullSecrets: - name: regcred
kubectl get secret regcred --output=yaml #base64 格式 显示 kubectl get secret regcred --output="jsonpath={.data.\.dockerconfigjson}" | base64 -d # base64
以上是初識Google Kubernetes Engine(GKE)的詳細內容。更多資訊請關注PHP中文網其他相關文章!