最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用kubeadm部署kubernetes1.27.1版本教程

 更新時間:2025年08月13日 09:08:16   作者:珂玥c  
文章概述了K8s集群搭建的準備與兩種部署方式:kubeadm(快速)和二進制(手動),涵蓋單master配置、硬件要求、網(wǎng)絡設置及初始化流程,適用于測試環(huán)境,提供參考經(jīng)驗

一、搭建前的準備

1. 搭建k8s的平臺規(guī)劃

單master集群:只有一個master,管理多個node節(jié)點。

多master集群:擁有多個master,管理多個node節(jié)點。高可用模式。比單master集群多一個負載均衡的步驟。

 

test環(huán)境搭建,因此采用單master集群,如后續(xù)有需要可再增加master。

2. 服務器硬件配置要求

  • master節(jié)點:
測試環(huán)境生產(chǎn)環(huán)境
CPU28
內(nèi)存

4G

16G
硬盤20G100G
  • node節(jié)點:
測試環(huán)境生產(chǎn)環(huán)境
CPU416
內(nèi)存8G

64G

硬盤

40G

500G

3. 搭建部署的方式

目前常見的有兩種方式:

1)kubeadm方式

  • kubeadm是k8s的一個部署工具,部署方式比較簡單。只需要用到兩個命令,kubeadm init(初始化)和 kubeadm join(將node節(jié)點加入到master中)。可以快速部署k8s集群。
  • 優(yōu)點是快速,無需額外自己處理。比較常見且節(jié)約時間

官方鏈接:https://kubernetes.io/docs/reference/setup-tools/kubeadm/

2)二進制方式

  • 從 github 下載二進制包,手動部署每個組件,過程比較麻煩。
  • 優(yōu)點是,遇到問題后可以精準定位,有利于后續(xù)維護。畢竟是自己一步一步操作的,更清楚里面的彎彎繞繞~

二、搭建流程

1. kubeadm搭建方式

大致流程:

1)創(chuàng)建一個master節(jié)點 kubeadm init

2)將node節(jié)點加入到當前集群中 kubeadm join <master節(jié)點的ip和端口>

3)配置網(wǎng)絡插件和測試k8s集群

機器配置:

  • -- 準備了一臺master,一臺node。硬件配置CPU 2核,內(nèi)存251G,硬盤500G
  • -- 機器之間可以互相ping通,操作系統(tǒng)為CentOS7
  • -- 禁止swap分區(qū)
  • -- 可以拉取鏡像
master: 192.10.18.102
node: 192.10.18.103

a. 準備工作,系統(tǒng)初始化

由于自己用的是之前配置好的舊物理機,所以跳過此流程。如果需要用虛擬機的話。要進行安裝3臺Centos7.x的操作系統(tǒng),之后進行如下初始化:

  • 1)關閉防火墻
systemctl stop firewalld
systemctl disable firewalld
  • 2)關閉selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config   #永久關閉
setenforce 0  #臨時關閉
  • 3)關閉swap
swapoff -a  #臨時關閉
sed -ri 's/."swap."/#&/' /etc/fstab  #永久關閉
  • 4)設置主機名
hostnamectl set-hostname <hostname>
  • 5)只在master添加hosts
cat >> /etc/hosts << EOF
ip master
ip node1
ip node2
EOF
  • 6)將橋接的ipv4流量傳遞到iptables的鏈,配置內(nèi)核參數(shù)和優(yōu)化 
cat > /etc/sysctl.d/k8s.conf <<EOF

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

net.ipv4.ip_forward = 1

EOF


sysctl --system   #生效命令
  • 7)時間同步
yum install ntpdate -y
ntpdate time.windows.com
  • 8)安裝ipset、ipvsadm 
yum -y install conntrack ipvsadm ipset jq iptables curl sysstat libseccomp wget vim net-tools git

cat > /etc/modules-load.d/ipvs.conf <<EOF
# Load IPVS at boot
ip_vs

