日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

RKE安装部署K8S集群、Rancher

發布時間:2024/3/26 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 RKE安装部署K8S集群、Rancher 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

服務器準備:三臺虛擬機(master:1,node:2;這里選用的阿里云ECS)

OS

hostname

內網IP
Centos7joker-master-1172.27.31.149
Centos7joker-node-1172.27.31.148
Centos7joker-node-2172.27.31.147

首先所有節點初始化系統相關配置

# 關閉防火墻 systemctl stop firewalld systemctl disable firewalld# 關閉selinux sed -i 's/enforcing/disabled/' /etc/selinux/config # 永久 setenforce 0 # 臨時# 關閉swap swapoff -a # 臨時 sed -ri 's/.*swap.*/#&/' /etc/fstab # 永久# 根據規劃設置主機名 hostnamectl set-hostname <hostname># 修改 hosts 配置(可以只修改 master,或者所有節點) cat >> /etc/hosts << EOF 172.27.31.149 joker-master-1 172.27.31.148 joker-node-1 172.27.31.147 joker-node-2 EOF# 將橋接的IPv4流量傳遞到iptables的鏈 cat > /etc/sysctl.d/k8s.conf << EOF net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF sysctl --system # 生效# 時間同步 yum install -y ntpdate ntpdate time.windows.com

所有節點安裝docker

wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repoyum -y install docker-ce-18.06.1.ce-3.el7systemctl enable docker && systemctl start docker# 配置 docker 鏡像加速 cat > /etc/docker/daemon.json << EOF {"registry-mirrors": ["you docker mirror acceleration address"] } EOF

所有節點安裝 Kubctl

# 配置阿里云 Kubernetes yum 軟件源 cat > /etc/yum.repos.d/kubernetes.repo << EOF [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=0 repo_gpgcheck=0 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOFyum install -y kubectl-1.20.15

所有節點 SSH Server 配置

vim /etc/ssh/sshd_config# 允許 TCP 轉發 AllowTcpForwarding yes# 重啟 sshd 服務 systemctl restart sshd.service

所有節點開放端口KubeAPI:6443?和etcd:2379

為所有節點創建用戶,并設置 ssh 免密登錄

1.創建用戶

# 創建用戶: rke useradd rke# 設置用戶密碼 passwd rke# 將用戶添加到 docker 組中 usermod -aG docker rke# 登錄新創建的用戶 rke,測試 docker 權限 su rke docker ps # 出現下面這段代碼說明配置成功 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

