首页 > 数据库 >k8s集群,master节点的初始化所用到的,init文件的分析,master节点的核心组件的作用,node节点的核心组件的作用,etcd数据库的高可用的配置思路

k8s集群,master节点的初始化所用到的,init文件的分析,master节点的核心组件的作用,node节点的核心组件的作用,etcd数据库的高可用的配置思路

时间:2024-09-22 12:23:58浏览次数:13  
标签:init 集群 etcd 组件 master k8s 节点

标准的k8s集群有三个组成部分

管理控制节点、计算节点、私有镜像仓库。

管理控制节点的功能:

提供集群的控制

对集群进行全局决策

检测和响应集群事件

管理控制节点中有四大核心服务

服务

端口

含义

用途

APIServer

6443

api接口

负责接收请求,实现功能

Scheduler

10259

调度器

负责调度pod到不同的计算节点

ControllerManager

10257

控制器管理器

负责管理各个控制器

etcd

2379-2380

数据库

负责存储集群中的元数据(运行数据)

计算节点的功能:

运行容器的实际节点

提供运行环境

在多个节点上运行

水平扩展

计算节点的核心组件:

kubelet

kube-proxy

Runtime

服务

端口

含义

用途

kubelet

10250

每个节点都得有,包括master

节点代理服务

kube-proxy

10256

每个节点都得有,包括master

网络通讯与负载均衡

Runtime

符合OCI标准的,能创建容器的软件,比如containerd、podman

镜像仓库用Harbor

可以做镜像的同步复制,也可以做负载均衡

主控节点初始化
]# kubeadm init --config=init/init.yaml |tee init/init.log
]# cat init.yaml 
---
kind: InitConfiguration                #  初始化配置
apiVersion: kubeadm.k8s.io/v1beta3
bootstrapTokens:
- groups:
  - system:bootstrappers:kubeadm:default-node-token
  token: xxx
  ttl: 24h0m0s
  usages:
  - signing
  - authentication
localAPIEndpoint:
  advertiseAddress: 192.168.1.50
  bindPort: 6443
nodeRegistration:
  criSocket: unix:///run/containerd/containerd.sock
  imagePullPolicy: IfNotPresent
  name: master
  taints: null
---
kind: ClusterConfiguration          # 集群配置
apiServer:
  timeoutForControlPlane: 4m0s
apiVersion: kubeadm.k8s.io/v1beta3
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controllerManager: {}
dns: {}
etcd:
  local:
    dataDir: /var/lib/etcd
imageRepository: harbor:443/k8s
kubernetesVersion: 1.29.2
networking:
  dnsDomain: cluster.local
  podSubnet: 10.244.0.0/16
  serviceSubnet: 10.245.0.0/16
scheduler: {}
---
kind: KubeProxyConfiguration        # kube-proxy配置
apiVersion: kubeproxy.config.k8s.io/v1alpha1
mode: ipvs
ipvs:
  strictARP: true
---
kind: KubeletConfiguration         # kubelet配置
apiVersion: kubelet.config.k8s.io/v1beta1
cgroupDriver: systemd

说到这里

可以比较明确的一点是

k8s的master节点

初始化是用命令行运行文件,

加上一些环境的配置,可以实现。

相对来说,

要实现k8s集群的高可用

核心点就是在etcd数据库的高可用

etcd数据库的高可用

一种方式是对master节点进行高可用

配置3台以上的master节点

每个节点上运行数据库

以此实现高可用

另一种方式

是把etcd从master节点独立出来

在集群外部做一个etcd集群

k8s集群需要与

etcd数据库集群进行交互

可以通过接口交互,

etcd独立于master节点

进行高可用的管理。

标签:init,集群,etcd,组件,master,k8s,节点
From: https://blog.csdn.net/2401_84019227/article/details/142434607

相关文章

  • 使用可重用列表组件扩展 React 应用程序
    在react中构建可扩展的应用程序需要的不仅仅是可靠的业务逻辑。随着应用程序的发展,组件的架构对于其可维护性、性能和灵活性起着重要作用。许多web应用程序中的基本任务之一是处理数据列表。无论是渲染产品列表、表格还是仪表板,您经常会遇到需要可重复和可重用的列表结构的场......
  • 基于AODV和leach协议的自组网络平台matlab仿真,对比吞吐量,负荷,丢包率,剩余节点个数,
    1.算法仿真效果matlab2017b仿真结果如下(完整代码运行后无水印):本程序系统是《m基于matlab的AODV,leach自组网网络平台仿真,对比吞吐量,端到端时延,丢包率,剩余节点个数,节点消耗能量》的的升级。升级前原文章链接增加了运动节点的路由测试,包括定向运动,随机运动,静止状态,修正了丢......
  • 【Ambari自定义组件集成】Bigtop编译大数据组件,看这一篇就够了
    快捷导航在正式内容之前,通过下方导航,大家可以快速找到相关资源:快捷导航链接地址备注相关文档-ambari+bigtop自定义组件集成https://blog.csdn.net/TTBIGDATA/article/details/142150086CSDN地址编译、开发、部署、集成解决方案https://t.zsxq.com/0PVcI知识星球源代码-Ambar......