【云原生Kubernetes】二进制搭建Kubernetes集群(下)——部署多master(2)

简介: 本文接上一篇文章,前面两篇文章中已部署了Kubernetes单master集群。本文将完成多master集群的部署,即部署master02,以及nginx负载均衡、keepalived高可用。

7.2 所有node节点修改配置文件

#修改node节点上的bootstrap.kubeconfig,kubelet.kubeconfig配置文件为VIP
 cd /opt/kubernetes/cfg/
 vim bootstrap.kubeconfig 
 server: https://192.168.41.100:6443
 vim kubelet.kubeconfig
 server: https://192.168.41.100:6443
 vim kube-proxy.kubeconfig
 server: https://192.168.41.100:6443
 #重启kubelet和kube-proxy服务
 systemctl restart kubelet.service 
 systemctl restart kube-proxy.service
 #在lb01查看nginx的k8s日志
 tail /var/log/nginx/k8s-access.log
 #在 lb01 上查看 nginx 和 node 、 master 节点的连接状态
 netstat -natp | grep nginx
 tcp        0      0 0.0.0.0:6443            0.0.0.0:*               LISTEN         102055/nginx: maste
 tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN         102055/nginx: maste
 tcp        0      0 192.168.41.44:41768     192.168.41.10:6443      ESTABLISHED    102059/nginx: worke
 tcp        0      0 192.168.41.44:41756     192.168.41.10:6443      ESTABLISHED    102059/nginx: worke
 tcp        0      0 192.168.41.100:6443     192.168.41.43:45278     ESTABLISHED    102058/nginx: worke
 tcp        0      0 192.168.41.100:6443     192.168.41.43:45266     ESTABLISHED    102059/nginx: worke
 tcp        0      0 192.168.41.100:6443     192.168.41.42:54798     ESTABLISHED    102058/nginx: worke
复制代码


1、修改node节点上的bootstrap.kubeconfig,kubelet.kubeconfig配置文件为VIP

网络异常,图片无法展示
|


网络异常,图片无法展示
|


网络异常,图片无法展示
|


网络异常,图片无法展示
|


网络异常,图片无法展示
|


网络异常,图片无法展示
|



2、重启kubelet和kube-proxy服务

网络异常,图片无法展示
|


3、在lb01查看nginx的k8s日志

网络异常,图片无法展示
|


4、在 lb01 上查看 nginx 和 node 、 master 节点的连接状态

网络异常,图片无法展示
|


7.3 在 master01 节点测试创建pod

#测试创建pod
 kubectl run nginx --image=nginx
 #查看Pod的状态信息
 kubectl get pods
 NAME       READY   STATUS              RESTARTS   AGE
 dns-test   1/1     Running             1          7h48m
 nginx      0/1     ContainerCreating   0          6s   
 #ContainerCreating,表示正在创建中
 kubectl get pods
 NAME       READY   STATUS    RESTARTS   AGE
 dns-test   1/1     Running   1          7h49m
 nginx      1/1     Running   0          88s         
 #Running,表示创建完成,运行中
 kubectl get pods -o wide   #-o wide:输出额外信息。对于Pod,将输出Pod所在的Node名
 NAME       READY   STATUS    RESTARTS   AGE     IP               NODE            NOMINATED NODE   READINESS GATES
 nginx      1/1     Running   0          6m6s    10.244.196.130   192.168.41.43   <none>           <none>
 #READY为1/1,表示这个Pod中有1个容器
 #在对应的node节点上操作,可以直接使用浏览器或者curl命令访问nginx服务
 curl 10.244.196.130    #访问Pod的IP地址
 #这时在master01节点上查看nginx日志,发现没有权限查看
 kubectl logs nginx   #并没有Pod的访问记录
复制代码


网络异常,图片无法展示
|


网络异常,图片无法展示
|


网络异常,图片无法展示
|


八、部署Dashboard

Dashboard 介绍:

仪表板是基于Web的Kubernetes用户界面。您可以使用仪表板将容器化应用程序部署到Kubernetes集群,对容器化应用程序进行故障排除,并管理集群本身及其伴随资源。您可以使用仪表板来概述群集上运行的应用程序,以及创建或修改单个Kubernetes资源(例如部署,作业,守护进程等)。例如,您可以使用部署向导扩展部署,启动滚动更新,重新启动Pod或部署新应用程序。仪表板还提供有关群集中Kubernetes资源状态以及可能发生的任何错误的信息。

