k8s多節點部署


多架構的了解:

Kubernetes作為容器集群系統,通過健康檢查+重啟策略實現了Pod故障自我修復能力,通過調度算法實現將Pod分布式部署,並保持預期副本數,根據Node失效狀態自動在其他Node拉起Pod,實現了應用層的高可用性。
 
針對Kubernetes集群,高可用性還應包含以下兩個層面的考慮:Etcd數據庫的高可用性和Kubernetes Master組件的高可用性。而Etcd我們已經采用3個節點組建集群實現高可用,本篇博客將對Master節點高可用進行說明和實施。
 
Master節點扮演着總控中心的角色,通過不斷與工作節點上的Kubelet進行通信來維護整個集群的健康工作狀態。如果Master節點故障,將無法使用kubectl工具或者API做任何集群管理。

master02節點部署

##從master01節點上拷貝證書文件,各master組件的配置文件和服務管理文件到master02節點

 ##修改配置文件kube-apiserver中的IP

## 在 master02 節點上啟動各服務並設置開機自啟

 ##查看node節點狀態

 負載均衡部署

##配置load balancer集群雙機熱備負載均衡(nginx實現負載均衡,keepalived實現雙機熱備)

在lb01、lb02節點上操作

## 修改nginx配置文件,配置四層反向代理負載均衡,指定k8s群集2台master的節點ip和6443端口

 ##部署keepalived服務

 

 ##修改keepalived配置文件

 

 

 ##創建nginx狀態檢查腳本

 

 

 啟動keepalived服務(一定要先啟動了nginx服務,再啟動keepalived服務)

 

 

 ##修改node節點上的bootstrap.kubeconfig,kubelet.kubeconfig配置文件為VIP

 

 

 

 

 ##重啟kubelet和kube-proxy服務

 

 

 在 lb01 上查看 nginx 和 node 、 msater 節點的連接狀態

 

 

 在 master01 節點上操作

測試

 

 

 

 

 

 部署 Dashboard UI

Dashboard 介紹

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

 在 master01 節點上操作

 

1、dashboard-rbac.yaml:用於訪問控制設置,配置各種角色的訪問控制權限及角色綁定(綁定角色和服務賬戶),內容中包含對應各種角色所配置的規則(rules)
2、dashboard-secret.yaml:提供令牌,訪問API服務器所用(個人理解為一種安全認證機制)
3、dashboard-configmap.yaml:配置模板文件,負責設置Dashboard的文件,ConfigMap提供了將配置數據注入容器的方式,保證容器中的應用程序配置從 Image 內容中解耦
4、dashboard-controller.yaml:負責控制器及服務賬戶的創建,來管理pod副本
5、dashboard-service.yaml:負責將容器中的服務提供出去,供外部訪問

##通過kubectl create 命令創建resources

1、規定kubernetes-dashboard-minimal該角色的權限:例如其中具備獲取更新刪除等不同的權限

 

 

 ##查看類型為 Role,RoleBinding 的資源對象 kubernetes-dashboard-minimal 是否生成

 2、證書和密鑰創建

3、配置文件,對於集群dashboard設置的創建

 

 

 4、創建容器需要的控制器以及服務賬戶

 

 

 5、將服務提供出去

 

 

 dashboard分配給了node01服務器,訪問的入口是30001端口,打開瀏覽器訪問 

 

 

 

 解決谷歌瀏覽器加密通信問題,使用的腳本 dashboard-cert.sh 來快速生成證書文件

 

 

 重新進行部署(注意:當apply不生效時,先使用delete清除資源,再apply創建資源)

 

 由於可能會更換所分配的節點,所以要再次查看一下分配的節點服務器地址和端口號

 

 再次進行訪問測試,選擇使用令牌方式登錄,使用 k8s-admin.yaml 文件進行創建令牌

 

 獲取token簡要信息,名稱為dashboard-admin-token-xxxxx

 

 查看令牌序列號,取 token: 后面的內容

 

 將令牌序列號復制填入到瀏覽器頁面中,點擊登錄

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM