快速安裝k3s kubernetes集群

      網友投稿 1217 2025-03-31

      K3s 是 Rancher 發布的經過完全認證的 Kubernetes 發行版。K3s 易于使用且更輕量,全部組件都打包在了一個二進制文件里。并且這個二進制文件小于 100 MB。

      下面介紹在三臺centos7服務器上快速搭建k3s Kubernetes集群。

      基礎環境

      安裝MySQL 5.7數據庫

      rancher01節點安裝mysql,安裝方法參考:centos7安裝mysql

      在mysql中創建k3s數據庫。

      create database k3s;

      安裝并啟動k3s Server集群

      以root用戶,在rancher01,rancher02,rancher03三個節點先后執行以mysql數據庫信息、token為基本配置的k3s Server安裝和啟動腳本,具體如下所示:

      其中,–token表示自定義token配置

      –datastore-endpoint表示mysql數據庫連接信息

      curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - server \ --token=ABCDEFGHIJK \ --datastore-endpoint="mysql://root:password@tcp(10.0.2.9:3306)/k3s"

      確認 K3s 是否創建成功

      [root@rancher01 ~]# k3s kubectl get nodes NAME STATUS ROLES AGE VERSION rancher02 Ready control-plane,master 2d v1.22.6+k3s1 rancher01 Ready control-plane,master 2d v1.22.6+k3s1 rancher03 Ready control-plane,master 2d v1.22.6+k3s1

      保存并使用 kubeconfig 文件

      在每個 Rancher Server 節點上安裝 K3s 時,會在節點上/etc/rancher/k3s/k3s.yaml位置創建一個kubeconfig文件。該文件包含用于完全訪問集群的憑據,您應該將此文件保存在安全的位置。

      要使用此kubeconfig文件,

      安裝 Kubernetes 命令行工具kubectl。

      將文件/etc/rancher/k3s/k3s.yaml復制并保存到本地計算機上的~/.kube/config文件中。

      在這個 kubeconfig 文件中,server參數為 localhost。您需要手動更改這個地址為負載均衡器的 DNS,并且指定端口 6443。(Kubernetes API Server 的端口為 6443,Rancher Server 的端口為 80 和 443。)以下是一個示例k3s.yaml:

      結果: 您現在可以使用kubectl來管理您的 K3s 集群。如果您有多個 kubeconfig 文件,可以在使用kubectl時通過傳遞文件路徑來指定要使用的 kubeconfig 文件:

      kubectl --kubeconfig ~/.kube/config/k3s.yaml get pods --all-namespaces

      有關kubeconfig文件的更多信息,請參考 K3s 集群訪問或官方 Kubernetes 文檔中關于使用kubeconfig文件訪問集群的部分。

      Helm Chart 安裝 Rancher

      Rancher 使用 Kubernetes 的 Helm 軟件包管理器安裝。Helm Charts 為 Kubernetes YAML 清單文檔提供了模板語法。

      有了 Helm,我們可以創建可配置的部署,而不只是使用靜態文件。

      在https://github.com/helm/helm/releases中下載helm,并復制到/usr/sbin目錄下

      使用helm repo add命令添加含有 Rancher Chart 的 Helm Chart 倉庫。

      請將命令中的,替換為latest,stable或alpha。更多信息,請查看選擇 Rancher 版本來選擇最適合你的倉庫。

      latest: 建議在嘗試新功能時使用。

      stable: 建議在生產環境中使用。(推薦)

      alpha: 未來版本的實驗性預覽。

      下面以latest為例:

      helm repo add rancher-latest http://rancher-mirror.oss-cn-beijing.aliyuncs.com/server-charts/latest

      為 Rancher 創建 Namespace

      我們需要定義一個 Kubernetes Namespace,在 Namespace 中安裝由 Chart 創建的資源。這個命名空間的名稱為 cattle-system:

      kubectl create namespace cattle-system

      選擇你的 SSL 選項

      Rancher Server 默認需要 SSL/TLS 配置來保證訪問的安全性。

      你可以從以下三種證書來源中選擇一種,證書將用來在 Rancher Server 中終止 TLS:

      Rancher 生成的 TLS 證書: 在這種情況下,你需要在集群中安裝 cert-manager。 Rancher 利用 cert-manager 簽發并維護證書。Rancher 將生成自己的 CA 證書,并使用該 CA 簽署證書。然后 cert-manager 負責管理該證書。

      Let’s Encrypt: Let’s Encrypt 選項也需要使用 cert-manager。但是,在這種情況下,cert-manager 與 Let’s Encrypt 的特殊頒發者相結合,該頒發者執行獲取 Let’s Encrypt 頒發的證書所需的所有操作(包括請求和驗證)。此配置使用 HTTP 驗證(HTTP-01),因此負載均衡器必須具有可以從公網訪問的公共 DNS 記錄。

      使用你已有的證書: 此選項使你可以使用自己的權威 CA 頒發的證書或自簽名 CA 證書。 Rancher 將使用該證書來保護 WebSocket 和 HTTPS 流量。在這種情況下,你必須上傳名稱分別為tls.crt和tls.key的 PEM 格式的證書以及相關的密鑰。如果使用私有 CA,則還必須上傳該 CA 證書。這是由于你的節點可能不信任此私有 CA。 Rancher 將獲取該 CA 證書,并從中生成一個校驗和,各種 Rancher 組件將使用該校驗和來驗證其與 Rancher 的連接。

      以已有證書為例

      使用 一鍵生成 ssl 自簽名證書腳本 來快速生成符合 rancher 要求的自簽名證書。

      在此選項中,將使用你自己的證書來創建 Kubernetes secret,以供 Rancher 使用。

      運行這個命令時,hostname 選項必須與服務器證書中的 Common Name 或 Subject Alternative Names 條目匹配,否則 Ingress controller 將無法正確配置。

      盡管技術上僅需要Subject Alternative Names中有一個條目,但是擁有一個匹配的 Common Name 可以最大程度的提高與舊版瀏覽器/應用程序的兼容性。

      如果你想檢查證書是否正確,請查看如何在服務器證書中檢查 Common Name 和 Subject Alternative Names。

      如上所述,為你的證書設置適當的hostname。

      將replicas設置為 Rancher 部署所使用的復制數量。默認為 3;如果你的集群中少于 3 個節點,你應填寫實際節點數量。

      設置ingress.tls.source為secret。

      要安裝一個特定的 Rancher 版本,使用--version 標志,例如:--version 2.3.6。

      如果你安裝的是 alpha 版本,Helm 要求在命令中加入--devel選項。

      helm install rancher rancher-latest/rancher \ --namespace cattle-system \ --set hostname=rancher02.com \ --set replicas=3 \ --set ingress.tls.source=secret

      添加 TLS Secret(千萬不要遺漏該步):現在已經部署了 Rancher,還需參考添加 TLS Secret 發布證書文件,以便 Rancher 和 ingress 控制器可以使用它們。

      注意: 可以使用 一鍵生成 ssl 自簽名證書腳本 來快速生成符合 rancher 要求的自簽名證書。該腳本會自動生成本文中所需要的 tls.crt、tls.key 和 cacerts.pem

      只有當我們在 cattle-system 命名空間,將自簽名證書和對應密鑰配置到 tls-rancher-ingress 的密文中,Kubernetes 才會為 Rancher 創建所有的對象和服務。

      將服務器證書和任何所需的中間證書合并到名為 tls.crt 的文件中,將您的證書密鑰拷貝到名稱為 tls.key 的文件中。

      例如,acme.sh在fullchain.cer文件中提供了服務器證書和中間證書。在這種情況下,您應該將fullchain.cer文件重命名為tls.crt,將證書秘鑰文件重命名為tls.key 。

      使用 kubectl 創建 tls 類型的密文。

      快速安裝k3s kubernetes集群

      kubectl -n cattle-system create secret tls tls-rancher-ingress \ --cert=tls.crt \ --key=tls.key

      提示: 如果您想要更換證書,您可以使用 kubectl -n cattle-system delete secret tls-rancher-ingress 來刪除 tls-rancher-ingress 密文,之后使用上面的命令創建一個新的密文。如果您使用的是私有 CA 簽發的證書,僅當新證書與當前證書是由同一個 CA 簽發的,才可以替換。

      網頁訪問rancher

      初始化訪問rancher時需要設置登錄密碼,可使用隨機密碼或者自定義密碼。

      參考文章

      使用 RKE 安裝 Kubernetes | Rancher文檔

      使用外部數據庫實現高可用安裝 | Rancher文檔

      MySQL安裝 - 從大數據到人工智能 (lrting.top)

      Kubernetes

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:如何繪制WPS PPT的中心線?
      下一篇:修改過的文件一保存在桌面會有備份,這個怎么取消備份(怎么把桌面文件備份)
      相關文章
      久久香蕉国产线看观看亚洲片| 亚洲精品亚洲人成在线观看| 亚洲制服中文字幕第一区| 亚洲午夜无码久久久久| 亚洲天堂中文字幕在线| 亚洲国产av无码精品| 色偷偷噜噜噜亚洲男人| 亚洲码欧美码一区二区三区| 亚洲欧美综合精品成人导航| 亚洲色大18成人网站WWW在线播放| 亚洲 欧洲 日韩 综合在线| tom影院亚洲国产一区二区| 精品日韩99亚洲的在线发布 | 亚洲一区二区三区免费在线观看| 亚洲精品无码久久久久久久 | 91久久亚洲国产成人精品性色 | 91在线亚洲精品专区| 老汉色老汉首页a亚洲| 91久久亚洲国产成人精品性色| 亚洲精品美女久久久久9999| 亚洲男女性高爱潮网站| 亚洲另类视频在线观看| 亚洲一区二区三区91| 麻豆狠色伊人亚洲综合网站| 亚洲伊人久久大香线蕉AV| 亚洲中文字幕无码久久| 亚洲综合激情五月色一区| 亚洲免费综合色在线视频| 国产亚洲蜜芽精品久久| 亚洲高清无码综合性爱视频| 国产亚洲精品无码专区 | 久久亚洲精品人成综合网| 亚洲精品国产电影午夜| 亚洲国产精品xo在线观看| 日本亚洲免费无线码| 一本色道久久综合亚洲精品蜜桃冫 | 亚洲伊人tv综合网色| 亚洲国产午夜电影在线入口| 亚洲天堂免费在线| 亚洲精品天堂成人片AV在线播放 | 亚洲avav天堂av在线不卡|