摘要:年月發布的的第二個里程碑版本,支持用戶在創建集群時添加自定義節點。在本例中,我們將使用全部三種角色可以到達容器的地址應該是自解的,將連接到該端點。
Rancher是一個開源的全棧化企業級容器管理平臺,用戶在Rancher可視化界面上以點選的方式,即可一鍵完成所有容器基礎設施(網絡、存儲、負載均衡等)的對接與部署,確保容器在任何基礎架構上(公私有云、虛擬機、物理機等)無縫運行。只需簡單直觀的操作,即可搞定在生產環境中使用容器的一切工作。
從Rancher 2.0開始,Rancher中的每個集群都將基于Kubernetes。用戶可以充分利用Kubernetes的強大性能及其迅速壯大的生態系統,而通過Rancher平臺上基于Kubernetes的、簡單直觀的用戶體驗,Rancher 2.0將加快Kubernetes在企業中的普及。
2018年2月發布的Rancher 2.0 的第二個里程碑版本Tech Preview 2,支持用戶在創建RKE集群時添加自定義節點。用戶可以通過運行生成的docker run命令啟動rancher/agent容器,或通過將SSH連接到該節點來添加自定義節點(已經配置了Linux操作系統和Docker的節點)。在本文中,我們將演示如何使用docker run命令自動生成命令以添加節點。
注意:Rancher 2.0現階段發布版本均為技術預覽,尚不適合用于生產環境,建議您不要將您的生產工作負載放在上面。
要 求
● 運行Linux和Docker的主機
● 安裝了JSON實用程序jq,以解析API響應
● sha256sum二進制文件,用于計算CA證書校驗和
啟動Rancher Server
在執行任何操作之前,我們首先需要啟動rancher / server容器。Rancher 2.0 Tech Preview 2的鏡像是rancher/server:preview。從1.6到2.0的一個變化是,我們不再公開端口8080。相反,我們公開端口80和443,其中,80默認重定向到443。您可以按如下方式啟動容器:
docker run -d -p 80:80 -p 443:443 rancher/server:preview
如果您希望此設置的數據持久存在,您可以將主機卷安裝到/ var / lib / rancher,如下所示:
docker run -d -p 80:80 -p 443:443 -v /data:/var/lib/rancher rancher/server:preview
登錄并創建API密鑰
在Rancher 1.x中,默認情況下沒有啟用認證。啟動rancher/server容器后,用戶無需任何憑據就可以訪問API / UI。在Rancher 2.0中,我們用默認用戶名和密碼管理來啟用身份驗證。登錄后,我們將獲得一個不記名的token,我們可以用它來更改密碼。更改密碼后,我們將創建一個API密鑰以執行其他請求。API密鑰也是一個不記名token,我們稱其為用于自動化目的的自動化。
登 錄
Login
LOGINRESPONSE=curl -s "https://127.0.0.1/v3-public/l..." -H "content-type: application/json" --data-binary "{"username":"admin","password":"admin"}" --insecure
LOGINTOKEN=echo $LOGINRESPONSE | jq -r .token
更改密碼(將密碼改為thisisyournewpassword)
Change password
curl -s "https://127.0.0.1/v3/users?ac..." -H "content-type: application/json" -H "Authorization: Bearer $LOGINTOKEN" --data-binary "{"currentPassword":"admin","newPassword":"thisisyournewpassword"}" --insecure
創建API密鑰
Create API key APIRESPONSE=`curl -s "https://127.0.0.1/v3/token" -H
"content-type: application/json" -H "Authorization: Bearer
$LOGINTOKEN" --data-binary
"{"type":"token","description":"automation"}" --insecureExtract and store token APITOKEN=echo $APIRESPONSE | jq -r .token`
創建集群
生成API密鑰匙后,就可以開始創建集群了。創建集群時,您有3個選項:
● 啟動一個云集群(谷歌Kubernetes Engine/GKE)
● 創建一個集群(用我們自己的Kubernetes安裝程序,Rancher Kubernetes Engine)
● 導入現有集群(如果您已經有了Kubernetes集群,則可以通過從該集群插入kubeconfig文件導入)
拿本文來說,我們將使用Rancher Kubernetes Engine (rke)創建一個集群。當您創建一個集群時,可以選擇在創建集群時直接創建新節點(通過從像DigitalOcean / Amazon這樣的云提供商創建節點)或使用已存在的節點,并讓Rancher用SSH憑證連接到節點。我們在本文中討論的方法(通過運行docker run命令添加節點)僅在創建集群之后才可用。
您可以使用以下命令創建集群(您的新集群)。如您所見,此處僅包含參數ignoreDockerVersion(忽略Kubernetes不支持的Docker版本)。其余的將是默認的,我們將會在后續文章中討論。在此之前,您可以通過UI發現可配置選項。
Create cluster
CLUSTERRESPONSE=curl -s "https://127.0.0.1/v3/cluster" -H "content-type: application/json" -H "Authorization: Bearer $APITOKEN" --data-binary
"{"type":"cluster","nodes":[],"rancherKubernetesEngineConfig":{"ignoreDockerVersion":true},"name":"yournewcluster"}"
--insecure Extract clusterid to use for generating the docker run command CLUSTERID=echo $CLUSTERRESPONSE | jq -r .id
運行這些代碼之后,您應該在UI中看到您的新集群了。由于沒有添加節點,集群狀態將是“等待節點配置或等待有效配置”。
組裝docker run命令以啟動rancher/agent
添加節點的最后一部分是啟動rancher/agent容器,該容器將把節點添加到集群中。為此,我們需要:
● 與Rancher版本耦合的代理鏡像
● 節點(etcd和/或控制面板和/或工作人員)
● 可以到達rancher/server容器的地址
● 代理所使用的加入集群的集群token
● CA證書的校驗和
可以從API的設置端點檢索代理鏡像:
AGENTIMAGE=curl -s -H "Authorization: Bearer $APITOKEN" https://127.0.0.1/v3/settings... --insecure | jq -r .value
節點的角色,您可以自己決定。(在本例中,我們將使用全部三種角色):
ROLEFLAGS="--etcd --controlplane --worker"
可以到達rancher/server容器的地址應該是自解的,rancher/agent將連接到該端點。
RANCHERSERVER="https://rancher_server_address"
集群token可以從創建的集群中檢索。我們在 CLUSTERID中保存了創建的clusterid,隨后可以用它生成一個token。
Generate token (clusterRegistrationToken)
AGENTTOKEN=curl -s "https://127.0.0.1/v3/clusterr..." -H "content-type: application/json" -H "Authorization: Bearer $APITOKEN"
--data-binary "{"type":"clusterRegistrationToken","clusterId":""$CLUSTERID""}"
--insecure | jq -r .token
生成的CA證書也存儲在API中,并可以按如下所示進行檢索,這時可以添加sha256sum來生成我們需要加入集群的校驗和。
Retrieve CA certificate and generate checksum CACHECKSUM=curl -s -H "Authorization: Bearer $APITOKEN"
https://127.0.0.1/v3/settings... --insecure | jq -r .value |
sha256sum | awk "{ print $1 }"
加入集群所需的所有數據現在都可用,我們只需組裝該命令。
Assemble the docker run command AGENTCOMMAND="docker run -d
--restart=unless-stopped -v /var/run/docker.sock:/var/run/docker.sock --net=host $AGENTIMAGE $ROLEFLAGS --server $RANCHERSERVER --token $AGENTTOKEN --ca-checksum $CACHECKSUM"
Show the command echo
$AGENTCOMMAND
最后一個命令(echo $AGENTCOMMAND)應該是這樣的。
docker run -d --restart=unless-stopped -v
/var/run/docker.sock:/var/run/docker.sock --net=host
rancher/agent:v2.0.2 --etcd --controlplane --worker --server
https://rancher_server_address --token
xg2hdr8rwljjbv8r94qhrbzpwbbfnkhphq5vjjs4dfxgmb4wrt9rpq --ca-checksum
3d6f14b44763184519a98697d4a5cc169a409e8dde143edeca38aebc1512c31d
在節點上運行此命令后,您應該可以看到它加入了集群并由Rancher進行配置。
Protip:這些token也可以直接用作基本身份驗證,例如:
curl -u $APITOKEN https://127.0.0.1/v3/settings --insecure
結 語
希望這篇文章能夠幫助您實現Rancher 2.0 Tech Preview 2自動化的第一步。Rancher 2.0 Tech Preview 3即將發布,敬請保持關注!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/32626.html
摘要:里程碑更新支持添加自定義節點此次更新之前的版本只支持和,而如今的最新版本,用戶可以在創建集群時添加了自定義節點了。連接成功后,將按照用戶指定的角色所指示的方式為該節點安裝相應的組件。 Rancher是一個開源的全棧化企業級容器管理平臺,用戶在Rancher可視化界面上以點選的方式,即可一鍵完成所有容器基礎設施(網絡、存儲、負載均衡等)的對接與部署,確保容器在任何基礎架構上(公私有云、虛...
摘要:而用戶能在同一平臺上管理任何集群,輕松地充分利用的強大能力及其迅速壯大的生態系統。在本指南中,你將會了解如何快速上手。環境中的所有主機必須允許彼此間的流量能夠進行跨主機聯網。這一過程需要幾分鐘完成。如果服務正常,將會顯示狀態為綠色。 大家好,給大家介紹一下,這是幫助大家率先上手嘗試Rancher 2.0的神器 @Rancher 2.0快速上手指南 內容導讀 準備一臺Linux主機 啟...
摘要:而用戶能在同一平臺上管理任何集群,輕松地充分利用的強大能力及其迅速壯大的生態系統。在本指南中,你將會了解如何快速上手。環境中的所有主機必須允許彼此間的流量能夠進行跨主機聯網。這一過程需要幾分鐘完成。如果服務正常,將會顯示狀態為綠色。 大家好,給大家介紹一下,這是幫助大家率先上手嘗試Rancher 2.0的神器 @Rancher 2.0快速上手指南 內容導讀 準備一臺Linux主機 啟...
摘要:部署只是一種規則,控制器組件會將這一規則應用于實際負載均衡器中。原因是功能僅允許將端口用于路由,負載均衡器和則可作為全局啟動。負載均衡的限制提供了功能豐富的負載均衡器支持詳細介紹在此。截至目前,我們暫時無法使用工具將負載均衡器配置從轉換為。 如果您的應用程序是面向大量用戶、會吸引大量流量,那么一個不變的目標一定是在高效滿足用戶需求的同時、不讓用戶感知到任何類似于服務器繁忙!的情況。這一...
閱讀 3324·2021-11-08 13:12
閱讀 2765·2021-10-15 09:41
閱讀 1457·2021-10-08 10:05
閱讀 3303·2021-10-08 10:04
閱讀 2110·2021-09-29 09:34
閱讀 2478·2019-08-30 15:55
閱讀 2982·2019-08-30 15:45
閱讀 2589·2019-08-29 14:17