【軟件安裝版本】【集群安裝(是) 】
版本號 | 文檔編寫 | 文檔審核 | 創建日期 | 修改日期 |
1.0 | 焦 | 焦 | 2022.4.10 | |
部署規劃與架構
規劃:(集群:網絡規劃,服務器規劃)
三臺樹莓派,安裝centos7,arm64版本,對應三臺機器
192.168.0.100 k8smaster
192.168.0. 101 k8snode1
192.168.0. 102 k8snode2
架構(集群:拓撲圖)
支撐業務
用于樹莓派項目自動化運維的集群
運行環境安裝
硬件
192.168.0.100 k8smaster: 樹莓派4b+ 8g,
192.168.0.101 k8snode1: 樹莓派4b+ 8g,
192.168.0. 102 k8snode2樹莓派4b+ 8g
CentOS-7-arrch64
依賴
docker-ce 18.09.9
k8s v1.16.0
環境配置
設置ssh,可ssh訪問,安裝
資源配置
192.168.0. 100 k8smaster: 8g內存,CPU 4核,120g硬盤
192.168.0. 101 k8snode1: 4g內存,CPU 2核,64g硬盤
192.168.0. 102 k8snode2: 4g內存,CPU 2核,64g硬盤
集群部署部署
安裝包獲取與安裝
操作系統:http://centos.mirror.digitalpacific.com.au/8/BaseOS/aarch64/
安裝教程:樹莓派安裝centos操作系統_水上冰石的博客-CSDN博客_樹莓派能裝centos嗎
檢測依賴環境是否就緒
查看docker和kubectl是否安裝
Kubectl 已安裝,先卸載
Kubectl get nodes
kubeadm reset -f rm -rf /etc/cni/net.d ipvsadm --clear modprobe -r ipip lsmod yum remove -y kubelet kubeadm kubectl rm -rf ~/.kube/ rm -rf /etc/kubernetes/ rm -rf /etc/systemd/system/kubelet.service.d rm -rf /etc/systemd/system/kubelet.service rm -rf /usr/bin/kube* rm -rf /etc/cni rm -rf /opt/cni rm -rf /var/lib/etcd rm -rf /var/etcd |
docker info,如果已安裝,先卸載
[root@localhost etc]# systemctl stop docker [root@localhost etc]# sudo systemctl stop docker.socket [root@localhost etc]# yum list installed |grep docker [root@localhost etc]# rpm -qa |grep docker [root@localhost etc]# yum -y remove docker*.aarch64 [root@localhost etc]# rm -rf /var/lib/docker |
安裝集群
3.1 安裝docker
所有節點:
安裝docker-ce 18.09.9(所有機器) ** 安裝docker所需的工具** sudo yum install -y yum-utils device-mapper-persistent-data lvm2 配置阿里云的docker源 sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 指定安裝這個版本的docker-ce docker-ce-cli-18.09.9-3.el7 這個也加上,不然會自動安裝高版本的docker命令行。 sudo yum install -y docker-ce-18.09.9-3.el7 docker-ce-cli-18.09.9-3.el7 啟動docker sudo systemctl enable docker && systemctl start docker ———————————————— 版權聲明:本文為CSDN博主「shelutai」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。 原文鏈接:https://blog.csdn.net/shelutai/article/details/122620084 |
3.2 安裝k8s
環境配置
設置k8s環境準備條件(所有機器) 關閉防火墻 sudo systemctl disable firewalld && sudo systemctl stop firewalld 關閉selinux 臨時禁用selinux sudo setenforce 0 永久關閉 修改/etc/sysconfig/selinux文件設置 sudo sed -i 's/SELINUX=permissive/SELINUX=disabled/' /etc/sysconfig/selinux sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux sudo sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config 禁用交換分區 sudo swapoff -a 永久禁用,打開/etc/fstab注釋掉swap那一行。 sudo sed -i 's/.*swap.*/#&/' /etc/fstab 修改內核參數 cat /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF sysctl --system |
主節點
安裝k8s v1.16.0 注意,這個只在master管理節點 執行配置k8s阿里云源 cat < /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-aarch64/ enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF 安裝kubeadm、kubectl、kubelet yum install -y kubectl-1.16.0-0 kubeadm-1.16.0-0 kubelet-1.16.0-0 啟動kubelet服務 systemctl enable kubelet && systemctl start kubelet |
3.3其他節點 安裝
安裝kubeadm、kubectl、kubelet yum install -y kubectl-1.16.0-0 kubeadm-1.16.0-0 kubelet-1.16.0-0 啟動kubelet服務 systemctl enable kubelet && systemctl start kubelet |
3.4 主節點初始化
kubeadm init --apiserver-advertise-address=192.168.65.130 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.16.0 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16 --token-ttl 0 |
出現下面圖為完成
3.5 主節點操作
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config |
3.6數據節點操作(從生成的日志里拷貝)
kubeadm join 192.168.65.130:6443 --token bzm6no.zazo7em8anknc1ms --discovery-token-ca-cert-hash xxxxxxx |
3.7 主節點操作
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml |
驗證
主節點下操作
kubectl get nodes |
需要等待幾分鐘,才會ready
?編輯
主節點修改標簽
kubectl label no k8snode1 kubernetes.io/role=k8snode1 kubectl label no k8snode2 kubernetes.io/role=k8snode2 |
注意事項
常見問題與解決方式
1.1 targetcli-2.1.53-1.el7_9.noarch 是 targetcli-2.1.fb49-1.el7.noarch 的副本
1,2 安裝沖突
Transaction check error: file /usr/bin/kubectl from install of kubectl-1.16.0-0.aarch64 conflicts with file from package kubernetes-client-1.5.2-0.7.git269f928.el7.centos.aarch64 錯誤概要 ------------- [root@k8smaster ~]# yum remove kubernetes-client-1.5.2-0.7.git269f928.el7.centos.aarch64 |
node節點:報錯
kubeadm join 192.168.0.200:6443 --token kllwou.lhjtvabxo194fi2r --discovery-token-ca-cert-hash sha256:ae4e31db3519691137eba1fd566eb073f2007da215f76e6b612ed17522b9e26b [preflight] Running pre-flight checks error execution phase preflight: [preflight] Some fatal errors occurred: [ERROR FileContent--proc-sys-net-bridge-bridge-nf-call-iptables]: /proc/sys/net/bridge/bridge-nf-call-iptables does not exist [preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...` To see the stack trace of this error execute with --v=5 or higher |
解決方案:參考:https://www.jianshu.com/p/4d2a84afebaa
yum install bridge-utils -y echo br_netfilter > /etc/modules-load.d/br_netfilter.conf modprobe br_netfilter |
重啟電腦
附件
K8s切換源地址:阿里云開源鏡像站資源目錄
參考博客:
1. Docker徹底卸載:https://blog.csdn.net/qq_29726869/article/details/113353315
2. https://blog.csdn.net/shelutai/article/details/122620084
-
物聯網
+關注
關注
2912文章
44865瀏覽量
375540 -
JAVA
+關注
關注
19文章
2973瀏覽量
104926 -
云平臺
+關注
關注
1文章
1322瀏覽量
39044 -
樹莓派
+關注
關注
117文章
1710瀏覽量
105780 -
邊緣計算
+關注
關注
22文章
3113瀏覽量
49269
發布評論請先 登錄
相關推薦
評論