国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Kubernetes】kubeadm安裝k8s1.25.0高可用集群

這篇具有很好參考價(jià)值的文章主要介紹了【Kubernetes】kubeadm安裝k8s1.25.0高可用集群。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、初始化實(shí)驗(yàn)環(huán)境

詳情請(qǐng)參考 :
【Kubernetes】kubeadm安裝k8s穩(wěn)定版(1.23.1)高可用集群
這里不再贅述
這部分內(nèi)容還沒(méi)發(fā)布。。。后續(xù)有空再整理更新啦。

二、安裝containerd服務(wù)

2.1、安裝containerd

master、node節(jié)點(diǎn)都需要操作

# 1、安裝
yum install  containerd.io-1.6.6 -y
# 2、生成containerd配置文件
mkdir -p /etc/containerd
containerd config default > /etc/containerd/config.toml
# 3、修改配置文件 
vim /etc/containerd/config.toml
# 把SystemdCgroup = false修改成
SystemdCgroup = true
# 把sandbox_image = "k8s.gcr.io/pause:3.6"修改成
sandbox_image="registry.aliyuncs.com/google_containers/pause:3.7"

# 4、配置 containerd 開(kāi)機(jī)啟動(dòng),并啟動(dòng) containerd
systemctl enable containerd  --now
# 5、修改/etc/crictl.yaml文件
cat > /etc/crictl.yaml <<EOF
runtime-endpoint: unix:///run/containerd/containerd.sock
image-endpoint: unix:///run/containerd/containerd.sock
timeout: 10
debug: false
EOF
# 6、重啟contaiinerd
systemctl restart  containerd

2.2、安裝docker

docker也要安裝,docker跟containerd不沖突,安裝docker是為了能基于dockerfile構(gòu)建鏡像。

master、node節(jié)點(diǎn)都需要操作

yum install  docker-ce  -y
systemctl enable docker --now

2.3、配置鏡像加速器

# 1、配置containerd鏡像加速器,k8s所有節(jié)點(diǎn)均按照以下配置:
# 編輯vim /etc/containerd/config.toml文件
# 找到config_path = "",修改成如下目錄:
config_path = "/etc/containerd/certs.d"

# 2、添加/etc/containerd/certs.d/docker.io/hosts.toml文件
mkdir /etc/containerd/certs.d/docker.io/ -p
vim /etc/containerd/certs.d/docker.io/hosts.toml
#寫(xiě)入如下內(nèi)容:
[host."https://vh3bm52y.mirror.aliyuncs.com",host."https://registry.docker-cn.com"]
  capabilities = ["pull"]

# 3、重啟containerd:
systemctl restart containerd

# 4、配置docker鏡像加速器,k8s所有節(jié)點(diǎn)均按照以下配置
vim /etc/docker/daemon.json
# 寫(xiě)入如下內(nèi)容:
{
 "registry-mirrors":["https://vh3bm52y.mirror.aliyuncs.com","https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn","https://dockerhub.azk8s.cn","http://hub-mirror.c.163.com"]
} 

# 5、重啟docker:
systemctl restart docker

三、安裝初始化k8s需要的軟件包

3臺(tái)機(jī)器都要安裝

yum install -y kubelet-1.25.0 kubeadm-1.25.0 kubectl-1.25.0
systemctl enable kubelet

注:每個(gè)軟件包的作用

  • Kubeadm: kubeadm是一個(gè)工具,用來(lái)初始化k8s集群的
  • kubelet: 安裝在集群所有節(jié)點(diǎn)上,用于啟動(dòng)Pod的,kubeadm安裝k8s,k8s控制節(jié)點(diǎn)和工作節(jié)點(diǎn)的組件,都是基于pod運(yùn)行的,只要pod啟動(dòng),就需要kubelet
  • kubectl: 通過(guò)kubectl可以部署和管理應(yīng)用,查看各種資源,創(chuàng)建、刪除和更新各種組件

四、kubeadm初始化k8s集群