ip_vs_rr

ip_vs_wrr

ip_vs_sh

nf_conntrack

nf_conntrack_ipv4

EOF


systemctl enable --now systemd-modules-load.service
###注?。。∪舸颂幨?,可能是因為內(nèi)核版本低導致的,可升級內(nèi)核后,再執(zhí)行此命令#####


#確認內(nèi)核模塊加載成功
lsmod |egrep "ip_vs|nf_conntrack_ipv4"

b. 升級內(nèi)核(根據(jù)自己情況進行選擇,滿足時可不升級)

  • 1)查看系統(tǒng)版本
cat /etc/redhat-release
  • 2)查看當前內(nèi)核版本
uname -r
  • 3)檢查是否安裝ELRepo
yum  --disablerepo="*"  --enablerepo="elrepo-kernel"  list  available

看到error說明沒有安裝ELRepo

  • 4)升級安裝ELRepo

安裝

yum install -y https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm

或升級

rpm -Uvh https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
  • 5)查看可用安裝包, 長期維護版本為lt,最新主線穩(wěn)定版為ml
yum  --disablerepo="*"  --enablerepo="elrepo-kernel"  list  available
  • 6)安裝最新的內(nèi)核
yum  --enablerepo=elrepo-kernel  install  -y  kernel-lt
  • 7)查看可用內(nèi)核版本及啟動順序
awk -F\' '$1=="menuentry " {print i++ " : " $2}' /boot/grub2/grub.cfg
  • 8)安裝輔助工具(非必須,有些系統(tǒng)自帶該工具):grub2-pc
yum install -y grub2-pc
  • 9)設置內(nèi)核默認啟動順序
grub2-set-default 0
vim /etc/default/grub
GRUB_DEFAULT=0  #這里從原來的saved改為0
  • 10)生成grub配置文件

# 運行grub2-mkconfig命令來重新創(chuàng)建內(nèi)核配置

grub2-mkconfig -o /boot/grub2/grub.cfg
  • 11)重啟機器
reboot
  • 12)查看內(nèi)核版本是否正確
uname -r
  • 13)安裝 yum-utils 工具

當系統(tǒng)安裝的內(nèi)核大于3個時,會自動刪除舊的內(nèi)核版本或自己查看已經(jīng)安裝的內(nèi)核后手動yum  remove -y 進行刪除舊版本

yum install -y  yum-utils
  • 14)刪除舊的工具包
yum remove kernel-tools-libs.x86_64 kernel-tools.x86_64
  • 15)安裝新版本的工具包
yum --disablerepo=\* --enablerepo=elrepo-kernel install -y kernel-lt-tools.x86_64
  • 16)查看已安裝內(nèi)核
rpm -qa | grep kernel

c. 設置一下ipv4,否則會失?。ù颂帪榭樱辉O置無法初始化成功)

vim /etc/sysconfig/modules/ipvs.modules

cat /etc/sysconfig/modules/ipvs.modules
nf_conntrack

systemctl enable --now systemd-modules-load.service

lsmod |egrep "ip_vs|nf_conntrack_ipv4"

lsmod |egrep "ip_vs|nf_conntrack_ipv"


d. 安裝containerd

1)安裝依賴軟件包

yum -y install yum-utils device-mapper-persistent-data lvm2

2)添加阿里Docker源

[root@k8s-master ~]
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3)添加overlay和netfilter模塊

cat >>/etc/modules-load.d/containerd.conf <<EOF

overlay

br_netfilter

EOF
modprobe overlay

modprobe br_netfilter

4)安裝Containerd,這里安裝最新版本(1.5版本及以下不可使用)

yum -y install containerd.io

5)創(chuàng)建Containerd的配置文件

mkdir -p /etc/containerd

containerd config default > /etc/containerd/config.toml

sed -i '/SystemdCgroup/s/false/true/g' /etc/containerd/config.toml

sed -i '/sandbox_image/s/registry.k8s.io/registry.aliyuncs.com\/google_containers/g' /etc/containerd/config.toml

6)啟動containerd

systemctl enable containerd

systemctl start containerd

e.安裝kubectl、kubelet、kubeadm

1)添加阿里kubernetes源 

vim /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

2)安裝kubectl、kubelet、kubeadm

查看所有的可用版本

 yum list kubelet --showduplicates |grep 1.27

這里安裝當前最新版本1.27.1

yum -y install kubectl-1.27.1 kubelet-1.27.1 kubeadm-1.27.1

設置開機自啟kubelet(此時并沒有kubelet配置文件無法啟動,正常狀況)

systemctl enable kubelet

systemctl start kubelet

f. master節(jié)點進行初始化操作

1)查看k8s v1.27.1初始化所需要的鏡像

kubeadm config images list --kubernetes-version=v1.27.1

2)初始化命令

kubeadm init --kubernetes-version=1.27.1 --apiserver-advertise-address=10.142.50.190 --image-repository registry.aliyuncs.com/google_containers --pod-network-cidr=10.244.0.0/16

注:pod的網(wǎng)段為: 10.244.0.0/16,api server地址為Master本機IP,網(wǎng)段可以自定義,不沖突即可。

參數(shù)詳解:

指定版本。(可按需修改版本)

  • -- 設置了apiserver,即當前節(jié)點的ip。
  • -- 指定鏡像倉庫地址,拉取鏡像。
  • -- service-cidr是svc網(wǎng)絡  kubectl get svc #查看svc信息   

默認使用10.96.0.0/12

  • -- pod-network-cidr 是pod網(wǎng)絡    kubectl get pods -o wide #查看pod網(wǎng)絡信息
  • -- k8s內(nèi)部的pod節(jié)點之間網(wǎng)絡可以使用的IP段,不能和service-cidr寫一樣,默認使用10.244.0.0/16

此操作,等待時間較長

3)成功返回信息,執(zhí)行返回內(nèi)容即可

Your Kubernetes control-plane has initialized successfully!

 
To start using your cluster, you need to run the following as a regular user:
 

  mkdir -p $HOME/.kube

  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

  sudo chown $(id -u):$(id -g) $HOME/.kube/config

Alternatively, if you are the root user, you can run:

  export KUBECONFIG=/etc/kubernetes/admin.conf

You should now deploy a pod network to the cluster.

Run "kubectl apply -f [podnetwork].yaml" with one of the options listed at:

https://kubernetes.io/docs/concepts/cluster-administration/addons/

Then you can join any number of worker nodes by running the following on each as root:


kubeadm join IP:6443 --token maod8l.w4g2cu2tl4er9gil \

  --discovery-token-ca-cert-hash sha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

master節(jié)點執(zhí)行

  mkdir -p $HOME/.kube

  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

  sudo chown $(id -u):$(id -g) $HOME/.kube/config

node節(jié)點執(zhí)行

kubeadm join IP:6443 --token maod8l.w4g2cu2tl4er9gil \

  --discovery-token-ca-cert-hash sha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

2. 二進制搭建流程

  • a. 創(chuàng)建多臺虛擬機,安裝linux操作系統(tǒng)
  • b. 操作系統(tǒng)初始化(各種關關關)
  • c. 為etcd和apiserver自簽證書(相當于門禁卡,保證互通)
  • d. 部署etcd集群
  • e. 部署master組件
kube-apiserver   kube-controller-manager   kube-scheduler  etcd
  • f. 部署node組件
