手把手搭建K3S+Rancher


Kubernetes發展到現在,已經在很多正式的場景落地應用,可以說現階段使用Kubernetes是比較靠譜也比較輕松的,本文就根據官方文檔手把手開始部署Kubernetes+Rancher集群。

架構
Master—192.168.15.252
Slave—192.168.15.251
本地域名—zhou.rancher.com
注意點:Master一定要有免密登錄Slave權限!!!

總體思路
K3S部署Kubernetes集群,創建集群的https證書,Helm部署rancher,通過rancher的UI界面手動導入Kubernetes集群,使用Kubernetes集群。

Kubernetes部署
在rancher中文文檔中推薦了一種更輕量的Kubernetes集群搭建方式:K3S,安裝過程非常簡單,只需要服務器能夠訪問互聯網,執行相應的命令就可以了
Master主機執行命令,執行完成后獲取master主機的K3S_TOKEN用於slave(默認路徑:/var/lib/rancher/k3s/server/node-token)

curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn  INSTALL_K3S_EXEC="--docker" sh -s - server

slave主機執行命令,加入K3S集群

curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn INSTALL_K3S_EXEC="--docker" K3S_URL=https://192.168.15.252:6443 K3S_TOKEN=K10bb35019b1669197e06f97b6c14bb3b3c7c7076cd20afe1f550d6793d02b9eed8::server:9599c8b3ffbbd38b7721207183cd6a62 sh -

http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh是國內的加速地址,可以正常執行。
執行完畢后,在master服務器上驗證是否安裝K3S集群成功。

Https私有證書
在rancher中文文檔中提供了生成私有證書的方式,執行提供的腳本后,可以獲得私有的證書,並需要把證書添加到集群中去
創建證書的空間,並使用腳本生成pem文件

kubectl create namespace cattle-system
sh ./create_self-signed-cert.sh --ssl-domain=zhou.rancher.com --ssl-trusted-ip=192.168.15.251,192.168.15.252 --ssl-size=2048 --ssl-date=3650

把生成的pem證書上傳到集群中去

kubectl -n cattle-system create secret generic tls-ca   --from-file=cacerts.pem=./cacerts.pem

安裝rancher
安裝rancher之前還需要安裝helm工具,解壓官網下載的文件壓縮包后,拷貝二進制文件到/usr/local/bin/目錄,驗證是否安裝成功

添加rancher的國內的安裝模塊,並更新helm

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

執行helm安裝rancher命令

helm install rancher rancher-stable/rancher   --namespace cattle-system   --set hostname=zhou.rancher.com   --set ingress.tls.source=secret   --set privateCA=true

驗證rancher是否安裝成功

補充
由於是在內部搭建的rancher,只能通過修改主機的host來指定域名,還需要額外的兩個步驟
添加hostname的解析

kubectl -n cattle-system \
patch deployments cattle-cluster-agent --patch '{
    "spec": {
        "template": {
            "spec": {
                "hostAliases": [
                    {
                        "hostnames":
                        [
                            "zhou.rancher.com"
                        ],
                            "ip": "192.168.15.252"
                    }
                ]
            }
        }
    }
}
kubectl -n cattle-system \
patch  daemonsets cattle-node-agent --patch '{
    "spec": {
        "template": {
            "spec": {
                "hostAliases": [
                    {
                        "hostnames":
                        [
                            "zhou.rancher.com"
                        ],
                            "ip": "192.168.15.252"
                    }
                ]
            }
        }
    }
}'

最后打開我們設定的zhou.rancher.com網站,導入集群


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM