以 Azure AKS 創建 K8s Cluster 並整合至 GitLab

在私人的試用帳號即將到期前,測試了用 Azure AKS 建立 K8s Cluster 並將之整合至 GitLab。本文僅紀錄本次的操作步驟。

操作步驟

事前動作,請先註冊並啟用 Azure。目前 Azure 有提供 30 天內 6,100 元的免費點數,想要試玩 Azure 的人,可以考慮申請並集中火力在 30 天內善用那 6,100 元點數。

(官網上的說明。)
brew install azure-cli
(安裝過程中,Homebrew 會自己去下載所需的檔案)
az version
az login
az account list-locations
az group create --name tryAKS --location eastasia
(Resource Group 創建成功,會得到如上圖的結果。)
az aks create \
--resource-group tryAKS \
--name tryAKSCluster \
--node-count 3 \
--generate-ssh-keys
az aks create \
--resource-group tryAKS \
--name tryAKSCluster \
--node-count 1 \
--generate-ssh-keys
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl"
az aks install-cli
az aks get-credentials --resource-group tryAKS --name tryAKSCluster
kubectl get nodes
kubectl cluster-info | grep -E 'Kubernetes master|Kubernetes control plane' | awk '/http/ {print $NF}'
kubectl get secrets
kubectl get secret <這裡要輸入正確的 Secret name> -o jsonpath="{['data']['ca\.crt']}" | base64 --decode
apiVersion: v1
kind: ServiceAccount
metadata:
name: gitlab
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: gitlab-admin
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: gitlab
namespace: kube-system
kubectl apply -f gitlab-admin-service-account.yaml
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep gitlab | awk '{print $1}')

結語

初次嘗試 Azure AKS,感覺使用起來也是挺方便的,但畢竟這次只是簡單嘗試讓 GitLab 整合 AKS 創建的 K8s Cluster,並沒有更深入了解 AKS 的功能,以及如何在 Azure 上管理 K8s Cluster 等議題。

參考資料

江湖藝名—艦長,熱衷研究維運及自動化相關技術,目標是未來能像畢凱艦長一樣用嘴巴叫所有主機做事!目前為 GitLab Hero、DevOps Taiwan 社群志工並自稱為 DevOps 傳教士。更多個人經歷 chengweichen.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store