利用ACS Engine建立Kubernetes集羣

轉載:https://www.cnblogs.com/magictwt/p/8638014.html  html


目前K8S已然是容器編排領域的事實標準了,在Azure上如何簡單快速的搭建和部署呢?node

下面咱們就來經過ACS Engine來試試吧,看多長時間能夠幫助用戶搭建一套K8S集羣。linux

首先安裝Azure CLI,三個平臺均支持,安裝連接以下:git

https://docs.azure.cn/zh-cn/cli/install-azure-cli?view=azure-cli-latest github

根據不一樣的平臺安裝對應版本的CLI。web

進入CLI後運行以下命令:(注意:複製以下命令時可能會由於""的中英文或全半角問題致使命令執行不成功,請修改爲英文"")json

az cloud set -n AzureChinaCloud  //切換至中國Azure區域api

az login   //按照提示內容登陸瀏覽器

az account listapp

az account set --subscription "dbf4a1eb-b792-4d82-a20f-544046bd26a8"

az group create -n yujunk8scluster -l chinanorth   //建立資源組

az ad sp create-for-rbac --role="Contributor" --scopes="/subscriptions/dbf4a1eb-b792-4d82-a20f-544046bd26a8/resourceGroups/yujunk8scluster"  //自動賦權

{

"appId": "20c6093b-95cf-4790-bb2f-9bcdb5ce374d",

"displayName": "azure-cli-2018-03-23-16-13-15",

"name": "http://azure-cli-2018-03-23-16-13-15",

"password": "a07bb02e-aed0-4e0e-8b55-6946c3ce4d86",

"tenant": "c8e577a6-1171-44ad-984a-176d2a34112b"

}

必定要記住以上信息,特別是APPID以及Password,後面須要使用

下載ACS Engine(能夠下載Windows, Linux及MAC版本,這裏以Linux爲例,版本也在不斷更新,若小夥伴們作實驗能夠看下是否有新版本發佈https://github.com/Azure/acs-engine/releases)

wget https://github.com/Azure/acs-engine/releases/download/v0.14.4/acs-engine-v0.14.4-li

nux-amd64.tar.gz

tar -zxvf acs-engine-v0.14.4-linux-amd64.tar.gz

cd acs-engine-v0.14.4-linux-amd64

下載一個K8S的Json模版

wget https://raw.githubusercontent.com/Azure/acs-engine/master/examples/kubernetes.json

在編輯K8S的模版以前有幾個準備工做須要確認

  1. 確認ACS Engine目前支持的版本,固然你若不填寫,默認會安裝最新版本

  2. SSH的公鑰,若沒有SSH公鑰,運行ssh-keygen -t rsa -b 2048 並拷貝~/.ssh/id_rsa.pub,cat id_rsa.pub 獲得公鑰,一下子複製到K8S的模版中

  3. 修改Location參數,即你須要部署的區域名稱

接下來就能夠nano kubernetes.json

{

"apiVersion": "vlabs",

"location":"chinanorth",           //部署集羣的區域

"properties": {

"orchestratorProfile": {

"orchestratorType": "Kubernetes"

},

"masterProfile": {

"count": 1,

"dnsPrefix": "yujunk8s",                 //名稱

"vmSize": "Standard_DS13"   //VM型號

},

"agentPoolProfiles": [

{

"name": "agentpool1",               //agent集羣名稱

"count": 4,                                         //agent數量

"vmSize": "Standard_DS13",   //VM型號

"availabilityProfile": "AvailabilitySet"

}

],

"linuxProfile": {

"adminUsername": "yujun",            // Linux用戶名

"ssh": {

"publicKeys": [

{

"keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzJ5ADwSgoCet2SaOkBYtaMOipvjZB/P5XBP+EeFurljTyRubQYPPBJ/RDn+05SXRinSUOMcmx59BLzvIqP9H7pUnB+braIA4AI9QDF0g98Ud5kVBMFRQhMmADc0GKo2fNn0qoRiiyDihUuO5O6SlIOLsURuu3AIRzmmopIESES14b3FaXurjzrvTjdPsErWPHHDJbJBuDr8cSYNtXXv+beEYWURZBB9xVYTDT/YiNzOYcNQ/WvQt6dsFKXme+LC6HsID5DU41JIDLO7kL1BP/8akTl4Ghm6I/mqGGzFeLkz7nBL0DlEXn2Lx212qtOR1IPfwlq2D4oOQWfoB7oKo3 root@YujunXu"                                            //id_rsa.pub key

}

]

}

},

"servicePrincipalProfile": {

"clientId": "65325438-be4c-4bf5-afd4-f675709b4254",       // appid

"secret": "ddf5c0f2-0033-47de-8ed5-4120c4004bb1"         //password

}

}

}

能夠基於我上面的模版更改。

注意:若不清楚帳號內哪些型號的VM能夠使用,用az vm list-skus -l chinanorth --output table 查詢當前區域可用VM型號

接下來就須要用ACS engine生成能夠在Azure平臺運行的ARM模版及K8S的資源及配置文件

./acs-engine generate kubernetes.json

等執行完成後進入_output目錄

cd _output/yujunk8s/

而後就能夠根據這些模版和配置文件在Azure上部署K8S集羣了

az group deployment create --name yujunk8sdeploy --resource-group k8scluster --template-file azuredeploy.json --parameters "@./azuredeploy.parameters.json"

若沒有報錯,等10分鐘左右便可完成部署

部署完成後咱們來看看集羣節點的狀態

export KUBECONFIG=kubeconfig/kubeconfig.chinanorth.json

kubectl get nodes

咱們再進入網頁看下K8S的portal

kubectl proxy

在瀏覽器裏輸入 http://127.0.0.1:8001/api/v1/namespaces/kube-system/services/http:kubernetes-dashboard:/proxy/#!/node?namespace=default

 

在Azure上建立K8S集羣就完成了,是否是很是方便快速呢~

轉載:https://www.cnblogs.com/magictwt/p/8638014.html

相關文章
相關標籤/搜索