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

【云原生】K8S二進制搭建三:高可用配置

這篇具有很好參考價值的文章主要介紹了【云原生】K8S二進制搭建三:高可用配置。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、部署CoreDNS

在所有 node 節(jié)點上操作

#上傳 coredns.tar 到 /opt 目錄中
cd /opt
docker load -i coredns.tar

【云原生】K8S二進制搭建三:高可用配置,云原生,云原生,kubernetes,容器

在 master01 節(jié)點上操作

#上傳 coredns.yaml 文件到 /opt/k8s 目錄中,部署 CoreDNS 
cd /opt/k8s
kubectl apply -f coredns.yaml

kubectl get pods -n kube-system 
NAME                          READY   STATUS    RESTARTS   AGE
coredns-5ffbfd976d-j6shb      1/1     Running   0          32s

#給kubelete綁定角色,賦予管理源權限
kubectl create clusterrolebinding cluster-system-anonymous --clusterrole=cluster-admin --user=system;anonymous



#DNS 解析測試
kubectl run -it --rm dns-test --image=busybox:1.28.4 sh
If you don't see a command prompt, try pressing enter.
/ # nslookup kubernetes
Server:    10.0.0.2
Address 1: 10.0.0.2 kube-dns.kube-system.svc.cluster.local

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

【云原生】K8S二進制搭建三:高可用配置,云原生,云原生,kubernetes,容器
【云原生】K8S二進制搭建三:高可用配置,云原生,云原生,kubernetes,容器

二、配置高可用

初始化環(huán)境
初始化環(huán)境看這里

//從 master01 節(jié)點上拷貝證書文件、各master組件的配置文件和服務管理文件到 master02 節(jié)點
scp -r /opt/etcd/ root@192.168.80.20:/opt/
scp -r /opt/kubernetes/ root@192.168.80.20:/opt
scp /usr/lib/systemd/system/{kube-apiserver,kube-controller-manager,kube-scheduler}.service root@192.168.80.20:/usr/lib/systemd/system/
scp -r /root/.kube/  root@192.168.243.104:/root

//修改配置文件kube-apiserver中的IP
vim /opt/kubernetes/cfg/kube-apiserver
KUBE_APISERVER_OPTS="--logtostderr=true \
--v=4 \
--etcd-servers=https://192.168.80.10:2379,https://192.168.80.11:2379,https://192.168.80.12:2379 \
--bind-address=192.168.80.20 \				#修改
--secure-port=6443 \
--advertise-address=192.168.80.20 \			#修改
......

//在 master02 節(jié)點上啟動各服務并設置開機自啟
systemctl start kube-apiserver.service
systemctl enable kube-apiserver.service
systemctl start kube-controller-manager.service
systemctl enable kube-controller-manager.service
systemctl start kube-scheduler.service
systemctl enable kube-scheduler.service

//查看node節(jié)點狀態(tài)
ln -s /opt/kubernetes/bin/* /usr/local/bin/
kubectl get nodes
kubectl get nodes -o wide			#-o=wide:輸出額外信息;對于Pod,將輸出Pod所在的Node名
//此時在master02節(jié)點查到的node節(jié)點狀態(tài)僅是從etcd查詢到的信息,而此時node節(jié)點實際上并未與master02節(jié)點建立通信連接,因此需要使用一個VIP把node節(jié)點與master節(jié)點都關聯(lián)起來


【云原生】K8S二進制搭建三:高可用配置,云原生,云原生,kubernetes,容器
【云原生】K8S二進制搭建三:高可用配置,云原生,云原生,kubernetes,容器
【云原生】K8S二進制搭建三:高可用配置,云原生,云原生,kubernetes,容器
【云原生】K8S二進制搭建三:高可用配置,云原生,云原生,kubernetes,容器
【云原生】K8S二進制搭建三:高可用配置,云原生,云原生,kubernetes,容器

三、配置負載均衡

//配置load balancer集群雙機熱備負載均衡(nginx實現負載均衡,keepalived實現雙機熱備)
##### 在lb01、lb02節(jié)點上操作 ##### 
//配置nginx的官方在線yum源,配置本地nginx的yum源
cat > /etc/yum.repos.d/nginx.repo << 'EOF'
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
EOF

yum install nginx -y

//修改nginx配置文件,配置四層反向代理負載均衡,指定k8s群集2臺master的節(jié)點ip和6443端口
vim /etc/nginx/nginx.conf
events {
    worker_connections  1024;
}

#添加
stream {
    log_format  main  '$remote_addr $upstream_addr - [$time_local] $status $upstream_bytes_sent';
    
	access_log  /var/log/nginx/k8s-access.log  main;

    upstream k8s-apiserver {
        server 192.168.80.10:6443;
        server 192.168.80.20:6443;
    }
    server {
        listen 6443;
        proxy_pass k8s-apiserver;
    }
}

http {
......


//檢查配置文件語法
nginx -t   

//啟動nginx服務,查看已監(jiān)聽6443端口
systemctl start nginx
systemctl enable nginx
netstat -natp | grep nginx 


//部署keepalived服務
yum install keepalived -y

//修改keepalived配置文件
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
   # 接收郵件地址
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   # 郵件發(fā)送地址
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id NGINX_MASTER	#lb01節(jié)點的為 NGINX_MASTER,lb02節(jié)點的為 NGINX_BACKUP
}

#添加一個周期性執(zhí)行的腳本
vrrp_script check_nginx {
    script "/etc/nginx/check_nginx.sh"	#指定檢查nginx存活的腳本路徑
}

vrrp_instance VI_1 {
    state MASTER			#lb01節(jié)點的為 MASTER,lb02節(jié)點的為 BACKUP
    interface ens33			#指定網卡名稱 ens33
    virtual_router_id 51	#指定vrid,兩個節(jié)點要一致
    priority 100			#lb01節(jié)點的為 100,lb02節(jié)點的為 90
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.80.100/24	#指定 VIP
    }
    track_script {
        check_nginx			#指定vrrp_script配置的腳本
    }
}


//創(chuàng)建nginx狀態(tài)檢查腳本 
vim /etc/nginx/check_nginx.sh
#!/bin/bash
#egrep -cv "grep|$$" 用于過濾掉包含grep 或者 $$ 表示的當前Shell進程ID
count=$(ps -ef | grep nginx | egrep -cv "grep|$$")

if [ "$count" -eq 0 ];then
    systemctl stop keepalived
fi


chmod +x /etc/nginx/check_nginx.sh

//啟動keepalived服務(一定要先啟動了nginx服務,再啟動keepalived服務)
systemctl start keepalived
systemctl enable keepalived
ip a				#查看VIP是否生成

//修改node節(jié)點上的bootstrap.kubeconfig,kubelet.kubeconfig配置文件為VIP
cd /opt/kubernetes/cfg/
vim bootstrap.kubeconfig 
server: https://192.168.80.100:6443
                      
vim kubelet.kubeconfig
server: https://192.168.80.100:6443
                        
vim kube-proxy.kubeconfig
server: https://192.168.80.100:6443

//重啟kubelet和kube-proxy服務
systemctl restart kubelet.service 
systemctl restart kube-proxy.service

//在 lb01 上查看 nginx 和 node 、 master 節(jié)點的連接狀態(tài)
netstat -natp | grep nginx
tcp        0      0 0.0.0.0:6443            0.0.0.0:*               LISTEN      44904/nginx: master 
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      44904/nginx: master 
tcp        0      0 192.168.80.100:6443     192.168.80.12:46954     ESTABLISHED 44905/nginx: worker 
tcp        0      0 192.168.80.14:45074     192.168.80.10:6443      ESTABLISHED 44905/nginx: worker 
tcp        0      0 192.168.80.14:53308     192.168.80.20:6443      ESTABLISHED 44905/nginx: worker 
tcp        0      0 192.168.80.14:53316     192.168.80.20:6443      ESTABLISHED 44905/nginx: worker 
tcp        0      0 192.168.80.100:6443     192.168.80.11:48784     ESTABLISHED 44905/nginx: worker 
tcp        0      0 192.168.80.14:45070     192.168.80.10:6443      ESTABLISHED 44905/nginx: worker 
tcp        0      0 192.168.80.100:6443     192.168.80.11:48794     ESTABLISHED 44905/nginx: worker 
tcp        0      0 192.168.80.100:6443     192.168.80.12:46968     ESTABLISHED 44905/nginx: worker 

【云原生】K8S二進制搭建三:高可用配置,云原生,云原生,kubernetes,容器
【云原生】K8S二進制搭建三:高可用配置,云原生,云原生,kubernetes,容器
【云原生】K8S二進制搭建三:高可用配置,云原生,云原生,kubernetes,容器
【云原生】K8S二進制搭建三:高可用配置,云原生,云原生,kubernetes,容器
在 master01 節(jié)點上測試

//測試創(chuàng)建pod
kubectl run nginx --image=nginx

//查看Pod的狀態(tài)信息
kubectl get pods
NAME                    READY   STATUS              RESTARTS   AGE
nginx-dbddb74b8-nf9sk   0/1     ContainerCreating   0          33s   #正在創(chuàng)建中

kubectl get pods
NAME                    READY   STATUS    RESTARTS   AGE
nginx-dbddb74b8-nf9sk   1/1     Running   0          80s  			#創(chuàng)建完成,運行中

kubectl get pods -o wide
NAME                    READY   STATUS    RESTARTS   AGE   IP            NODE            NOMINATED NODE
nginx-dbddb74b8-26r9l   1/1     Running   0          10m   172.17.36.2   192.168.80.15   <none>
//READY為1/1,表示這個Pod中有1個容器

//在對應網段的node節(jié)點上操作,可以直接使用瀏覽器或者curl命令訪問
curl 172.17.36.2

//這時在master01節(jié)點上查看nginx日志,發(fā)現沒有權限查看
kubectl logs nginx-dbddb74b8-nf9sk

【云原生】K8S二進制搭建三:高可用配置,云原生,云原生,kubernetes,容器

四、部署 Dashboard

  • 儀表板是基于Web的Kubernetes用戶界面。您可以使用儀表板將容器化應用程序部署到Kubernetes集群,對容器化應用程序進行故障排除,并管理集群本身及其伴隨資源。您可以使用儀表板來概述群集上運行的應用程序,以及創(chuàng)建或修改單個Kubernetes資源(例如部署,作業(yè),守護進程等)。例如,您可以使用部署向導擴展部署,啟動滾動更新,重新啟動Pod或部署新應用程序。儀表板還提供有關群集中Kubernetes資源狀態(tài)以及可能發(fā)生的任何錯誤的信息。

在 master01 節(jié)點上操作

#上傳 recommended.yaml 文件到 /opt/k8s 目錄中
cd /opt/k8s
vim recommended.yaml
#默認Dashboard只能集群內部訪問,修改Service為NodePort類型,暴露到外部:
kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  ports:
    - port: 443
      targetPort: 8443
      nodePort: 30001     #添加
  type: NodePort          #添加
  selector:
    k8s-app: kubernetes-dashboard

kubectl apply -f recommended.yaml

#創(chuàng)建service account并綁定默認cluster-admin管理員集群角色
kubectl create serviceaccount dashboard-admin -n kube-system
kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')

#使用輸出的token登錄Dashboard
https://NodeIP:30001






【云原生】K8S二進制搭建三:高可用配置,云原生,云原生,kubernetes,容器
【云原生】K8S二進制搭建三:高可用配置,云原生,云原生,kubernetes,容器
【云原生】K8S二進制搭建三:高可用配置,云原生,云原生,kubernetes,容器
【云原生】K8S二進制搭建三:高可用配置,云原生,云原生,kubernetes,容器
【云原生】K8S二進制搭建三:高可用配置,云原生,云原生,kubernetes,容器
【云原生】K8S二進制搭建三:高可用配置,云原生,云原生,kubernetes,容器
【云原生】K8S二進制搭建三:高可用配置,云原生,云原生,kubernetes,容器文章來源地址http://www.zghlxwxcb.cn/news/detail-628488.html

到了這里,關于【云原生】K8S二進制搭建三:高可用配置的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • k8s二進制部署--部署高可用

    k8s二進制部署--部署高可用

    notready是因為沒有網絡,因此無法創(chuàng)建pod 在同一個pod中的容器共享資源和網絡,使用同一個網絡命名空間。 每個pod都有一個全局的真實IP地址,同一個node之間的不同pod可以直接使用對方pod的ip地址進行通信。 pod1和pod2是通過docker0的網橋來進行通信。 Pod 地址與 docker0 在同一網

    2024年02月03日
    瀏覽(57)
  • 【云原生】K8S二進制搭建一

    【云原生】K8S二進制搭建一

    集群 IP 組件 k8s集群master01 192.168.243.100 kube-apiserver kube-controller-manager kube-scheduler etcd k8s集群master02 192.168.243.104 k8s集群node01 192.168.243.102 kubelet kube-proxy docker k8s集群node02 192.168.243.103 etcd集群節(jié)點1 192.168.243.100 etcd etcd集群節(jié)點2 192.168.243.102 etcd集群節(jié)點3 192.168.243.103 etcd是CoreOS團隊于

    2024年02月09日
    瀏覽(20)
  • K8S二進制部署詳解,一文教會你部署高可用K8S集群

    Pod網段: 10.0.0.0/16 Service網段: 10.255.0.0/16 集群角色 ip 主機名 安裝組件 控制節(jié)點 10.10.0.10 master01 apiserver、controller-manager、scheduler、etcd、docker、keepalived、nginx 控制節(jié)點 10.10.0.11 master02 apiserver、controller-manager、scheduler、etcd、docker、keepalived、nginx 控制節(jié)點 10.10.0.12 master03 apiser

    2024年04月28日
    瀏覽(29)
  • k8s1.27.2版本二進制高可用集群部署

    k8s1.27.2版本二進制高可用集群部署

    說明:本次實驗共有5臺主機,3臺master節(jié)點同時又是worker,os128、os129、os130 節(jié)點主機容器運行時用的containerd,worker131、worker132主機的用的docker 主機名 IP 組件 系統(tǒng) os128 192.168.177.128 etcd、kube-apiserver、kube-controller-manager、kube-scheduler、kubelet、kube-proxy、containerd CentOS7.9 os129 192.16

    2024年01月22日
    瀏覽(72)
  • [云原生] 二進制安裝K8S一部分

    [云原生] 二進制安裝K8S一部分

    目前Kubernetes最新版本是v1.25,但大部分公司一般不會使用最新版本。 目前公司使用比較多的:老版本是v1.15,因為v1.16改變了很多API接口版本,國內目前使用比較多的是v1.18、v1.20。 ?組件部署: mater節(jié)點 mater01 192.168.136.100 kube-apiserver kube-controller-manager kube-scheduler etcd ? ? ? ?

    2024年02月22日
    瀏覽(27)
  • 【云原生K8s】二進制部署單master K8s+etcd集群

    【云原生K8s】二進制部署單master K8s+etcd集群

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? mater節(jié)點 master01 192.168.190.10 kube-apiserver kube-controller-manager kube-scheduler etcd ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? node節(jié)點 node01 192.168.190.20 kubelet kube-proxy docker (容器引擎) node02 192.168.190.30 kubelet kube-proxy do

    2024年02月14日
    瀏覽(30)
  • K8s集群1.27最新版二進制高可用部署

    K8s集群1.27最新版二進制高可用部署

    二進制方式安裝Kubernetes高可用集群,雖然安裝過程較為復雜,但這也是每個技術人員必須要掌握的內容。同時,在安裝過程中,也可以更加深刻地理解每個組件的工作原理。 一、系統(tǒng)環(huán)境配置 (1)主機名配置 (2)所有節(jié)點修改yum源 (3)所有節(jié)點安裝常用軟件 ? (4)將master01節(jié)點配

    2024年02月07日
    瀏覽(29)
  • 二進制部署高可用k8s集群V1.20.11版本

    二進制部署高可用k8s集群V1.20.11版本

    單master架構圖 master節(jié)點 node1節(jié)點 node2節(jié)點 ??Etcd是一個分布式鍵值存儲系統(tǒng), K8s使用Etcd進行數據存儲 ,所以先準備一個Etcd數據庫,為解決Etcd單點故障,應采用集群方式進行部署,這里使用3臺組件集群,可容忍1臺機器故障,當然 也可以使用5臺組件集群,可容忍2臺機器故

    2024年01月22日
    瀏覽(30)
  • 第3關 二進制形式安裝K8s高可用生產級集群

    第3關 二進制形式安裝K8s高可用生產級集群

    ------ 課程視頻同步分享在今日頭條和B站 大家好,我是博哥愛運維,下面是這次安裝k8s集群相關系統(tǒng)及組件的詳細版本號 Ubuntu 22.04.3 LTS k8s: v1.27.5 containerd: 1.6.23 etcd: v3.5.9 coredns: 1.11.1 calico: v3.24.6 下面是此次虛擬機集群安裝前的IP等信息規(guī)劃(完全模擬一個中小型企業(yè)K8S集群)

    2024年02月04日
    瀏覽(55)
  • k8s1.23.15版本二進制部署/擴容及高可用架構詳解

    k8s1.23.15版本二進制部署/擴容及高可用架構詳解

    前言 ????眾所周知,kubernetes在2020年的1.20版本時就提出要移除docker。這次官方消息表明在1.24版本中徹底移除了dockershim,即移除docker。但是在1.24之前的版本中還是可以正常使用docker的??紤]到可能并不是所有項目環(huán)境都緊跟新版換掉了docker,本次就再最后體驗一下可支持

    2024年01月16日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領取紅包

二維碼2

領紅包