#在 master01 节点上操作
 #上传 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
 #通过recommended.yaml资源配置清单,使用kubectl apply创建资源,-f指定资源配置清单文件
 kubectl apply -f recommended.yaml
 #创建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
 #获取token值
 kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')
 #使用输出的token登录Dashboard
 #如果web页面提示不安全,敲thisisunsafe即可进入下一页面,之后将token值输入
 https://192.168.41.43:30001
复制代码


网络异常,图片无法展示
|


网络异常,图片无法展示
|


网络异常,图片无法展示
|


网络异常,图片无法展示
|


网络异常,图片无法展示
|


网络异常,图片无法展示
|


网络异常,图片无法展示
|


网络异常,图片无法展示
|


网络异常,图片无法展示
|


总结:

多master部署步骤:

  1. 先部署master92等其它master节点
  2. 搭建Nginx/Haproxy + keepalived 高可用 负载均衡对接
  3. master节点群集
  4. 修改node 节点上的kubelet kube-proxy 的kubeconfig 配置文件对接vip
  5. kubectl的配置文件也要对接VIP或者当前节点的IP
相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务&nbsp;ACK 容器服务&nbsp;Kubernetes&nbsp;版(简称&nbsp;ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情:&nbsp;https://www.aliyun.com/product/kubernetes
相关文章
|
21天前
|
Kubernetes 网络协议 应用服务中间件
K8S二进制部署实践-1.15.5
K8S二进制部署实践-1.15.5
31 0
|
22天前
|
Kubernetes 流计算 Perl
在Rancher K8s上部署Flink时,TaskManager连接不上并不断重启可能是由多种原因导致的
在Rancher K8s上部署Flink时,TaskManager连接不上并不断重启可能是由多种原因导致的
33 7
|
6天前
|
Kubernetes 监控 Cloud Native
构建高效云原生应用:基于Kubernetes的微服务治理实践
【4月更文挑战第13天】 在当今数字化转型的浪潮中,企业纷纷将目光投向了云原生技术以支持其业务敏捷性和可扩展性。本文深入探讨了利用Kubernetes作为容器编排平台,实现微服务架构的有效治理,旨在为开发者和运维团队提供一套优化策略,以确保云原生应用的高性能和稳定性。通过分析微服务设计原则、Kubernetes的核心组件以及实际案例,本文揭示了在多变的业务需求下,如何确保系统的高可用性、弹性和安全性。
11 4
|
5天前
|
Kubernetes 搜索推荐 Docker
使用 kubeadm 部署 Kubernetes 集群(二)k8s环境安装
使用 kubeadm 部署 Kubernetes 集群(二)k8s环境安装
38 17
|
17天前
|
Kubernetes Ubuntu 应用服务中间件
Ubuntu 22.04 利用kubeadm方式部署Kubernetes(v1.28.2版本)
Ubuntu 22.04 利用kubeadm方式部署Kubernetes(v1.28.2版本)
80 0
|
18天前
|
Kubernetes 安全 网络安全
搭建k8s集群kubeadm搭建Kubernetes二进制搭建Kubernetes集群
搭建k8s集群kubeadm搭建Kubernetes二进制搭建Kubernetes集群
101 0
|
20天前
|
人工智能 监控 Serverless
如何基于ACK Serverless快速部署AI推理服务
通过上述步骤,可以在ACK Serverless上快速部署AI推理服务,实现高可用、弹性扩展的服务架构。
19 1
|
1月前
|
人工智能 监控 Cloud Native
iLogtail 2.0 来了;通义灵码下载量破百万丨阿里云云原生 2 月产品月报
iLogtail 2.0 来了;通义灵码下载量破百万丨阿里云云原生 2 月产品月报
|
2月前
阿里云云原生恭祝大家新年快乐!
阿里云云原生恭祝大家新年快乐!
|
3月前
|
Cloud Native 关系型数据库 分布式数据库
阿里云瑶池助力九州通B2B电商平台,完成100%云原生架构升级
九州通数字化转型,通过引入阿里云云原生数据库PolarDB,云原生内存数据库Tair等产品,完美支撑了医药电商平台数据库100%云原生化,实现了统一、高效、标准化和可跟踪的B2B医药平台。
385 4

热门文章

最新文章