Note
文件更新時間: 20230204 測試版本: 4.10.50
如何部署 Azure Red Hat OpenShift
因為現行 terraform module 尚未合併完成,且 ansible 針對 aro module 有點過期,故採用 ansible + azure cli
的方式部署
標準流程
(Requried) 準備 sa 帳號
準備 1 個 Service Priciple Account
(Optional) 準備 Domain Name
如果你沒有自己的 DNS 要套上來的話,可以跳過此步驟
若使用 Azure Red Hat OpenShift 想要獲得到以下 URL
- Web Console: https://console-openshift-console.apps.aro.aliez.tw/
- OpenShift API Service: api.aro.aliez.tw
需自備 DNS Domain,例如 aro.aliez.tw
,可以放置於 Azure DNS Zone 或者是其他 DNS 託管服務
安裝途中需使用下列指令獲得 OpenShift API Service 和 Web Console 會使用到的 ingressProfile
command.sh
az aro show -n $ARO_NAME -g $RESOURCE_GROUP --query "'{api:apiserverProfile.ip,ingress:ingressProfiles[0].ip}'"
output
$ az aro show -n one -g rg-aro-eastus --query '{api:apiserverProfile.ip, ingress:ingressProfiles[0].ip}'
{
"api": "x.x.x.x",
"ingress": "y.y.y.y"
}
當拿到這兩個 IP 的時候,則需要去 aro.aliez.tw
Zone 裡面填寫 2 個 A Record,要注意 Name 裡面內容都不能修改
Name | Type | TTL | Value |
---|---|---|---|
api | A Record | 3600 | x.x.x.x |
*.apps | A Record | 3600 | y.y.y.y |
這邊要注意 $ARO_NAME 並不會影響系統操作,他只是 Azure Resource Manager 上的一個名稱而已
查詢 kubeadmin 帳號
output
$ az aro list-credentials -n one -g rg-aro-eastus
{
"kubeadminPassword": "xxxx-yyyy-oooo-ffff",
"kubeadminUsername": "kubeadmin"
}
查詢 Web Console URL
command.sh
az aro show \
--name $CLUSTER \
--resource-group $RESOURCEGROUP \
--query "consoleProfile.url" -o tsv
output
$ az aro show --name one --resource-group rg-aro-eastus --query "consoleProfile.url" -o tsv
https://console-openshift-console.apps.aro.aliez.tw/
查詢 OpenShift API Server URL
command.sh
az aro show \
--name $CLUSTER \
--resource-group $RESOURCEGROUP \
--query "apiserverProfile.url" -o tsv
output
$ az aro show --name one --resource-group rg-aro-eastus --query "apiserverProfile.url" -o tsv
https://api.aro.aliez.tw:6443/
用 oc 登入 Azure Red Hat OpenShift
output
$ oc login https://api.aro.aliez.tw:6443/ --username kubeadmin
The server uses a certificate signed by an unknown authority.
You can bypass the certificate check, but any data you send to the server could be intercepted by others.
Use insecure connections? (y/n): y
Authentication required for https://api.aro.aliez.tw:6443 (openshift)
Username: kubeadmin
Password:
Login successful.
Tips
Load Balancer
預設狀況下會安裝 2 個 Azure Load Balancer,皆為 SKU: Standard / Tier: Regional
一個是對外,一個是對內