星期五, 10月 06, 2023

RKE安裝

因公司某產品說在 RKE 平台上有問題,所以就找了資料,裝一套起來試試看,想不到意外的簡單。

參考資料

準備 VM 與配置 VM 環境

建立兩台 VM,可以使用 RHEL8

接下來動作,兩台都要作

移除 podman

sudo yum remove podman runc docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

安裝 docker-ce

sudo ls /etc/yum.repos.d wget https://download.docker.com/linux/centos/docker-ce.repo -O - | sudo tee /etc/yum.repos.d/docker.repo sudo yum install -y docker-ce-cli-20.10.24-3.el8 docker-ce-20.10.24-3.el8 sudo systemctl enable --now docker

關閉 swap

sudo swapoff -a

編輯 /etc/fstab ,註解掉 swap 該行

關閉 selinux

sudo setenforce 0 sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

關閉防火牆

sudo systemctl stop firewalld sudo systemctl disable firewalld

新增 sysctl 設定

新增 /etc/sysctl.d/99-k8s.conf

net.ipv4.ip_forward = 1 net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1

增加使用者 apadmin

sudo useradd apadmin sudo passwd apadmin sudo usermod -aG docker apadmin

安裝

在 bastion 上作業

下載 rke

因這邊有需求要裝 kubernetes 1.24,所以要下載對應的 rke 版本 1.43-rc3

這是在 bastion 主機上作

wget https://github.com/rancher/rke/releases/download/v1.4.3-rc3/rke_linux-amd64 -O /tmp/rke sudo mv /tmp/rke /usr/local/bin/rke sudo chmod +x /usr/local/bin/rke

配置 ssh 免密碼登入

ssh-keygen ssh-copy-id apadmin@<master> ssh-copy-id apadmin@<worker>

rke設定檔

先列出此版 rke 可安裝的 kubernetes 版本

rke config --list-version -all

輸出結果是

v1.24.8-rancher1-1 v1.25.5-rancher1-1 v1.23.14-rancher1-1

新增 cluster.yml ,裡面的 kubernetes_version 指定的 kubernetes 版本

cluster_name: ithome-rancher kubernetes_version: "v1.24.8-rancher1-1" nodes: - address: 10.11.23.81 user: apadmin role: [controlplane,worker,etcd] - address: 10.11.23.82 user: apadmin role: [worker,etcd] services: etcd: backup_config: enabled: true interval_hours: 6 retention: 60 network: plugin: flannel

開始安裝

執行以下指令就可以安裝

rke up

安裝後配置

安裝完成後,目錄裡會有 kube_config_cluster.yml 的檔案

這是給 kubectl 使用的檔案,先下載 kubectl

curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" sudo mv kubectl /usr/local/bin sudo chmod +x /usr/local/bin/kubectl

把 kube_config_cluster.yml 複製為 ~/.kube/config

mkdir -p ~/.kube cp kube_config_cluster.yml ~/.kube/config

接下來就可以用 kubectl 指令查看

kubectl get nodes kubectl get pods -A

沒有留言: