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

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

时间:2024-09-22 12:23:58浏览次数:11  
标签: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

相关文章

  • 如何在 ReactJS 中创建可重用的 Button 组件
    按钮无疑是任何react应用程序中重要的ui组件,按钮可能用于提交表单或打开新页面等场景。您可以在react.js中构建可重用的按钮组件,您可以在应用程序的不同部分中使用它们。因此,维护您的应用程序将变得更加简单,并且您的代码将保持dry(不要重复)。您必须首先在组件文件夹中创建一......
  • 在 TypeScript 的类组件的构造函数中是否总是需要定义 `props` 和 `state` ?
    当使用typescript在react中处理类组件时,经常会出现这样的问题:是否有必要且强制在构造函数中定义props和state。这个问题的答案取决于组件的具体需求。在这篇博文中,我们将了解何时以及为何使用构造函数来定义props和状态,以及不同方法的优缺点。使用构造函数何......
  • 在画中画窗口中安装 React 组件
    google在chrome116中引入了documentpictureinpictureapi。在本文中,我们将探讨如何在画中画窗口中安装一个简单的react组件,而无需先将其安装在我们的主应用程序上。第1步-设置组件结构我们制造两个组件。maincomponent.js和counter.js。在maincomponent.js中,我们......
  • 在 React 中管理同一组件的多个实例中的状态
    当您使用react并拥有同一组件的多个实例时,管理状态可能会变得很棘手。根据组件需要交互的方式,您需要以不同的方式处理状态。这是我发现效果很好的方法。独立实例:将状态保留在组件内部如果您的组件不需要相互通信,最好将它们的状态保留在组件内。这样,每个实例都有自己的状态......
  • 使用可重用列表组件扩展 React 应用程序
    在react中构建可扩展的应用程序需要的不仅仅是可靠的业务逻辑。随着应用程序的发展,组件的架构对于其可维护性、性能和灵活性起着重要作用。许多web应用程序中的基本任务之一是处理数据列表。无论是渲染产品列表、表格还是仪表板,您经常会遇到需要可重复和可重用的列表结构的场......
  • 基于AODV和leach协议的自组网络平台matlab仿真,对比吞吐量,负荷,丢包率,剩余节点个数,
    1.算法仿真效果matlab2017b仿真结果如下(完整代码运行后无水印):本程序系统是《m基于matlab的AODV,leach自组网网络平台仿真,对比吞吐量,端到端时延,丢包率,剩余节点个数,节点消耗能量》的的升级。升级前原文章链接增加了运动节点的路由测试,包括定向运动,随机运动,静止状态,修正了丢......
  • 基于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......
  • 鸿蒙开发-Swiper(轮播图容器组件)
    Swiper组件提供滑动轮播显示的能力。Swiper本身是一个容器组件,当设置了多个子组件后,可以对这些子组件进行轮播显示。通常,在一些应用首页显示推荐的内容时,需要用到轮播显示的能力。针对复杂页面场景,可以使用Swiper组件的预加载机制,利用主线程的空闲时间来提前构建和布局绘制......
  • 鸿蒙开发项目中你是怎么理解生命周期?你知道的生命周期函数有那些, 说一下执行时机?(页面
    生命周期流程如下图所示,下图展示的是被@Entry装饰的组件(页面)生命周期。#一、怎么理解生命周期?生命周期:简单点理解就是从创建到销毁的过程#二、你知道的生命周期函数有那些,说一下执行时机?自定义组件:@Component装饰的UI单元,可以组合多个系统组件实现UI的复用,可以调用组......