2. 配置 ssh 免密登錄(使用新創建的用戶進行配置

# 生成 ssh 秘鑰 ssh-keygen -t rsa# 配置免密登錄 ssh-copy-id rke@172.27.31.149 ssh-copy-id rke@172.27.31.148 ssh-copy-id rke@172.27.31.147

登錄驗證

?安裝 RKE 二進制包

wget https://github.com/rancher/rke/releases/download/v1.3.7/rke_linux-amd64 # 將下載好的 rke 二進制包移動到 /usr/bin 目錄下,并賦予權限# 如果當前登錄用戶非 root 帳號,切換到 root su root# 移動 rke 二進制包 mv rke_linux-amd64 /usr/bin/rke# 文件授權 chmod +x /usr/bin/rke

驗證版本

rke --version

?

K8S部署文件有兩種生成方式(使用創建的用戶操作

1.使用rke生成配置文件

rke config --name cluster.yml[+] Cluster Level SSH Private Key Path [~/.ssh/id_rsa]: # ssh 秘鑰保存路徑 [+] Number of Hosts [1]: # 配置主機數 [+] SSH Address of host (1) [none]: # 第一臺主機 SSH 地址 [+] SSH Port of host (1) [22]: # 第一臺主機 SSH 端口號 [+] SSH Private Key Path of host (139.196.77.13) [none]: /home/rke/.ssh/id_rsa # 第一臺主機 SSH 秘鑰路徑 [+] SSH User of host (139.196.77.13) [ubuntu]: rke # 第一臺主機用戶(就是我們上面創建的用戶) [+] Is host (139.196.77.13) a Control Plane host (y/n)? [y]: y # 參考 Rancher 官方文檔 [+] Is host (139.196.77.13) a Worker host (y/n)? [n]: y # 參考 Rancher 官方文檔 [+] Is host (139.196.77.13) an etcd host (y/n)? [n]: y # 參考 Rancher 官方文檔 [+] Override Hostname of host (139.196.77.13) [none]: joker-master-1 # 第一臺主機 hostname [+] Internal IP of host (139.196.77.13) [none]: 172.27.31.149 # 第一臺主機內網地址 [+] Docker socket path on host (139.196.77.13) [/var/run/docker.sock]: [+] SSH Address of host (2) [none]: # 第二臺主機 SSH 地址 [+] SSH Port of host (2) [22]: [+] SSH Private Key Path of host (106.14.156.233) [none]: /home/rke/.ssh/id_rsa [+] SSH User of host (106.14.156.233) [ubuntu]: rke [+] Is host (106.14.156.233) a Control Plane host (y/n)? [y]: n [+] Is host (106.14.156.233) a Worker host (y/n)? [n]: y [+] Is host (106.14.156.233) an etcd host (y/n)? [n]: y [+] Override Hostname of host (106.14.156.233) [none]: joker-node-1 [+] Internal IP of host (106.14.156.233) [none]: 172.27.31.148 [+] Docker socket path on host (106.14.156.233) [/var/run/docker.sock]: [+] SSH Address of host (3) [none]: # 第三臺主機 SSH 地址 [+] SSH Port of host (3) [22]: [+] SSH Private Key Path of host (106.14.199.170) [none]: /home/rke/.ssh/id_rsa [+] SSH User of host (106.14.199.170) [ubuntu]: rke [+] Is host (106.14.199.170) a Control Plane host (y/n)? [y]: n [+] Is host (106.14.199.170) a Worker host (y/n)? [n]: y [+] Is host (106.14.199.170) an etcd host (y/n)? [n]: y [+] Override Hostname of host (106.14.199.170) [none]: joker-node-2 [+] Internal IP of host (106.14.199.170) [none]: 172.27.31.147 [+] Docker socket path on host (106.14.199.170) [/var/run/docker.sock]: [+] Network Plugin Type (flannel, calico, weave, canal, aci) [canal]: flannel # 網絡組件 [+] Authentication Strategy [x509]: [+] Authorization Mode (rbac, none) [rbac]: [+] Kubernetes Docker image [rancher/hyperkube:v1.22.6-rancher1]: rancher/hyperkube:v1.20.15-rancher1 # k8s 鏡像版本,參考 RKE 官方文檔 [+] Cluster domain [cluster.local]: [+] Service Cluster IP Range [10.43.0.0/16]: [+] Enable PodSecurityPolicy [n]: [+] Cluster Network CIDR [10.42.0.0/16]: [+] Cluster DNS Service IP [10.43.0.10]: [+] Add addon manifest URLs or YAML files [no]:

這樣就會在當前文件夾下生成一個 cluster.yml 文件

2. 手動編寫一個 cluster.yml 文件,參考文檔:Kubernetes 配置選項 | Rancher文檔

安裝部署 K8S 集群

rke up --config cluster.yml

這個要耐心等待一會兒。因為需要下載許多鏡像。

如果出現如下錯誤

說明所有服務器之間 SSH 免密登錄沒有配置好。如果 SSH 免密登錄沒有問題,則檢查 cluster.yml 文件中每個 node 下的 user 配置是否有問題。

?當出現如下信息,則證明集群已部署完成。

安裝結束后,會生成兩份文件?

  • cluster.yml:RKE 集群的配置文件(我們手動生成的配置文件)。
  • kube_config_cluster.yml:該集群的Kubeconfig 文件包含了獲取該集群所有權限的認證憑據。
  • cluster.rkestate:Kubernetes 集群狀態文件,包含了獲取該集群所有權限的認證憑據,使用 RKE v0.2.0 時才會創建這個文件。

使用?kube_config_cluster.yml文件查看集群狀態

?至此,K8S集群就已經搭建完成。

參考文檔:使用 RKE 安裝 Kubernetes | Rancher文檔

部署 Rancher(可以使用root用戶進行操作

1.安裝 helm

# 下載 helm 二進制包 wget https://get.helm.sh/helm-v3.5.0-linux-amd64.tar.gz# 解壓 tar -zxvf helm-v3.5.0-linux-amd64.tar.gz# 這一步需要 root 用戶操作,否則可能會有權限不足的問題 mv linux-amd64/helm /usr/bin

2.為 Rancher 創建 Namespace

kubectl create namespace cattle-system

如果出現

?說明 kubectl 沒有找到相關的配置。還記得上面生成的?kube_config_cluster.yml 文件么?你可以在命令中間添加 --kubeconfig 指定?kube_config_cluster.yml 文件路徑來執行。

kubectl --kubeconfig /home/rke/kube_config_cluster.yml apply -f cert-manager.crds.yaml

也可以將?kube_config_cluster.yml 文件添加到系統變量中

echo export KUBECONFIG=/home/rke/kube_config_cluster.yml >> ~/.bash_profilesource ~/.bash_profile

?這樣 kubectl 就不需要在指定 --kubeconfig 文件了

?3.選擇 SSL 選項(這里選用 Rancher 生成的 TLS 證書,因此需要 cert-manager)

# 如果你手動安裝了CRD,而不是在Helm安裝命令中添加了`--set installCRDs=true`選項,你應該在升級Helm chart之前升級CRD資源。 kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.5.1/cert-manager.crds.yaml# 添加 Jetstack Helm 倉庫 helm repo add jetstack https://charts.jetstack.io# 更新本地 Helm chart 倉庫緩存 helm repo update# 安裝 cert-manager Helm chart helm install cert-manager jetstack/cert-manager \--namespace cert-manager \--create-namespace \--version v1.5.1

安裝完 cert-manager 后,你可以通過檢查 cert-manager 命名空間中正在運行的 Pod 來驗證它是否已正確部署:

kubectl get pods --namespace cert-managerNAME READY STATUS RESTARTS AGE cert-manager-56b686b465-lh5gj 1/1 Running 0 65s cert-manager-cainjector-75c94654d-6s7n4 1/1 Running 0 65s cert-manager-webhook-d4fd4f479-rzxh4 1/1 Running 0 65s

4.通過 helm 安裝 Rancher

helm install rancher rancher-stable/rancher \--namespace cattle-system \--set hostname=rancher.my.org \--set replicas=3 \--version 2.5.12
  • namespace:命名空間
  • hostname:負載均衡器的 DNS 記錄,你需要通過這個域名來訪問 Rancher Server。
  • replicas:設置為 Rancher 部署所使用的副本數量。
  • version:Rancher 版本

等待 Rancher 運行:

kubectl -n cattle-system rollout status deploy/rancherWaiting for deployment "rancher" rollout to finish: 0 of 3 updated replicas are available... deployment "rancher" successfully rolled out

?查看 Rancher 運行狀態

kubectl -n cattle-system get deploy rancherNAME READY UP-TO-DATE AVAILABLE AGE rancher 3/3 3 3 3m29s

至此,Rancher 部署也就完成了!

參考文檔:高可用安裝指南 | Rancher文檔


接下來我們測試一下我們安裝完成后的 Rancher。

因為我沒有購買域名,所以我需要做如下操作:

1.首先修改服務器的 hosts 文件,添加映射關系

vim /etc/hosts

?本地電腦也要修改一下 hosts 文件,linux 系統同上操作,windows 系統,hosts 文件路徑為?C:\Windows\System32\drivers\etc\hosts,添加同上的操作。

2.配置完成后,打開瀏覽器訪問:rancher.my.org,由于第一次訪問,需要重新設置密碼

至此記錄一下 K8S、Rancher 學習。感謝網上的眾多大佬分享經驗!

文檔中所有內容,官網中均可找到!

總結

以上是生活随笔為你收集整理的RKE安装部署K8S集群、Rancher的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。