kubelet   kube-proxy  docker  etcd 
  • g. 部署集群網(wǎng)絡

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • K8s Pod調(diào)度機制詳解(從理論到生成實戰(zhàn)指南)

    K8s Pod調(diào)度機制詳解(從理論到生成實戰(zhàn)指南)

    Kubernetes調(diào)度機制是集群的智能調(diào)度中樞,主要完成過濾和打分兩個決策,在生產(chǎn)環(huán)境中,核心調(diào)度策略包括資源調(diào)度、親和性調(diào)度、污點與容忍、拓撲分布約束等,本文介紹K8s Pod調(diào)度機制詳解(從理論到生成實戰(zhàn)指南),感興趣的朋友一起看看吧
    2025-03-03
  • 使用sealos快速搭建K8s集群環(huán)境的過程

    使用sealos快速搭建K8s集群環(huán)境的過程

    這篇文章主要介紹了使用sealos快速搭建K8s集群環(huán)境,主要包括sealos安裝方法,虛擬機設置方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09
  • Kubernetes?DNS解析實戰(zhàn)過程

    Kubernetes?DNS解析實戰(zhàn)過程

    Kubernetes中,Pod需Ready狀態(tài)才會被CoreDNS解析,而Service創(chuàng)建時即添加記錄,當服務依賴Pod解析時易引發(fā)啟動死循環(huán),通過設置Service的publishNotReadyAddresses為true,可解決此問題,允許未就緒Pod的IP立即被解析
    2025-09-09
  • k8s容器的內(nèi)存設置的踩坑記錄

    k8s容器的內(nèi)存設置的踩坑記錄

    這篇文章主要介紹了k8s容器的內(nèi)存設置的踩坑記錄,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-07-07
  • K8S中五種控制器的介紹以及使用

    K8S中五種控制器的介紹以及使用

    這篇文章主要給大家介紹了關于K8S中五種控制器及使用的相關資料,控制器 又稱之為工作負載,本文通過圖文以及實例代碼介紹的非常詳細,需要的朋友可以參考下
    2021-12-12
  • k8s?service?nodePort無法訪問的問題解決

    k8s?service?nodePort無法訪問的問題解決

    今天有一個項目做service nodeport轉發(fā),結果設置完之后發(fā)現(xiàn)外網(wǎng)訪問失敗,下面這篇文章主要給大家介紹了關于k8s?service?nodePort無法訪問的問題解決,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-01-01
  • k8s實現(xiàn)身份認證策略及過程解析

    k8s實現(xiàn)身份認證策略及過程解析

    這篇文章主要為大家介紹了k8s實現(xiàn)身份認證策略及過程解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • k8s之ingress-nginx詳解和部署方案

    k8s之ingress-nginx詳解和部署方案

    Ingress是一種向k8s集群外部的客戶端公開服務的方法,下面這篇文章主要給大家介紹了關于k8s之ingress-nginx詳解和部署方案的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-07-07
  • k8s集群部署過程

    k8s集群部署過程

    本文詳細介紹了如何部署Kubernetes集群,包括安裝Docker、配置阿里云YUM軟件源、安裝kubeadm、kubelet和kubectl,以及部署Kubernetes、安裝Pod網(wǎng)絡插件和將節(jié)點加入集群的過程,感興趣的朋友一起看看吧
    2025-03-03
  • K8s集群(kubeadm)CA證書過期的解決過程

    K8s集群(kubeadm)CA證書過期的解決過程

    在K8s集群中,CA證書和Token都會過期,導致新節(jié)點無法加入集群,需要備份舊證書,重新生成新證書和配置文件,更新kubectl配置,重啟kubelet,重新加入工作節(jié)點,驗證集群節(jié)點狀態(tài)和健康狀況,確保K8s集群正常運行
    2026-01-01

最新評論

文山县| 长寿区| 资源县| 沙河市| 灌南县| 定州市| 甘德县| 汉源县| 南溪县| 叙永县| 林州市| 明星| 桑植县| 云霄县| 北宁市| 长治市| 达孜县| 双城市| 镇雄县| 亳州市| 城步| 西城区| 渝中区| 海阳市| 元江| 南靖县| 湘潭市| 福海县| 同江市| 诸城市| 古丈县| 定西市| 杭州市| 青岛市| 枣阳市| 富宁县| 临泽县| 额济纳旗| 南川市| 惠州市| 沂南县|