CentOS7下快速搭建K8s集群實踐

2021-02-23 WalkingCloud

點擊上方"walkingcloud"關注,並選擇"星標"公眾號

Kubernetes 是一個可移植的、可擴展的開源平臺,用於管理容器化的工作負載和服務,可促進聲明式配置和自動化。

Kubernetes 擁有一個龐大且快速增長的生態系統。Kubernetes 的服務、支持和工具廣泛可用。 

K8s的概念就不贅述了

(圖片可放大查看)

(圖片可放大查看)

CentOS7下快速搭建K8s集群實踐

也可以參考之前文章

CentOS7環境下快速部署Kubernetes(k8s)集群

CentOS7下利用Rancher搭建K8s集群

具體步驟如下

1、基礎環境說明

CentOS7.6伺服器4臺 

6 CPU/4G Mem

192.168.198.200 master.walkingcloud.cn
192.168.198.201 node1.walkingcloud.cn
192.168.198.202 node2.walkingcloud.cn
192.168.198.203 node3.walkingcloud.cn

(圖片可放大查看)

2、使用腳本安裝docker-ce以及k8s所需的基礎組件rpm包

上傳docker20.10_k8s1.20_localrpm.tar.gz和docker_k8s_init_v1.sh腳本到4臺伺服器

執行腳本sh docker_k8s_init_v1.sh 

(圖片可放大查看)

docker_k8s_init_v1.sh腳本內容如下

#!/bin/bash
cat >> /etc/hosts << EOF
192.168.198.200 master.walkingcloud.cn 
192.168.198.201 node1.walkingcloud.cn
192.168.198.202 node2.walkingcloud.cn
192.168.198.203 node3.walkingcloud.cn
EOF

echo "作業系統環境初始化-"
swapoff -a
#若需要永久關閉swap,需要在/etc/fstab中注釋掉swap分區一行
systemctl stop firewalld
systemctl disable firewalld
sed -i 's/enforcing/disabled/' /etc/selinux/config
setenforce 0
echo "net.bridge.bridge-nf-call-iptables = 1 ">>/etc/sysctl.d/k8s.conf
echo "net.bridge.bridge-nf-call-ip6tables = 1 ">>/etc/sysctl.d/k8s.conf
sysctl --system
echo "docker-ce以及k8s本地rpm包解壓----"
tar -zxvf docker20.10_k8s1.20_localrpm.tar.gz -C /opt
echo "docker-ce以及kubelet,kubectl等基礎組件安裝-"
cd /opt/docker20.10_k8s1.20_localrpm
yum -y localinstall  *.rpm
systemctl enable docker
systemctl start docker
docker version
systemctl enable kubelet 
systemctl start kubelet