4.1、設(shè)置容器運(yùn)行時(shí)

[root@master ~]# crictl config runtime-endpoint /run/containerd/containerd.sock
[root@node01 ~]# crictl config runtime-endpoint /run/containerd/containerd.sock
[root@node02 ~]# crictl config runtime-endpoint /run/containerd/containerd.sock

4.2、生成并修改配置文件

kubeadm config print init-defaults > kubeadm.yaml

kubeadm.yaml一定要自己通過(guò)kubeadm config print init-defaults命令生成,根據(jù)我們自己的需求修改配置,比如修改 imageRepository 的值,kube-proxy 的模式為 ipvs,需要注意的是由于我們使用的containerd作為運(yùn)行時(shí),所以在初始化節(jié)點(diǎn)的時(shí)候需要指定cgroupDriver為systemd

vim kubeadm.yaml

apiVersion: kubeadm.k8s.io/v1beta3
bootstrapTokens:
- groups:
  - system:bootstrappers:kubeadm:default-node-token
  token: abcdef.0123456789abcdef
  ttl: 24h0m0s
  usages:
  - signing
  - authentication
kind: InitConfiguration
localAPIEndpoint:
  advertiseAddress: 10.32.1.147 # 控制節(jié)點(diǎn)的ip
  bindPort: 6443
nodeRegistration:
  criSocket: unix:///run/containerd/containerd.sock # 指定containerd容器運(yùn)行時(shí)
  imagePullPolicy: IfNotPresent
  name: master  # 控制節(jié)點(diǎn)主機(jī)名
  taints: null
---
apiServer:
  timeoutForControlPlane: 4m0s
apiVersion: kubeadm.k8s.io/v1beta3
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controllerManager: {}
dns: {}
etcd:
  local:
    dataDir: /var/lib/etcd
imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers # 指定阿里云鏡像倉(cāng)庫(kù)地址
kind: ClusterConfiguration
kubernetesVersion: 1.25.0 # k8s版本
networking:
  dnsDomain: cluster.local
  podSubnet: 10.244.0.0/16 # 指定pod網(wǎng)段, 需要新增加這個(gè)
  serviceSubnet: 10.96.0.0/12
scheduler: {}
# 最后追加插入以下這8行
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
mode: ipvs  # 生成防火請(qǐng)規(guī)則存入ipvs,否則就存入iptables里面了
---
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
cgroupDriver: systemd # kubelet驅(qū)動(dòng)

4.2、初始化安裝

kubeadm init --config=kubeadm.yaml --ignore-preflight-errors=SystemVerification

顯示如下,說(shuō)明安裝完成:
沒(méi)有可用軟件包 kubeadm-1.25.0,K8S,kubernetes,容器,云原生

特別提醒:

–image-repository registry.aliyuncs.com/google_containers為保證拉取鏡像不到國(guó)外站點(diǎn)拉取,手動(dòng)指定倉(cāng)庫(kù)地址為registry.aliyuncs.com/google_containers。kubeadm默認(rèn)從k8s.gcr.io拉取鏡像。
mode: ipvs 表示kube-proxy代理模式是ipvs,如果不指定ipvs,會(huì)默認(rèn)使用iptables,但是iptables效率低,所以我們生產(chǎn)環(huán)境建議開(kāi)啟ipvs,阿里云和華為云托管的K8s,也提供ipvs模式,如下:

沒(méi)有可用軟件包 kubeadm-1.25.0,K8S,kubernetes,容器,云原生
沒(méi)有可用軟件包 kubeadm-1.25.0,K8S,kubernetes,容器,云原生

4.3、修改config文件,對(duì)kubectl進(jìn)行授權(quán)

