久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

怎么在Rancher 2.0 TP2 Kubernetes集群中添加自定義節點

140次閱讀
沒有評論

共計 4905 個字符,預計需要花費 13 分鐘才能閱讀完成。

這篇文章將為大家詳細講解有關怎么在 Rancher 2.0 TP2 Kubernetes 集群中添加自定義節點,丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

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/localProviders/local?action=login  -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?action=changepassword  -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}  --insecure`
# Extract 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/agent-image --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/clusterregistrationtoken  -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/cacerts --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 TP2 Kubernetes 集群中添加自定義節點”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-16發表,共計4905字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 台中市| 蚌埠市| 永昌县| 兴海县| 河西区| 启东市| 鹰潭市| 衡东县| 蒙自县| 禹州市| 云梦县| 河南省| 纳雍县| 商洛市| 浙江省| 林西县| 永仁县| 奎屯市| 夏邑县| 嵊泗县| 德保县| 阿瓦提县| 宜宾县| 闽清县| 鄂州市| 黑水县| 凤城市| 榆林市| 伊宁县| 鲁山县| 全南县| 济宁市| 涪陵区| 尉犁县| 兴义市| 海林市| 九江市| 金乡县| 信丰县| 璧山县| 乐山市|