1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      如何進(jìn)行遷移RancherServer

      今天就跟大家聊聊有關(guān)如何進(jìn)行遷移Rancher Server,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

      創(chuàng)新互聯(lián)建站"三網(wǎng)合一"的企業(yè)建站思路。企業(yè)可建設(shè)擁有電腦版、微信版、手機(jī)版的企業(yè)網(wǎng)站。實(shí)現(xiàn)跨屏營銷,產(chǎn)品發(fā)布一步更新,電腦網(wǎng)絡(luò)+移動(dòng)網(wǎng)絡(luò)一網(wǎng)打盡,滿足企業(yè)的營銷需求!創(chuàng)新互聯(lián)建站具備承接各種類型的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、外貿(mào)營銷網(wǎng)站建設(shè)項(xiàng)目的能力。經(jīng)過10多年的努力的開拓,為不同行業(yè)的企事業(yè)單位提供了優(yōu)質(zhì)的服務(wù),并獲得了客戶的一致好評(píng)。

      Rancher提供兩種安裝方法,單節(jié)點(diǎn)和高可用安裝。單節(jié)點(diǎn)安裝允許用戶快速部署適用于短期開發(fā)測(cè)試為目的的安裝工作。高可用部署明顯更適合Rancher的長期使用。

      在實(shí)際使用中可能會(huì)遇到需要將Rancher Server遷移到其他的節(jié)點(diǎn)或local集群去管理的情況。 雖然可以使用最簡(jiǎn)單的import集群方式納管,但帶來的問題是后續(xù)無法做集群的管理和升級(jí)維護(hù),而且一些namespace和project的關(guān)聯(lián)關(guān)系將會(huì)消失。所以本文主要介紹如何將Rancher Server遷移到其他節(jié)點(diǎn)或local集群。

      主要針對(duì)3個(gè)場(chǎng)景去講解如何遷移Rancher Server:

      1. Rancher單節(jié)點(diǎn)安裝遷移至其他主機(jī)

      2. Rancher單節(jié)點(diǎn)安裝遷移至高可用安裝

      3. Rancher高可用安裝遷移至其他Local集群重要說明

      4. Rancher 官方文檔文檔中并沒有說明支持以下場(chǎng)景的遷移,本文檔只是利用一些Rancher和RKE現(xiàn)有的功能實(shí)現(xiàn)遷移。

      5. 如果您在此過程中遇到問題,則應(yīng)該熟悉Rancher架構(gòu)/故障排除

      6. 遷移非常危險(xiǎn),遷移前一定剛要做好備份,以免發(fā)生意外無法恢復(fù)

      7. 您應(yīng)該熟悉單節(jié)點(diǎn)安裝和高可用安裝之間的體系結(jié)構(gòu)差異

      8. 本文檔基于Rancher 2.4.x測(cè)試,其他版本操作可能會(huì)略有不同

      9. 本文檔主要講解Rancher Server的遷移,遷移過程中不會(huì)影響業(yè)務(wù)集群的使用

      準(zhǔn)備集群直連 kubeconfig 配置文件

      默認(rèn)情況下, Rancher UI 上復(fù)制的 kubeconfig 通過cluster agent代理連接到 kubernetes 集群。變更 Rancher Server會(huì)導(dǎo)致cluster agent無法連接 Rancher Server,從而導(dǎo)致kubectl無法使用 Rancher UI 上復(fù)制的 kubeconfig 去操作 kubernetes 集群。但可以使用-fqdn" target="_blank">kubectl --context -fqdn 直接連接kubernetes集群進(jìn)行操作。所以在執(zhí)行遷移之前,請(qǐng)準(zhǔn)備好所有集群的直連 kubeconfig 配置文件。

      Rancher v2.2.2以及之后的版本,可以直接從UI上下載kubeconfig文件。

      Rancher v2.2.2之前的版本,請(qǐng)參考:恢復(fù) kubectl 配置文件

      場(chǎng)景1:Rancher單節(jié)點(diǎn)安裝遷移至其他主機(jī)

      Rancher單節(jié)點(diǎn)安裝遷移至其他主機(jī),只需要將舊集群Rancher Server容器的/var/lib/rancher目錄打包,然后替換到新Rancher Server對(duì)應(yīng)的目錄,最后啟動(dòng)新Rancher Server容器之后再更新agent相關(guān)配置即可。

      1. Rancher 單節(jié)點(diǎn)安裝

      提示:以下步驟創(chuàng)建用于演示遷移的 Rancher 單節(jié)點(diǎn)環(huán)境,如果您需要遷移正式環(huán)境可以跳過此步驟。

      執(zhí)行以下 docker 命令運(yùn)行單節(jié)點(diǎn) Rancher Server 服務(wù)

      docker run -itd -p 80:80 -p 443:443 --restart=unless-stopped rancher/rancher:v2.4.3

      等容器初始化完成后,通過節(jié)點(diǎn) IP 訪問 Rancher Server UI,設(shè)置密碼并登錄。

      如何進(jìn)行遷移Rancher Server

      如何進(jìn)行遷移Rancher Server

      2. 創(chuàng)建自定義集群

      提示: 以下步驟創(chuàng)建用于演示的業(yè)務(wù)集群,用來驗(yàn)證 Rancher 遷移后數(shù)據(jù)是否丟失,如果您需要遷移正式環(huán)境可以跳過此步驟。

      登錄 Rancher UI 后,添加一個(gè)自定義集群

      如何進(jìn)行遷移Rancher Server

      授權(quán)集群訪問地址設(shè)置為啟用,F(xiàn)QDN 和證書可以不用填寫。

      如何進(jìn)行遷移Rancher Server

      注意:

      這一步很關(guān)鍵。因?yàn)镽ancher 遷移后,地址或者 token 或者證書的變更,將會(huì)導(dǎo)致 agent 無法連接 Rancher Server。遷移后,需要通過 kubectl 去編輯配置文件更新一些 agent 相關(guān)的參數(shù)。默認(rèn) UI 上的 kubeconfig文件是通過 agent 代理連接到 Kubernetes,如果 agent 無法連接 Rancher Server,則通過這個(gè) kubeconfig 文件也無法訪問 Kubernetes 集群。開啟授權(quán)集群訪問地址功能會(huì)生成多個(gè) Contexts Cluster,這些 Contexts Cluster 是直連 Kubernetes,不通過 agent 代理。如果業(yè)務(wù)集群未開啟這個(gè)功能,可以通過編輯集群來開啟這個(gè)功能。

      點(diǎn)擊下一步,根據(jù)預(yù)先分配的節(jié)點(diǎn)角色選擇需要的角色,然后復(fù)制命令到主機(jī)終端執(zhí)行。

      如何進(jìn)行遷移Rancher Server

      集群部署完成后,進(jìn)入集群首頁,點(diǎn)擊kubeconfig文件按鈕。在彈窗頁面中復(fù)制 kubeconfg 配置文件備用。

      如何進(jìn)行遷移Rancher Server

      3.部署測(cè)試應(yīng)用

      部署一個(gè)nginx workload。再從應(yīng)用商店部署一個(gè)測(cè)試應(yīng)用。

      如何進(jìn)行遷移Rancher Server

      4. 備份單節(jié)點(diǎn)Racher Server數(shù)據(jù)

      docker create --volumes-from  --name rancher-data- rancher/rancher:
      
      docker run  --volumes-from rancher-data- -v $PWD:/backup:z busybox tar pzcvf /backup/rancher-data-backup--.tar.gz -C /var/lib rancher

      詳細(xì)請(qǐng)參考Rancher中文官網(wǎng)單節(jié)點(diǎn)備份指南。

      5. 將生成的rancher-data-backup--.tar.gz復(fù)制到新的Rancher Server節(jié)點(diǎn)

      scp rancher-data-backup--.tar.gz root@:/opt/

      6. 使用備份數(shù)據(jù)啟動(dòng)新節(jié)點(diǎn)Rancher Server

      如果原Rancher Server通過使用已有的自簽名證書或使用已有的可信證書安裝,遷移時(shí),需要將證書一起復(fù)制到新Rancher Server,使用相同啟動(dòng)命令掛載證書和備份數(shù)據(jù)啟動(dòng)Rancher Server。

      cd /opt && tar -xvz -f rancher-data-backup--.tar.gz
      
      docker run -itd -p 80:80 -p 443:443 -v /opt/rancher:/var/lib/rancher --restart=unless-stopped rancher/rancher:v2.4.3

      7. 更新Rancher Server IP或域名

      注意:

      如果您的環(huán)境使用自簽名證書或Let's Encrypt 證書,并且配置域名訪問Rancher Server。遷移之后集群狀態(tài)為Active,請(qǐng)直接跳到第9步去驗(yàn)證集群。

      此時(shí)訪問新的Rancher Server就可以看見已經(jīng)被管理的Kubernetes集群了,但此時(shí)集群狀態(tài)是unavailable,因?yàn)閍gent還連的是舊Rancher Server所以需要更新agent信息。

      如何進(jìn)行遷移Rancher Server

      • 依次訪問全局 > 系統(tǒng)設(shè)置,頁面往下翻找到server-url文件

      • 單擊右側(cè)的省略號(hào)菜單,選擇升級(jí)

      • 修改server-url地址為新Rancher Server的地址

      如何進(jìn)行遷移Rancher Server

      • 保存

      8. 更新agent配置

      通過新域名或IP登錄 Rancher Server;

      通過瀏覽器地址欄查詢集群ID, c/后面以c開頭的字段即為集群 ID,本例的集群ID為c-4wzvf

      如何進(jìn)行遷移Rancher Server

      • 訪問https://<新的server_url>/v3/clusters/<集群ID>/clusterregistrationtokens頁面;

      • 打開clusterRegistrationTokens頁面后,定位到data字段;找到insecureCommand字段,復(fù)制 YAML 連接備用;

      如何進(jìn)行遷移Rancher Server

      可能會(huì)有多組"baseType": "clusterRegistrationToken",如上圖。這種情況以createdTS最大、時(shí)間最新的一組為準(zhǔn),一般是最后一組。

      使用kubectl工具,通過前文中準(zhǔn)備的直連kubeconfig配置文件和上面步驟中獲取的 YAML 文件,執(zhí)行以下命令更新agent相關(guān)配置。

      curl --insecure -sfL <替換為上面步驟獲取的YAML文件鏈接> | kubectl --context=xxx  apply -f -

      關(guān)于--context=xxx說明請(qǐng)參考直接使用下游集群進(jìn)行身份驗(yàn)證。

      9. 驗(yàn)證

      過一會(huì),集群變?yōu)?code>Active狀態(tài),然后驗(yàn)證我們之前部署的應(yīng)用是否可用。

      如何進(jìn)行遷移Rancher Server

      場(chǎng)景2:Rancher單節(jié)點(diǎn)安裝遷移至高可用安裝

      從單個(gè)節(jié)點(diǎn)遷移到Rancher的高可用性安裝的過程可以概括為以下幾個(gè)步驟:

      在Rancher單節(jié)點(diǎn)實(shí)例上:

      1. 備份Rancher單節(jié)點(diǎn)容器

      2. 備份etcd快照

      3. 停止舊的Rancher單節(jié)點(diǎn)容器

      在RKE Local集群上:

      1. 使用RKE啟動(dòng)Rancher Local集群

      2. 利用rke etcd snapshot-restore,將單節(jié)點(diǎn)備份的etcd快照恢復(fù)到RKE HA

      3. 在RKE Local集群中安裝Rancher

      4. 更新Local集群和業(yè)務(wù)集群的相關(guān)配置,使agent可以連接到正確的Rancher Server

      在單節(jié)點(diǎn)Rancher Server上操作

      1. Rancher 單節(jié)點(diǎn)安裝

      提示: 以下步驟創(chuàng)建用于演示遷移的 Rancher 環(huán)境,如果您需要遷移正式環(huán)境可以跳過此步驟。

      執(zhí)行以下 docker 命令運(yùn)行單節(jié)點(diǎn) Rancher Server 服務(wù)

      docker run -itd -p 80:80 -p 443:443 --restart=unless-stopped rancher/rancher:v2.4.3

      等容器初始化完成后,通過節(jié)點(diǎn) IP 訪問 Rancher Server UI,設(shè)置密碼并登錄。

      如何進(jìn)行遷移Rancher Server

      如何進(jìn)行遷移Rancher Server

      2. 創(chuàng)建自定義集群

      提示: 以下步驟創(chuàng)建用于演示的業(yè)務(wù)集群,用來驗(yàn)證 Rancher 遷移后數(shù)據(jù)是否丟失,如果您需要遷移正式環(huán)境可以跳過此步驟。

      登錄 Rancher UI 后,添加一個(gè)自定義集群

      如何進(jìn)行遷移Rancher Server

      授權(quán)集群訪問地址設(shè)置為啟用,F(xiàn)QDN 和證書可以不用填寫。

      如何進(jìn)行遷移Rancher Server

      注意: 這一步很關(guān)鍵。因?yàn)镽ancher 遷移后,地址或者 token 或者證書的變更,將會(huì)導(dǎo)致 agent 無法連接 Rancher Server。遷移后,需要通過 kubectl 去編輯配置文件更新一些 agent 相關(guān)的參數(shù)。默認(rèn) UI 上的 kubeconfig文件是通過 agent 代理連接到 Kubernetes,如果 agent 無法連接 Rancher Server,則通過這個(gè) kubeconfig 文件也無法訪問 Kubernetes 集群。開啟授權(quán)集群訪問地址功能會(huì)生成多個(gè) Contexts Cluster,這些 Contexts Cluster 是直連 Kubernetes,不通過 agent 代理。如果業(yè)務(wù)集群未開啟這個(gè)功能,可以通過編輯集群來開啟這個(gè)功能。

      點(diǎn)擊 下一步 ,根據(jù)預(yù)先分配的節(jié)點(diǎn)角色選擇需要的角色,然后復(fù)制命令到主機(jī)終端執(zhí)行。

      如何進(jìn)行遷移Rancher Server

      集群部署完成后,進(jìn)入集群首頁,點(diǎn)擊kubeconfig文件按鈕。在彈窗頁面中復(fù)制 kubeconfg 配置文件備用。

      如何進(jìn)行遷移Rancher Server

      3. 部署測(cè)試應(yīng)用

      部署一個(gè)nginx workload。再從應(yīng)用商店部署一個(gè)測(cè)試應(yīng)用。

      如何進(jìn)行遷移Rancher Server

      4. 創(chuàng)建將單節(jié)點(diǎn)etcd快照

      docker exec -it  bash
      
      root@78efdcbe08a6:/# cd /
      
      root@78efdcbe08a6:/# ETCDCTL_API=3 etcdctl snapshot save single-node-etcd-snapshot
      
      root@78efdcbe08a6:/# exit
      
      docker cp :/single-node-etcd-snapshot .

      5. 關(guān)閉單節(jié)點(diǎn)Rancher Server

      docker stop 

      在RKE Local集群上

      1. RKE部署Local Kubernetes 集群

      根據(jù)RKE示例配置 創(chuàng)建 RKE 配置文件 cluster.yml:

      nodes:
      - address: 99.79.49.94
          internal_address: 172.31.13.209
          user: ubuntu
          role: [controlplane, worker, etcd]
      - address: 35.183.174.120
          internal_address: 172.31.8.28
          user: ubuntu
          role: [controlplane, worker, etcd]
      - address: 15.223.49.238
          internal_address: 172.31.0.199
          user: ubuntu
          role: [controlplane, worker, etcd]

      執(zhí)行 rke 命令創(chuàng)建 Local Kubernetes 集群

      rke up --config cluster.yml

      檢查 Kubernetes 集群運(yùn)行狀態(tài)

      使用kubectl檢查節(jié)點(diǎn)狀態(tài),確認(rèn)節(jié)點(diǎn)狀態(tài)為Ready

      kubectl get nodes
      
      NAME             STATUS   ROLES                      AGE   VERSION
      15.223.49.238    Ready    controlplane,etcd,worker   93s   v1.17.6
      35.183.174.120   Ready    controlplane,etcd,worker   92s   v1.17.6
      99.79.49.94      Ready    controlplane,etcd,worker   93s   v1.17.6

      檢查所有必需的 Pod 和容器是否狀況良好,然后可以繼續(xù)進(jìn)行

      kubectl get pods --all-namespaces
      
      NAMESPACE       NAME                                      READY   STATUS      RESTARTS   AGE
      ingress-nginx   default-http-backend-67cf578fc4-9vjq4     1/1     Running     0          67s
      ingress-nginx   nginx-ingress-controller-8g7kq            1/1     Running     0          67s
      ingress-nginx   nginx-ingress-controller-8jvsd            1/1     Running     0          67s
      ingress-nginx   nginx-ingress-controller-lrt57            1/1     Running     0          67s
      kube-system     canal-68j4r                               2/2     Running     0          100s
      kube-system     canal-ff4qg                               2/2     Running     0          100s
      kube-system     canal-wl9hd                               2/2     Running     0          100s
      kube-system     coreDNS-7c5566588d-bhbmm                  1/1     Running     0          64s
      kube-system     coredns-7c5566588d-rhjpv                  1/1     Running     0          87s
      kube-system     coredns-autoscaler-65bfc8d47d-tq4gj       1/1     Running     0          86s
      kube-system     metrics-server-6b55c64f86-vg7qs           1/1     Running     0          79s
      kube-system     rke-coredns-addon-deploy-job-fr2bx        0/1     Completed   0          92s
      kube-system     rke-ingress-controller-deploy-job-vksrk   0/1     Completed   0          72s
      kube-system     rke-metrics-addon-deploy-job-d9hlv        0/1     Completed   0          82s
      kube-system     rke-network-plugin-deploy-job-kf8bn       0/1     Completed   0          103s

      2. 將生成的單節(jié)點(diǎn)etcd快照從Rancher單節(jié)點(diǎn)實(shí)例傳到RKE Local集群節(jié)點(diǎn)上

      在RKE HA Local節(jié)點(diǎn)上創(chuàng)建一個(gè)/opt/rke/etcd-snapshots目錄,并將single-node-etcd-snapshot文件復(fù)制到該目錄:

      mkdir -p /opt/rke/etcd-snapshots
      scp root@:/root/single-node-etcd-snapshot /opt/rke/etcd-snapshots

      3. 使用RKE將單節(jié)點(diǎn)etcd快照還原到新的HA節(jié)點(diǎn)

      rke etcd snapshot-restore --name single-node-etcd-snapshot --config cluster.yml

      4. Rancher HA 安裝

      參考安裝文檔安裝 Rancher HA。

      5. 為Rancher HA配置NGINX 負(fù)載均衡

      參考NGINX 配置示例為Rancher HA配置負(fù)載均衡。

      Nginx 配置:

      worker_processes 4;
      worker_rlimit_nofile 40000;
      
      events {
          worker_connections 8192;
      }
      
      stream {
          upstream rancher_servers_http {
              least_conn;
              server 172.31.11.95:80 max_fails=3 fail_timeout=5s;
              server 172.31.0.201:80 max_fails=3 fail_timeout=5s;
              server 172.31.15.236:80 max_fails=3 fail_timeout=5s;
          }
          server {
              listen 80;
              proxy_pass rancher_servers_http;
          }
      
          upstream rancher_servers_https {
              least_conn;
              server 172.31.11.95:443 max_fails=3 fail_timeout=5s;
              server 172.31.0.201:443 max_fails=3 fail_timeout=5s;
              server 172.31.15.236:443 max_fails=3 fail_timeout=5s;
          }
          server {
              listen     443;
              proxy_pass rancher_servers_https;
          }
      }

      Nginx啟動(dòng)后,我們就可以通過配置的域名/IP去訪問Rancher UI。可以看到業(yè)務(wù)集群demoUnavailable狀態(tài),local集群雖然為Active,但cluster-agentnode-agent均啟動(dòng)失敗。

      這兩種情況都是因?yàn)閍gent依然連接的舊的Rancher Server。

      如何進(jìn)行遷移Rancher Server

      如何進(jìn)行遷移Rancher Server

      6. 更新Rancher Server IP或域名

      • 依次訪問全局 > 系統(tǒng)設(shè)置,頁面往下翻找到server-url文件

      • 單擊右側(cè)的省略號(hào)菜單,選擇升級(jí)

      • 修改server-url地址為新Rancher server的地址

      如何進(jìn)行遷移Rancher Server

      • 保存

      7. 更新local集群和業(yè)務(wù)集群的agent配置

      通過新域名或IP登錄 Rancher Server;

      通過瀏覽器地址欄查詢集群ID, c/后面以c開頭的字段即為集群 ID,本例的集群ID為c-hftcn

      如何進(jìn)行遷移Rancher Server

      訪問https://<新的server_url>/v3/clusters/<集群ID>/clusterregistrationtokens頁面;

      打開clusterRegistrationTokens頁面后,定位到data字段;找到insecureCommand字段,復(fù)制 YAML 連接備用;

      如何進(jìn)行遷移Rancher Server

      可能會(huì)有多組"baseType": "clusterRegistrationToken",如上圖。這種情況以createdTS最大、時(shí)間最新的一組為準(zhǔn),一般是最后一組。

      使用kubectl工具,通過前文中準(zhǔn)備的直連kubeconfig配置文件和上面步驟中獲取的 YAML 文件,執(zhí)行以下命令更新agent相關(guān)配置。

      注意:

      更新local集群和業(yè)務(wù)集群使用的kubeconfig是不同的,請(qǐng)針對(duì)不通集群選擇需要的kubeconfig。

      關(guān)于--context=xxx說明請(qǐng)參考直接使用下游集群進(jìn)行身份驗(yàn)證。

      curl --insecure -sfL <替換為上面步驟獲取的YAML文件鏈接> | kubectl --context=xxx  apply -f -

      業(yè)務(wù)集群agent更新成功后,使用相同的方法更新local集群agent配置。

      9. 驗(yàn)證

      過一會(huì),localdemo集群都變?yōu)?code>Active狀態(tài):

      如何進(jìn)行遷移Rancher Server

      Local集群的cluster-agentnode-agent啟動(dòng)成功

      如何進(jìn)行遷移Rancher Server

      Demo集群的cluster-agentnode-agent啟動(dòng)成功

      如何進(jìn)行遷移Rancher Server

      然后驗(yàn)證我們之前部署的應(yīng)用是否可用。

      如何進(jìn)行遷移Rancher Server

      場(chǎng)景3:Rancehr高可用安裝遷移至其他Local集群

      Rancehr高可用安裝遷移至其他Local集群,可以借助rke的更新功能完成。通過rke將原來的3節(jié)點(diǎn)local集群擴(kuò)展成6個(gè)節(jié)點(diǎn),此時(shí)etcd數(shù)據(jù)將自動(dòng)同步到local集群內(nèi)的6個(gè)節(jié)點(diǎn)上,然后再使用rke將原有的3臺(tái)節(jié)點(diǎn)移除,再次更新。這樣就將Rancher Server可以平滑的遷移到新的Rancher local集群。

      1. RKE部署Local Kubernetes 集群

      根據(jù)RKE示例配置創(chuàng)建 RKE 配置文件 cluster.yml:

      nodes:
      - address: 3.96.52.186
          internal_address: 172.31.11.95
          user: ubuntu
          role: [controlplane, worker, etcd]
      - address: 35.183.186.213
          internal_address: 172.31.0.201
          user: ubuntu
          role: [controlplane, worker, etcd]
      - address: 35.183.130.12
          internal_address: 172.31.15.236
          user: ubuntu
          role: [controlplane, worker, etcd]

      執(zhí)行 rke 命令創(chuàng)建 Local Kubernetes 集群

      rke up --config cluster.yml

      檢查 Kubernetes 集群運(yùn)行狀態(tài)

      使用kubectl檢查節(jié)點(diǎn)狀態(tài),確認(rèn)節(jié)點(diǎn)狀態(tài)為Ready

      kubectl get nodes
      NAME             STATUS   ROLES                      AGE   VERSION
      3.96.52.186      Ready    controlplane,etcd,worker   71s   v1.17.6
      35.183.130.12    Ready    controlplane,etcd,worker   72s   v1.17.6
      35.183.186.213   Ready    controlplane,etcd,worker   72s   v1.17.6

      檢查所有必需的 Pod 和容器是否狀況良好,然后可以繼續(xù)進(jìn)行

      kubectl get pods --all-namespaces
      
      NAMESPACE       NAME                                      READY   STATUS      RESTARTS   AGE
      ingress-nginx   default-http-backend-67cf578fc4-gnt5c     1/1     Running     0          72s
      ingress-nginx   nginx-ingress-controller-47p4b            1/1     Running     0          72s
      ingress-nginx   nginx-ingress-controller-85284            1/1     Running     0          72s
      ingress-nginx   nginx-ingress-controller-9qbdz            1/1     Running     0          72s
      kube-system     canal-9bx8k                               2/2     Running     0          97s
      kube-system     canal-l2fjb                               2/2     Running     0          97s
      kube-system     canal-v7fzs                               2/2     Running     0          97s
      kube-system     coredns-7c5566588d-7kv7b                  1/1     Running     0          67s
      kube-system     coredns-7c5566588d-t4jfm                  1/1     Running     0          90s
      kube-system     coredns-autoscaler-65bfc8d47d-vnrzc       1/1     Running     0          90s
      kube-system     metrics-server-6b55c64f86-r4p8w           1/1     Running     0          79s
      kube-system     rke-coredns-addon-deploy-job-lx667        0/1     Completed   0          94s
      kube-system     rke-ingress-controller-deploy-job-r2nw5   0/1     Completed   0          74s
      kube-system     rke-metrics-addon-deploy-job-4bq76        0/1     Completed   0          84s
      kube-system     rke-network-plugin-deploy-job-gjpm8       0/1     Completed   0          99s

      2. Rancher HA 安裝

      參考安裝文檔安裝 Rancher HA。

      3. 為Rancher HA配置NGINX 負(fù)載均衡

      參考NGINX 配置示例為Rancher HA配置負(fù)載均衡。

      Nginx 配置:

      worker_processes 4;
      worker_rlimit_nofile 40000;
      
      events {
          worker_connections 8192;
      }
      
      stream {
          upstream rancher_servers_http {
              least_conn;
              server 172.31.11.95:80 max_fails=3 fail_timeout=5s;
              server 172.31.0.201:80 max_fails=3 fail_timeout=5s;
              server 172.31.15.236:80 max_fails=3 fail_timeout=5s;
          }
          server {
              listen 80;
              proxy_pass rancher_servers_http;
          }
      
          upstream rancher_servers_https {
              least_conn;
              server 172.31.11.95:443 max_fails=3 fail_timeout=5s;
              server 172.31.0.201:443 max_fails=3 fail_timeout=5s;
              server 172.31.15.236:443 max_fails=3 fail_timeout=5s;
          }
          server {
              listen     443;
              proxy_pass rancher_servers_https;
          }
      }

      Nginx啟動(dòng)后,我們就可以通過配置的域名/IP去訪問Rancher UI。可以導(dǎo)航到local->Nodes 查看到local集群三個(gè)節(jié)點(diǎn)的狀態(tài):

      如何進(jìn)行遷移Rancher Server

      4. 部署測(cè)試集群及應(yīng)用

      添加測(cè)試集群,Node Role同時(shí)選中etcdControl PlaneWorker

      如何進(jìn)行遷移Rancher Server

      等待測(cè)試集群添加成功后,部署一個(gè)nginx workload。再從應(yīng)用商店部署一個(gè)測(cè)試應(yīng)用。

      如何進(jìn)行遷移Rancher Server

      5. 將新集群的節(jié)點(diǎn)添加到Local集群

      修改剛才創(chuàng)建local集群所使用的rke配置文件,增加新集群的配置。

      cluster.yml:

      nodes:
      - address: 3.96.52.186
          internal_address: 172.31.11.95
          user: ubuntu
          role: [controlplane, worker, etcd]
      - address: 35.183.186.213
          internal_address: 172.31.0.201
          user: ubuntu
          role: [controlplane, worker, etcd]
      - address: 35.183.130.12
          internal_address: 172.31.15.236
          user: ubuntu
          role: [controlplane, worker, etcd]
      
      # 以下內(nèi)容為新增節(jié)點(diǎn)的配置
      - address: 52.60.116.56
          internal_address: 172.31.14.146
          user: ubuntu
          role: [controlplane, worker, etcd]
      - address: 99.79.9.244
          internal_address: 172.31.15.215
          user: ubuntu
          role: [controlplane, worker, etcd]
      - address: 15.223.77.84
          internal_address: 172.31.8.64
          user: ubuntu
          role: [controlplane, worker, etcd]

      更新集群,將local集群節(jié)點(diǎn)擴(kuò)展到6個(gè)

      rke up --cluster.yml

      檢查 Kubernetes 集群運(yùn)行狀態(tài)

      使用kubectl測(cè)試您的連通性,并確認(rèn)原節(jié)點(diǎn)(3.96.52.186、35.183.186.213、35.183.130.12)和新增節(jié)點(diǎn)(52.60.116.56、99.79.9.244、15.223.77.84)都處于Ready狀態(tài)

      kubectl get nodes
      NAME             STATUS   ROLES                      AGE    VERSION
      15.223.77.84     Ready    controlplane,etcd,worker   33s    v1.17.6
      3.96.52.186      Ready    controlplane,etcd,worker   88m    v1.17.6
      35.183.130.12    Ready    controlplane,etcd,worker   89m    v1.17.6
      35.183.186.213   Ready    controlplane,etcd,worker   89m    v1.17.6
      52.60.116.56     Ready    controlplane,etcd,worker   101s   v1.17.6
      99.79.9.244      Ready    controlplane,etcd,worker   67s    v1.17.6

      檢查所有必需的 Pod 和容器是否狀況良好,然后可以繼續(xù)進(jìn)行

      kubectl get pods --all-namespaces
      
      NAMESPACE       NAME                                      READY   STATUS      RESTARTS   AGE
      cattle-system   cattle-cluster-agent-68898b5c4d-lkz5m     1/1     Running     0          46m
      cattle-system   cattle-node-agent-9xrbs                   1/1     Running     0          109s
      cattle-system   cattle-node-agent-lvdlf                   1/1     Running     0          46m
      cattle-system   cattle-node-agent-mnk76                   1/1     Running     0          46m
      cattle-system   cattle-node-agent-qfwcm                   1/1     Running     0          75s
      cattle-system   cattle-node-agent-tk66h                   1/1     Running     0          2m23s
      cattle-system   cattle-node-agent-v2vpf                   1/1     Running     0          46m
      cattle-system   rancher-749fd64664-8cg4w                  1/1     Running     1          58m
      cattle-system   rancher-749fd64664-fms8x                  1/1     Running     1          58m
      cattle-system   rancher-749fd64664-rb5pt                  1/1     Running     1          58m
      ingress-nginx   default-http-backend-67cf578fc4-gnt5c     1/1     Running     0          89m
      ingress-nginx   nginx-ingress-controller-44c5z            1/1     Running     0          61s
      ingress-nginx   nginx-ingress-controller-47p4b            1/1     Running     0          89m
      ingress-nginx   nginx-ingress-controller-85284            1/1     Running     0          89m
      ingress-nginx   nginx-ingress-controller-9qbdz            1/1     Running     0          89m
      ingress-nginx   nginx-ingress-controller-kp7p6            1/1     Running     0          61s
      ingress-nginx   nginx-ingress-controller-tfjrw            1/1     Running     0          61s
      kube-system     canal-9bx8k                               2/2     Running     0          89m
      kube-system     canal-fqrqv                               2/2     Running     0          109s
      kube-system     canal-kkj7q                               2/2     Running     0          75s
      kube-system     canal-l2fjb                               2/2     Running     0          89m
      kube-system     canal-v7fzs                               2/2     Running     0          89m
      kube-system     canal-w7t58                               2/2     Running     0          2m23s
      kube-system     coredns-7c5566588d-7kv7b                  1/1     Running     0          89m
      kube-system     coredns-7c5566588d-t4jfm                  1/1     Running     0          89m
      kube-system     coredns-autoscaler-65bfc8d47d-vnrzc       1/1     Running     0          89m
      kube-system     metrics-server-6b55c64f86-r4p8w           1/1     Running     0          89m
      kube-system     rke-coredns-addon-deploy-job-lx667        0/1     Completed   0          89m
      kube-system     rke-ingress-controller-deploy-job-r2nw5   0/1     Completed   0          89m
      kube-system     rke-metrics-addon-deploy-job-4bq76        0/1     Completed   0          89m
      kube-system     rke-network-plugin-deploy-job-gjpm8       0/1     Completed   0          89m

      從上面的信息可以確認(rèn)現(xiàn)在local集群已經(jīng)擴(kuò)展到6個(gè),并且所有workload均正常運(yùn)行。

      6. 再次更新集群,剔除掉原Local集群節(jié)點(diǎn)

      再次修改local集群所使用的rke配置文件,將原local集群節(jié)點(diǎn)配置注釋掉。

      cluster.yml:

      nodes:
      #  - address: 3.96.52.186
      #    internal_address: 172.31.11.95
      #    user: ubuntu
      #    role: [controlplane, worker, etcd]
      #  - address: 35.183.186.213
      #    internal_address: 172.31.0.201
      #    user: ubuntu
      #    role: [controlplane, worker, etcd]
      #  - address: 35.183.130.12
      #    internal_address: 172.31.15.236
      #    user: ubuntu
      #    role: [controlplane, worker, etcd]
      # 以下內(nèi)容為新增節(jié)點(diǎn)
      - address: 52.60.116.56
          internal_address: 172.31.14.146
          user: ubuntu
          role: [controlplane, worker, etcd]
      - address: 99.79.9.244
          internal_address: 172.31.15.215
          user: ubuntu
          role: [controlplane, worker, etcd]
      - address: 15.223.77.84
          internal_address: 172.31.8.64
          user: ubuntu
          role: [controlplane, worker, etcd]

      更新集群,完成遷移。

      rke up --cluster.yml

      檢查 Kubernetes 集群運(yùn)行狀態(tài)

      使用kubectl檢查節(jié)點(diǎn)狀態(tài)為Ready,可以看到local集群的節(jié)點(diǎn)已經(jīng)替換成了以下3個(gè):

      kubectl get nodes
      NAME           STATUS   ROLES                      AGE   VERSION
      15.223.77.84   Ready    controlplane,etcd,worker   11m   v1.17.6
      52.60.116.56   Ready    controlplane,etcd,worker   13m   v1.17.6
      99.79.9.244    Ready    controlplane,etcd,worker   12m   v1.17.6

      檢查所有必需的 Pod 和容器是否狀況良好,然后可以繼續(xù)進(jìn)行

      kubectl get pods --all-namespaces
      
      NAMESPACE       NAME                                    READY   STATUS    RESTARTS   AGE
      cattle-system   cattle-cluster-agent-68898b5c4d-tm6db   1/1     Running   3          3m14s
      cattle-system   cattle-node-agent-9xrbs                 1/1     Running   0          14m
      cattle-system   cattle-node-agent-qfwcm                 1/1     Running   0          14m
      cattle-system   cattle-node-agent-tk66h                 1/1     Running   0          15m
      cattle-system   rancher-749fd64664-47jw2                1/1     Running   0          3m14s
      cattle-system   rancher-749fd64664-jpqdd                1/1     Running   0          3m14s
      cattle-system   rancher-749fd64664-xn6js                1/1     Running   0          3m14s
      ingress-nginx   default-http-backend-67cf578fc4-4668g   1/1     Running   0          3m14s
      ingress-nginx   nginx-ingress-controller-44c5z          1/1     Running   0          13m
      ingress-nginx   nginx-ingress-controller-kp7p6          1/1     Running   0          13m
      ingress-nginx   nginx-ingress-controller-tfjrw          1/1     Running   0          13m
      kube-system     canal-fqrqv                             2/2     Running   0          14m
      kube-system     canal-kkj7q                             2/2     Running   0          14m
      kube-system     canal-w7t58                             2/2     Running   0          15m
      kube-system     coredns-7c5566588d-nmtrn                1/1     Running   0          3m13s
      kube-system     coredns-7c5566588d-q6hlb                1/1     Running   0          3m13s
      kube-system     coredns-autoscaler-65bfc8d47d-rx7fm     1/1     Running   0          3m14s
      kube-system     metrics-server-6b55c64f86-mcx9z         1/1     Running   0          3m14s

      從上面的信息可以確認(rèn)現(xiàn)在local集群已經(jīng)遷移成功,并且所有workload均正常運(yùn)行。

      修改nginx負(fù)載均衡配置,將新節(jié)點(diǎn)的信息更新到nginx配置文件中

      worker_processes 4;
      worker_rlimit_nofile 40000;
      
      events {
          worker_connections 8192;
      }
      
      stream {
          upstream rancher_servers_http {
              least_conn;
              server 172.31.14.146:80 max_fails=3 fail_timeout=5s;
              server 172.31.8.64:80 max_fails=3 fail_timeout=5s;
              server 172.31.15.215:80 max_fails=3 fail_timeout=5s;
          }
          server {
              listen 80;
              proxy_pass rancher_servers_http;
          }
      
          upstream rancher_servers_https {
              least_conn;
              server 172.31.14.146:443 max_fails=3 fail_timeout=5s;
              server 172.31.8.64:443 max_fails=3 fail_timeout=5s;
              server 172.31.15.215:443 max_fails=3 fail_timeout=5s;
          }
          server {
              listen     443;
              proxy_pass rancher_servers_https;
          }
      
      }

      7. 驗(yàn)證

      確認(rèn)local集群和業(yè)務(wù)集群狀態(tài)為Active

      如何進(jìn)行遷移Rancher Server

      確認(rèn)Local集群節(jié)點(diǎn)已被替換

      原集群節(jié)點(diǎn)IP分別為:3.96.52.186、35.183.186.213、35.183.130.12

      如何進(jìn)行遷移Rancher Server

      然后驗(yàn)證我們之前部署的應(yīng)用是否可用。

      如何進(jìn)行遷移Rancher Server

      開源一直是Rancher的產(chǎn)品理念,我們也一向重視與開源社區(qū)用戶的交流,為此創(chuàng)建了20個(gè)微信交流群。本篇文章的誕生源于和社區(qū)用戶的多次交流,發(fā)現(xiàn)許多Rancher用戶都有類似的問題。于是,我總結(jié)了三個(gè)場(chǎng)景并經(jīng)過反復(fù)測(cè)試,最終完成這篇教程。我們也十分歡迎各位Rancher用戶以各種形式分享自己的使用經(jīng)驗(yàn),一起共建愉快的開源社區(qū)。

      看完上述內(nèi)容,你們對(duì)如何進(jìn)行遷移Rancher Server有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


      分享文章:如何進(jìn)行遷移RancherServer
      本文鏈接:http://ef60e0e.cn/article/isjeid.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        舟山市| 琼海市| 温宿县| 元氏县| 米脂县| 建平县| 瑞丽市| 明星| 新和县| 怀仁县| 拉萨市| 洛南县| 阳谷县| 凌云县| 斗六市| 新安县| 万盛区| 台中县| 遂昌县| 报价| 楚雄市| 九台市| 龙井市| 永清县| 潼南县| 固镇县| 北票市| 华池县| 威宁| 澄迈县| 汶上县| 苗栗市| 平安县| 清苑县| 舟曲县| 靖安县| 含山县| 焦作市| 桐城市| 漠河县| 滁州市|