echo "docker-ce以及k8s aliyun鏡像源配置-"
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[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
EOF
yum clean all
yum makecache fast

3、主節點進行初始化kubeadm init

apiserver-advertise-address指定為主節點的IP:192.168.198.200

kubeadm init --apiserver-advertise-address=192.168.198.200 --pod-network-cidr=10.244.0.0/16 --image-repository registry.aliyuncs.com/google_containers --ignore-preflight-errors=Swap

(圖片可放大查看)

(圖片可放大查看)

4、master節點運行上一步的提示命令

根據上一步的提示執行如下命令

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

(圖片可放大查看)

5、主節點安裝網絡flannel組件
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
kubectl apply -f kube-flannel.yml

(圖片可放大查看)

6、節點依次加入集群

其中token是主節點初始化kubeadm init完成時的提示

 kubeadm join 192.168.198.200:6443 --token aunv86.6hnhiviy4wowycab \
>     --discovery-token-ca-cert-hash sha256:33c612204e0ba85bfaa15ee07f4c30b8da209ab63df2521617c1b509c56a9fc8

(圖片可放大查看)

7、集群狀態檢查

加入集群需要一點時間,如果節點狀態為notReady請等待幾分鐘 

如果全部為ready就說明加入成功

 kubectl get nodes
 kubectl get pod --all-namespaces -o wide

(圖片可放大查看)

(圖片可放大查看)

公眾號後臺回復【k8s獲取docker20.10_k8s1.20_localrpm.tar.gz和docker_k8s_init_v1.sh腳本文件

給小編加雞腿!😂

相關焦點

  • 一分鐘,搭建k8s集群
    JAVA環境作者|劉蒞hello大家好,今天我們一起動手,採用kubeadm方式,搭建一個k8s集群。單master集群我們搭建單master集群,一個master(為了保證高可用,生產中需要搭建多master集群)。
  • Centos7搭建k8s環境教程,一次性成功!
    為什麼是k8s v1.16.0?最新版的v1.16.2試過了,一直無法安裝完成,安裝到kubeadm init那一步執行後,報了很多錯,如:node xxx not found等。centos7都重裝了幾次,還是無法解決。用了一天都沒安裝完,差點放棄。
  • Centos7搭建k8s環境教程,一次性成功,收藏了!
    為什麼是k8s v1.16.0? 最新版的v1.16.2試過了,一直無法安裝完成,安裝到kubeadm init那一步執行後,報了很多錯,如:node xxx not found等。centos7都重裝了幾次,還是無法解決。用了一天都沒安裝完,差點放棄。
  • K8S系列之一:k8s集群搭建
    機器準備準備三臺機器k8s-master: 此機器用來安裝k8s-master的操作環境k8s-node01: 此機器用來安裝
  • 在 Windows 下使用 WSL2 搭建 Kubernetes 集群
    本文我們將介紹如何在 Windows10 下使用 WSL2 和 KinD 來搭建一套 Kubernetes 集群。
  • kubeadm搭建的K8S集群升級
    備份集群kubeadm upgrade 不會影響你的工作負載,只會涉及 Kubernetes 內部的組件,但備份終究是好的。這裡主要是對集群的所有資源進行備份,我使用的是一個開源的腳本,項目地址是:https://github.com/solomonxu/k8s-backup-restore(1)下載腳本$ mkdir -p /datacd /datagit clone https://
  • 使用kubeadm快速部署一套K8S集群
    快速部署K8S集群2.1 kubernetes 官方提供的三種部署方式Minikube是一個工具,可以在本地快速運行一個單點的Kubernetes,僅用於嘗試Kubernetes或日常開發的用戶使用。部署地址:https://kubernetes.io/docs/setup/minikube/Kubeadm也是一個工具,提供kubeadm init和kubeadm join,用於快速部署Kubernetes集群。
  • CentOS7下搭建ClickHouse集群
    (圖片可放大查看)三、CentOS7下搭建ClickHouse集群1、基礎環境介紹 三臺CentOS7.9伺服器(均可以訪問網際網路)2、利用腳本搭建zookeeper+clickhouse集群 具體操作步驟cd /optrz上傳clickhouse.zipunzip clickhouse.zip#所在節點執行對應的安裝腳本#例如node1執行sh jdk_zookeeper_clickhouse_node1.sh
  • 如何基於k8s快速搭建TeamCity(YAML分享)
    最近有朋友基於之前的博客《Docker最全教程之使用TeamCity來完成內部CI、CD流程(十七)》搭建TeamCity時出現了一些問題,由於平常比較忙
  • k8s(二) ---- kubeadm 的方式搭建 k8s 集群
    2.2 k8s 集群規劃2.2.1 平臺規劃如果是虛擬機環境, 則要求更高, 一主多從集群環境在 16G 內存 + SSD 的 MacBook Pro 上偶爾已經可以感受到卡頓2.2.3 搭建集群的方式簡單, 快速, 組件自動安裝
  • 邊緣計算k8s集群之SuperEdge
    SuperEdge 能在邊緣側持續守護進程,並收集節點的故障信息,實現更加快速和精準的問題發現與報告。此外,其分布式的設計還可以實現多區域、多範圍的監測和管理內置邊緣編排能力:SuperEdge 能夠自動部署多區域的微服務,方便管理運行於多個地區的微服務。
  • 雲原生:windows 10家庭版使用kind啟動本地k8s測試集群
    本文的目的是介紹如何在本地啟動k8s測試集群。生產環境安裝請參考官方文檔。
  • k8s之DNS伺服器搭建
    答案是可以的,這就是k8s集群範圍內的DNS服務來完成服務名到ClusterIP的解析,接下來就一起看一下如何搭建DNS伺服器。二、搭建DNS伺服器(1)簡介k8s提供的DNS服務是skydns,由四個組件組成etcd:DNS信息存儲kube2sky:監控k8s中Service資源的變化,根據Service的名稱的IP位址信息生成DNS記錄,並將其保存到etcd中skyDNS:從etcd中讀取DNS信息,並提供DNS查詢服務healthz
  • 使用kubeadm快速部署一套穩定的K8S集群
    集群部署3.1 啟動maser節點3.2 部署 flannel3.3 添加worker 節點四、harbor部署4.1 docker-compose安裝4.2 harbor配置4.3 harbor安裝並啟動4.4 訪問harbor4.5 踩坑記錄一、 作業系統初始化配置
  • Demo演示 | 人臉識別Openface在K8S上的實踐
    將官方鏡像pull下來:docker pull docker.io/bamos/openface至此,我們已經做了最基礎的準備,下面開始分別在docker和Kubernetes上實踐。首先我們要搭建個Kubernetes集群,這個可以在其官網上參考安裝教程。我們將其安裝在centos7上,現在我們已經有了一個具有6個節點的Kubernetes集群其中vm1為master,其餘為計算節點。
  • 使用kubeadm創建K8S單控制節點集群
    cd ~/devenv_bootstrapvi inventory/k8s-masters.ymlvi inventory/k8s-nodes.yml一鍵創建 master + nodes 虛擬機ansible-playbook .
  • 基於首雲K8S快速搭建EFK
    1.首雲平臺創建集群,通過以下界面創建集群,整個集群創建時間在20-30分鐘左右。
  • 公有雲k8s+容器方式部署5GC(5G核心網)實踐
    free5GC的VIM可支持k8s或者openstack,經個人測試,openstack太重,果斷棄之使用k8s,也就是創建k8s集群的方式由k8s對硬體資源進行統一管理,將一臺(或幾臺)主機安裝成K8s控制節點,其他主機作為工作節點join到集群中承載工作負荷,其他的實體(如VNFM、NFVO、各VNF等)以k8s pod的方式進行運行。
  • 基於k8s手動部署rabbitmq集群
    目錄1、RabbitMQ介紹2、RabbitMQ的持久化和鏡像隊列3、RabbitMQ集群在k8s中的部署3.1 環境介紹3.2 創建configmap3.3 創建service3.4 創建rbac授權3.5 創建statefulset
  • 高可用安裝K8s集群1.20.x
    基本配置所有節點配置hosts[root@k8s-master01 ~]# cat /etc/hosts192.168.0.201 k8s-master01192.168.0.202 k8s-master02192.168.0.203 k8s-master03192.168.0.236 k8s-master-lb # 如果不是高可用集群,該IP