[root@master ~]#  mkdir -p $HOME/.kube
[root@master ~]#  mkdir -p $HOME/.kube
[root@master ~]#  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
[root@master ~]# sudo chown $(id -u):$(id -g) $HOME/.kube/config
[root@master ~]# kubectl get nodes
NAME     STATUS     ROLES           AGE   VERSION
master   NotReady   control-plane   11m   v1.25.0
# 備注:NotReady表示沒(méi)裝網(wǎng)絡(luò)插件
[root@master ~]# kubectl get pods -n kube-system -o wide
NAME                             READY   STATUS    RESTARTS   AGE   IP            NODE     NOMINATED NODE   READINESS GATES
coredns-7f8cbcb969-hfscf         0/1     Pending   0          12m   <none>        <none>   <none>           <none>
coredns-7f8cbcb969-lvd69         0/1     Pending   0          12m   <none>        <none>   <none>           <none>
etcd-master                      1/1     Running   0          12m   10.32.1.147   master   <none>           <none>
kube-apiserver-master            1/1     Running   0          12m   10.32.1.147   master   <none>           <none>
kube-controller-manager-master   1/1     Running   0          12m   10.32.1.147   master   <none>           <none>
kube-proxy-zr9fq                 1/1     Running   0          12m   10.32.1.147   master   <none>           <none>
kube-scheduler-master            1/1     Running   0          12m   10.32.1.147   master   <none>           <none>
# 注意:上面coredns是pending狀態(tài),沒(méi)裝網(wǎng)絡(luò)插件,正常,等裝完網(wǎng)絡(luò)插件,就變成running

五、擴(kuò)容k8s集群-添加工作節(jié)點(diǎn)

5.1、 kubeadm join

node01、node02上面都要操作

[root@master ~]# kubeadm token create --print-join-command
kubeadm join 10.32.1.147:6443 --token mjtwr8.0q4kj2lyccm0ldnw --discovery-token-ca-cert-hash sha256:d0e45daeda533addf757b5e89d0d2dbe1c00375cacab40bcaf07b1fb55b81148
[root@node01 ~]# kubeadm join 10.32.1.147:6443 --token mjtwr8.0q4kj2lyccm0ldnw --discovery-token-ca-cert-hash sha256:d0e45daeda533addf757b5e89d0d2dbe1c00375cacab40bcaf07b1fb55b81148
[root@node02 ~]# kubeadm join 10.32.1.147:6443 --token mjtwr8.0q4kj2lyccm0ldnw --discovery-token-ca-cert-hash sha256:d0e45daeda533addf757b5e89d0d2dbe1c00375cacab40bcaf07b1fb55b81148

出現(xiàn)以下結(jié)果代表加入成功:
沒(méi)有可用軟件包 kubeadm-1.25.0,K8S,kubernetes,容器,云原生

5.2、節(jié)點(diǎn)打標(biāo)簽

# 查看集群節(jié)點(diǎn)狀況
[root@master ~]# kubectl get node
NAME     STATUS     ROLES           AGE    VERSION
master   NotReady   control-plane   38m    v1.25.0
node01   NotReady   <none>          3m     v1.25.0
node02   NotReady   <none>          108s   v1.25.0
# 對(duì)node節(jié)點(diǎn)打標(biāo)簽,顯示work
[root@master ~]# kubectl label nodes node01 node-role.kubernetes.io/work=work
node/node01 labeled
[root@master ~]# kubectl label nodes node02 node-role.kubernetes.io/work=work
node/node02 labeled
[root@master ~]# kubectl get nodes
NAME     STATUS     ROLES           AGE     VERSION
master   NotReady   control-plane   45m     v1.25.0
node01   NotReady   work            10m     v1.25.0
node02   NotReady   work            9m34s   v1.25.0

5.3、工作節(jié)點(diǎn)執(zhí)行kubectl

目前工作節(jié)點(diǎn)是不能執(zhí)行kubectl的,因?yàn)楣ぷ鞴?jié)點(diǎn)上沒(méi)有$HOME/.kube/config文件。

[root@node01 ~]# kubectl get nodes
The connection to the server localhost:8080 was refused - did you specify the right host or port?
You have new mail in /var/spool/mail/root

