【云原生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
相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。 &nbsp; &nbsp; 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
存储 Kubernetes 开发工具
使用ArgoCD管理Kubernetes部署指南
ArgoCD 是一款基于 Kubernetes 的声明式 GitOps 持续交付工具,通过自动同步 Git 存储库中的配置与 Kubernetes 集群状态,确保一致性与可靠性。它支持实时同步、声明式设置、自动修复和丰富的用户界面,极大简化了复杂应用的部署管理。结合 Helm Charts,ArgoCD 提供模块化、可重用的部署流程,显著减少人工开销和配置错误。对于云原生企业,ArgoCD 能优化部署策略,提升效率与安全性,是实现自动化与一致性的理想选择。
835 0
|
12月前
|
存储 Kubernetes 异构计算
Qwen3 大模型在阿里云容器服务上的极简部署教程
通义千问 Qwen3 是 Qwen 系列最新推出的首个混合推理模型,其在代码、数学、通用能力等基准测试中,与 DeepSeek-R1、o1、o3-mini、Grok-3 和 Gemini-2.5-Pro 等顶级模型相比,表现出极具竞争力的结果。
|
存储 Kubernetes 监控
K8s集群实战:使用kubeadm和kuboard部署Kubernetes集群
总之,使用kubeadm和kuboard部署K8s集群就像回归童年一样,简单又有趣。不要忘记,技术是为人服务的,用K8s集群操控云端资源,我们不过是想在复杂的世界找寻简单。尽管部署过程可能遇到困难,但朝着简化复杂的目标,我们就能找到意义和乐趣。希望你也能利用这些工具,找到你的乐趣,满足你的需求。
1104 33
|
Kubernetes 开发者 Docker
集群部署:使用Rancher部署Kubernetes集群。
以上就是使用 Rancher 部署 Kubernetes 集群的流程。使用 Rancher 和 Kubernetes,开发者可以受益于灵活性和可扩展性,允许他们在多种环境中运行多种应用,同时利用自动化工具使工作负载更加高效。
694 19
|
存储 测试技术 对象存储
使用容器服务ACK快速部署QwQ-32B模型并实现推理智能路由
阿里云最新发布的QwQ-32B模型,通过强化学习大幅度提升了模型推理能力。QwQ-32B模型拥有320亿参数,其性能可以与DeepSeek-R1 671B媲美。
|
存储 Kubernetes 测试技术
企业级LLM推理部署新范式:基于ACK的DeepSeek蒸馏模型生产环境落地指南
企业级LLM推理部署新范式:基于ACK的DeepSeek蒸馏模型生产环境落地指南
777 12
|
人工智能 Kubernetes 异构计算
大道至简-基于ACK的Deepseek满血版分布式推理部署实战
大道至简-基于ACK的Deepseek满血版分布式推理部署实战
768 5
|
存储 Kubernetes 对象存储
部署DeepSeek但GPU不足,ACK One注册集群助力解决IDC GPU资源不足
部署DeepSeek但GPU不足,ACK One注册集群助力解决IDC GPU资源不足
412 3
|
边缘计算 调度 对象存储
部署DeepSeek但IDC GPU不足,阿里云ACK Edge虚拟节点来帮忙
部署DeepSeek但IDC GPU不足,阿里云ACK Edge虚拟节点来帮忙
340 0
|
存储 Kubernetes 对象存储
部署 DeepSeek 但 GPU 不足,ACK One 注册集群助力解决 IDC GPU 资源不足
部署 DeepSeek 但 GPU 不足,ACK One 注册集群助力解决 IDC GPU 资源不足

推荐镜像

更多
下一篇
开通oss服务