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