[root@node01 ~]#  mkdir $HOME/.kube/
You have new mail in /var/spool/mail/root
[root@node02 ~]#  mkdir $HOME/.kube/
You have new mail in /var/spool/mail/root

# 將config文件copy到節(jié)點(diǎn)的對(duì)應(yīng)位置
[root@master ~]# scp /root/.kube/config node01:/root/.kube/
config                                                                                                                   100% 5635   396.5KB/s   00:00
[root@master ~]# scp /root/.kube/config node02:/root/.kube/
config                                                                                                                   100% 5635     2.5MB/s   00:00

# 這樣就可以使用kubectl 命令了
[root@node01 ~]# kubectl get nodes
NAME     STATUS     ROLES           AGE   VERSION
master   NotReady   control-plane   52m   v1.25.0
node01   NotReady   work            16m   v1.25.0
node02   NotReady   work            15m   v1.25.0
You have new mail in /var/spool/mail/root
[root@node02 ~]# kubectl get nodes
NAME     STATUS     ROLES           AGE   VERSION
master   NotReady   control-plane   52m   v1.25.0
node01   NotReady   work            16m   v1.25.0
node02   NotReady   work            15m   v1.25.0
You have new mail in /var/spool/mail/root

六、安裝kubernetes網(wǎng)絡(luò)組件-Calico

6.1、組件安裝

上傳calico.yaml到master上,使用yaml文件安裝calico 網(wǎng)絡(luò)插件 。
注:在線下載配置文件地址是: https://docs.projectcalico.org/manifests/calico.yaml

[root@master ~]# kubectl apply -f calico.yaml
[root@master ~]# kubectl get node
NAME     STATUS   ROLES           AGE   VERSION
master   Ready    control-plane   62m   v1.25.0
node01   Ready    work            26m   v1.25.0
node02   Ready    work            25m   v1.25.0

6.2、Calico架構(gòu)圖

沒(méi)有可用軟件包 kubeadm-1.25.0,K8S,kubernetes,容器,云原生
Calico網(wǎng)絡(luò)模型主要工作組件:
1.Felix:運(yùn)行在每一臺(tái) Host 的 agent 進(jìn)程,主要負(fù)責(zé)網(wǎng)絡(luò)接口管理和監(jiān)聽(tīng)、路由、ARP 管理、ACL 管理和同步、狀態(tài)上報(bào)等。保證跨主機(jī)容器網(wǎng)絡(luò)互通。
2.etcd:分布式鍵值存儲(chǔ),相當(dāng)于k8s集群中的數(shù)據(jù)庫(kù),存儲(chǔ)著Calico網(wǎng)絡(luò)模型中IP地址等相關(guān)信息。主要負(fù)責(zé)網(wǎng)絡(luò)元數(shù)據(jù)一致性,確保 Calico 網(wǎng)絡(luò)狀態(tài)的準(zhǔn)確性;
3.BGP Client(BIRD):Calico 為每一臺(tái) Host 部署一個(gè) BGP Client,即每臺(tái)host上部署一個(gè)BIRD。 主要負(fù)責(zé)把 Felix 寫(xiě)入 Kernel 的路由信息分發(fā)到當(dāng)前 Calico 網(wǎng)絡(luò),確保 Workload 間的通信的有效性;
4.BGP Route Reflector:在大型網(wǎng)絡(luò)規(guī)模中,如果僅僅使用 BGP client 形成 mesh 全網(wǎng)互聯(lián)的方案就會(huì)導(dǎo)致規(guī)模限制,因?yàn)樗泄?jié)點(diǎn)之間倆倆互聯(lián),需要 N^2 個(gè)連接,為了解決這個(gè)規(guī)模問(wèn)題,可以采用 BGP 的 Router Reflector 的方法,通過(guò)一個(gè)或者多個(gè) BGP Route Reflector 來(lái)完成集中式的路由分發(fā)。

6.3、 calico網(wǎng)絡(luò)插件配置文件說(shuō)明

calico.yam文件中

……
containers:
        # Runs calico-node container on each Kubernetes node. This
        # container programs network policy and routes on each
        # host.
        - name: calico-node
          image: docker.io/calico/node:v3.18.0
……
          env:
            # Use Kubernetes API as the backing datastore.
            - name: DATASTORE_TYPE
              value: "kubernetes"
            # Cluster type to identify the deployment type
            - name: CLUSTER_TYPE
              value: "k8s,bgp"
            # Auto-detect the BGP IP address.
            - name: IP
              value: "autodetect"
         #pod網(wǎng)段
         - name: CALICO_IPV4POOL_CIDR 
value: "10.244.0.0/16"
            # Enable IPIP
            - name: CALICO_IPV4POOL_IPIP
              value: "Always"

calico-node服務(wù)的主要參數(shù)如下:
CALICO_IPV4POOL_IPIP:是否啟用IPIP模式。啟用IPIP模式時(shí),Calico將在Node上創(chuàng)建一個(gè)名為tunl0的虛擬隧道。IP Pool可以使用兩種模式:BGP或IPIP。使用IPIP模式時(shí),設(shè)置CALICO_IPV4POOL_IPIP=“Always”,不使用IPIP模式時(shí),設(shè)置CALICO_IPV4POOL_IPIP=“Off”,此時(shí)將使用BGP模式。

IP_AUTODETECTION_METHOD:獲取Node IP地址的方式,默認(rèn)使用第1個(gè)網(wǎng)絡(luò)接口的IP地址,對(duì)于安裝了多塊網(wǎng)卡的Node,可以使用正則表達(dá)式選擇正確的網(wǎng)卡,例如"interface=eth.*"表示選擇名稱以eth開(kāi)頭的網(wǎng)卡的IP地址。

-  name: IP_AUTODETECTION_METHOD
  value: "interface=ens33"

6.4、calico的IPIP模式和BGP模式對(duì)比分析

1)IPIP
把一個(gè)IP數(shù)據(jù)包又套在一個(gè)IP包里,即把IP層封裝到IP層的一個(gè) tunnel,它的作用其實(shí)基本上就相當(dāng)于一個(gè)基于IP層的網(wǎng)橋,一般來(lái)說(shuō),普通的網(wǎng)橋是基于mac層的,根本不需要IP,而這個(gè)ipip則是通過(guò)兩端的路由做一個(gè)tunnel,把兩個(gè)本來(lái)不通的網(wǎng)絡(luò)通過(guò)點(diǎn)對(duì)點(diǎn)連接起來(lái);

calico以ipip模式部署完畢后,node上會(huì)有一個(gè)tunl0的網(wǎng)卡設(shè)備,這是ipip做隧道封裝用的,也是一種overlay模式的網(wǎng)絡(luò)。當(dāng)我們把節(jié)點(diǎn)下線,calico容器都停止后,這個(gè)設(shè)備依然還在,執(zhí)行 rmmodipip命令可以將它刪除。

2)BGP
BGP模式直接使用物理機(jī)作為虛擬路由路(vRouter),不再創(chuàng)建額外的tunnel

邊界網(wǎng)關(guān)協(xié)議(BorderGateway Protocol, BGP)是互聯(lián)網(wǎng)上一個(gè)核心的去中心化的自治路由協(xié)議。它通過(guò)維護(hù)IP路由表或‘前綴’表來(lái)實(shí)現(xiàn)自治系統(tǒng)(AS)之間的可達(dá)性,屬于矢量路由協(xié)議。BGP不使用傳統(tǒng)的內(nèi)部網(wǎng)關(guān)協(xié)議(IGP)的指標(biāo),而是基于路徑、網(wǎng)絡(luò)策略或規(guī)則集來(lái)決定路由。因此,它更適合被稱為矢量性協(xié)議,而不是路由協(xié)議,通俗的說(shuō)就是將接入到機(jī)房的多條線路(如電信、聯(lián)通、移動(dòng)等)融合為一體,實(shí)現(xiàn)多線單IP;

BGP 機(jī)房的優(yōu)點(diǎn):服務(wù)器只需要設(shè)置一個(gè)IP地址,最佳訪問(wèn)路由是由網(wǎng)絡(luò)上的骨干路由器根據(jù)路由跳數(shù)與其它技術(shù)指標(biāo)來(lái)確定的,不會(huì)占用服務(wù)器的任何系統(tǒng);

官方提供的calico.yaml模板里,默認(rèn)打開(kāi)了ip-ip功能,該功能會(huì)在node上創(chuàng)建一個(gè)設(shè)備tunl0,容器的網(wǎng)絡(luò)數(shù)據(jù)會(huì)經(jīng)過(guò)該設(shè)備被封裝一個(gè)ip頭再轉(zhuǎn)發(fā)。這里,calico.yaml中通過(guò)修改calico-node的環(huán)境變量:CALICO_IPV4POOL_IPIP來(lái)實(shí)現(xiàn)ipip功能的開(kāi)關(guān):默認(rèn)是Always,表示開(kāi)啟;Off表示關(guān)閉ipip。

6.5、測(cè)試k8s網(wǎng)絡(luò)和dns是否正常


[root@master ~]#  kubectl run busybox --image docker.io/library/busybox:1.28  --image-pull-policy=IfNotPresent --restart=Never --rm -it busybox -- sh
If you don't see a command prompt, try pressing enter.
/ # ping www.baidu.com
PING www.baidu.com (110.242.68.3): 56 data bytes
64 bytes from 110.242.68.3: seq=0 ttl=48 time=32.680 ms
64 bytes from 110.242.68.3: seq=1 ttl=48 time=32.587 ms
^C
--- www.baidu.com ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 32.587/32.633/32.680 ms

通過(guò)上面可以看到能訪問(wèn)網(wǎng)絡(luò),說(shuō)明calico網(wǎng)絡(luò)插件已經(jīng)被正常安裝了。

/ #  nslookup kubernetes.default.svc.cluster.local
Server:    10.96.0.10
Address 1: 10.96.0.10 kube-dns.kube-system.svc.cluster.local

Name:      kubernetes.default.svc.cluster.local
Address 1: 10.96.0.1 kubernetes.default.svc.cluster.local

10.96.0.10 就是我們coreDNS的clusterIP,說(shuō)明coreDNS配置好了。

解析內(nèi)部Service的名稱,是通過(guò)coreDNS去解析的。
注意:busybox要用指定的1.28版本,不能用最新版本,最新版本,nslookup會(huì)解析不到dns和ip

6.6、ctr和crictl區(qū)別

背景:在部署k8s的過(guò)程中,經(jīng)常要對(duì)鏡像進(jìn)行操作(拉取、刪除、查看等)

問(wèn)題:使用過(guò)程中會(huì)發(fā)現(xiàn)ctr和crictl有很多相同功能,也有些不同,那區(qū)別到底在哪里?

說(shuō)明
1.ctr是containerd自帶的CLI命令行工具,crictl是k8s中CRI(容器運(yùn)行時(shí)接口)的客戶端,k8s使用該客戶端和containerd進(jìn)行交互;

2.ctr和crictl命令具體區(qū)別如下,也可以–help查看。crictl缺少對(duì)具體鏡像的管理能力,可能是k8s層面鏡像管理可以由用戶自行控制,能配置pod里面容器的統(tǒng)一鏡像倉(cāng)庫(kù),鏡像的管理可以有habor等插件進(jìn)行處理。

沒(méi)有可用軟件包 kubeadm-1.25.0,K8S,kubernetes,容器,云原生文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-792855.html

到了這里,關(guān)于【Kubernetes】kubeadm安裝k8s1.25.0高可用集群的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Kubernetes(K8s)從入門(mén)到精通系列之十:使用 kubeadm 創(chuàng)建一個(gè)高可用 etcd 集群

    Kubernetes(K8s)從入門(mén)到精通系列之十:使用 kubeadm 創(chuàng)建一個(gè)高可用 etcd 集群

    默認(rèn)情況下,kubeadm 在每個(gè)控制平面節(jié)點(diǎn)上運(yùn)行一個(gè)本地 etcd 實(shí)例。也可以使用外部的 etcd 集群,并在不同的主機(jī)上提供 etcd 實(shí)例。 可以設(shè)置HA集群: 使用堆疊控制控制平面節(jié)點(diǎn),其中 etcd 節(jié)點(diǎn)與控制平面節(jié)點(diǎn)共存 使用外部 etcd 節(jié)點(diǎn),其中 etcd 在與控制平面不同的節(jié)點(diǎn)上運(yùn)行

    2024年02月14日
    瀏覽(33)
  • Kubernetes實(shí)戰(zhàn)(九)-kubeadm安裝k8s集群

    Kubernetes實(shí)戰(zhàn)(九)-kubeadm安裝k8s集群

    ip hostname 10.220.43.203 ops-master-1 10.220.43.204 ops-worker-1 10.220.43.205 ops-worker-2 master/與worker主機(jī)均需要設(shè)置。 master/worker均安裝 docker二進(jìn)制安裝參考:docker部署及常用命令-CSDN博客? 為kubernetes添加國(guó)內(nèi)阿里云YUM軟件源 。 如果k8s版本低于1.24版,可以忽略此步驟。 由于1.24版本不能直接

    2024年02月04日
    瀏覽(49)
  • 【云原生-K8s】kubeadm搭建安裝k8s集群v1.25版本完整教程【docker、網(wǎng)絡(luò)插件calico、中間層cri-docker】

    【云原生-K8s】kubeadm搭建安裝k8s集群v1.25版本完整教程【docker、網(wǎng)絡(luò)插件calico、中間層cri-docker】

    從 k8s 1.24開(kāi)始,dockershim已經(jīng)從kubelet中移除,但因?yàn)闅v史問(wèn)題docker卻不支持kubernetes主推的CRI(容器運(yùn)行時(shí)接口)標(biāo)準(zhǔn),所以docker不能再作為k8s的容器運(yùn)行時(shí)了,即從k8s v1.24開(kāi)始不再使用docker了 但是如果想繼續(xù)使用docker的話,可以在kubelet和docker之間加上一個(gè)中間層cri-docker。

    2024年02月03日
    瀏覽(59)
  • Centos7 安裝部署 Kubernetes(k8s) 高可用集群

    Centos7 安裝部署 Kubernetes(k8s) 高可用集群

    宿主機(jī)系統(tǒng) 集群角色 服務(wù)器IP 主機(jī)名稱 容器 centos7.6 master 192.168.2.150 ks-m1 docker centos7.6 master 192.168.2.151 ks-n1 docker centos7.6 master 192.168.2.152 ks-n2 docker 1.1 服務(wù)器初始化及網(wǎng)絡(luò)配置 VMware安裝Centos7并初始化網(wǎng)絡(luò)使外部可以訪問(wèn)** 注意事項(xiàng):請(qǐng)一定要看完上面這篇文章再執(zhí)行下面的操

    2024年02月03日
    瀏覽(55)
  • 使用kubeadm搭建高可用的K8s集群

    kubeadm是官方社區(qū)推出的一個(gè)用于快速部署kubernetes集群的工具。 這個(gè)工具能通過(guò)兩條指令完成一個(gè)kubernetes集群的部署: 在開(kāi)始之前,部署Kubernetes集群機(jī)器需要滿足以下幾個(gè)條件: 一臺(tái)或多臺(tái)機(jī)器,操作系統(tǒng) CentOS7.x-86_x64 硬件配置:2GB或更多RAM,2個(gè)CPU或更多CPU,硬盤(pán)30GB或更

    2024年02月08日
    瀏覽(20)
  • 云原生|kubernetes|kubernetes集群部署神器kubekey安裝部署高可用k8s集群(半離線形式)

    云原生|kubernetes|kubernetes集群部署神器kubekey安裝部署高可用k8s集群(半離線形式)

    前面利用kubekey部署了一個(gè)簡(jiǎn)單的非高可用,etcd單實(shí)例的kubernetes集群,經(jīng)過(guò)研究,發(fā)現(xiàn)部署過(guò)程可以簡(jiǎn)化,省去了一部分下載過(guò)程(主要是下載kubernetes組件的過(guò)程)只是kubernetes版本會(huì)固定在1.22.16版本,etcd集群可以部署成生產(chǎn)用的外部集群,并且apiserver等等組件也是高可用,

    2024年02月15日
    瀏覽(26)
  • Kubeadm - K8S1.20 - 高可用集群部署(博客)

    1.系統(tǒng)設(shè)置 注意事項(xiàng): master節(jié)點(diǎn)cpu核心數(shù)要求大于2 ●最新的版本不一定好,但相對(duì)于舊版本,核心功能穩(wěn)定,但新增功能、接口相對(duì)不穩(wěn) ●學(xué)會(huì)一個(gè)版本的 高可用部署,其他版本操作都差不多 ●宿主機(jī)盡量升級(jí)到CentOS 7.9 ●內(nèi)核kernel升級(jí)到 4.19+ 這種穩(wěn)定的內(nèi)核 ●部署k8

    2024年02月05日
    瀏覽(22)
  • kubeadm部署k8s 1.26.0版本高可用集群

    kubeadm部署k8s 1.26.0版本高可用集群

    1.前言 本次搭建使用centos7.9系統(tǒng),并且使用haproxy+keepalived作為高可用架構(gòu)軟件,haproxy實(shí)現(xiàn)k8s集群管理節(jié)點(diǎn)apiserver服務(wù)的負(fù)載均衡以實(shí)現(xiàn)集群的高可用功能,keepalived保障了hapxoy的高可用,容器引擎使用docker,需要額外引入cri-docker服務(wù),且使用集群內(nèi)置的etcd服務(wù),并配置etcd的

    2024年02月11日
    瀏覽(24)
  • Kubeadm方式搭建K8s高可用集群【1.23.0版本】

    Kubeadm方式搭建K8s高可用集群【1.23.0版本】

    官方文檔: 二進(jìn)制下載地址 環(huán)境規(guī)劃: pod網(wǎng)段:10.244.0.0/16 service網(wǎng)段:10.10.0.0/16 注意: pod和service網(wǎng)段不可沖突,如果沖突會(huì)導(dǎo)致K8S集群安裝失敗。 主機(jī)名 IP地址 操作系統(tǒng) 備注 master-1 16.32.15.200 CentOS7.8 安裝keepalived、nginx實(shí)現(xiàn)高可用 master-2 16.32.15.201 CentOS7.8 安裝keepalived、

    2023年04月22日
    瀏覽(27)
  • Kubernetes技術(shù)--使用kubeadm快速部署一個(gè)K8s集群

    Kubernetes技術(shù)--使用kubeadm快速部署一個(gè)K8s集群

    這里我們配置一個(gè) 單master集群 。( 一個(gè)Master節(jié)點(diǎn),多個(gè)Node節(jié)點(diǎn) ) 1.硬件環(huán)境準(zhǔn)備 一臺(tái)或多臺(tái)機(jī)器,操作系統(tǒng) CentOS7.x-86_x64 。這里我們使用安裝了CentOS7的三臺(tái)虛擬機(jī) 硬件配置 : 2GB或更多RAM , 2個(gè)CPU或更多CPU , 硬盤(pán)30GB或更多 2.主機(jī)名稱和IP地址規(guī)劃 3. 初始化準(zhǔn)備工作 (1).關(guān)

    2024年02月10日
    瀏覽(122)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包