首页 > 其他分享 >Kubernetes大规模集群

Kubernetes大规模集群

时间:2024-08-25 15:47:40浏览次数:7  
标签:服务 Kubernetes 可用 docs 大规模 集群 节点

Kubernetes资源限制

Kubernetes 单个集群支持的最大节点数为 5,000。Kubernetes标准的配置:

  • 每个节点的 Pod 数量不超过 110
  • 节点数不超过 5,000
  • Pod 总数不超过 150,000
  • 容器总数不超过 300,000

你可以通过添加或删除节点来扩展集群。集群扩缩的方式取决于集群的部署方式

Kubernetes集群设计

多云设计

  1. 方案一,多个可用区组成高可用Kubernetes业务集群,可以解决以下风险
    • Kubernetes升级造成的未知风险
    • Kubernetes业务集群瘫痪、脑裂等问题
    • Kubernetes调度故障、服务故障、环境问题等
  2. 方案二,IDC+公有云方式,需要企业IDC与公有云机房建立专线连接,使其符合企业业务可接受的响应时间

业务集群

当企业业务规模很大,通常会按业务线、业务关联性、业务核心级别等其它属性创建独立的集群,提高业务可用性,服务快速响应

控制面组件

控制面组件高可用,Kubernetes支持控制面组件跨多个failure zones,是一个region的逻辑隔离区域,公有云厂商称之为可用区,在不同的可用区提供相同的服务(Kubernetes控制面组件,APIServer、Controller manager、scheduler manager)

ETCD

https://v1-27.docs.kubernetes.io/zh-cn/docs/setup/best-practices/cluster-large/#etcd-storage

https://v1-27.docs.kubernetes.io/zh-cn/docs/setup/production-environment/tools/kubeadm/ha-topology/#stacked-etcd-topology

如果希望ETCD与Kubernetes控制面组件独立,可以独立部署,提高节点故障冗余性

Kubernetes节点冗余

根据可用区设计服务高可用

在企业S级服务运行的Kubenetes node可以分布在不同的公有云可用区,这些节点打应用服务标签,运行企业核心服务以此提高服务的高可用性

如果你的集群跨了多个可用区或者地理区域,你可以使用节点标签,结合 Pod 拓扑分布约束 来控制如何在你的集群中多个失效域之间分布 Pods。这里的失效域可以是 地理区域、可用区甚至是特定节点。 这些提示信息使得调度器 能够更好地分布 Pods,以实现更好的可用性,降低因为某种失效给整个工作负载 带来的风险

根据服务资源的特性设计

在不同的可用区定义不同的规格的服务器(高IO型、计算型、内存型、通用型)打上对应的标签,实现不同类型的服务调度到所需要的资源类型节点

根据服务类型划分节点分类

企业服务经常会有前端服务、后端服务、基础服务、数据库等,根据服务功能为节点打不同的标签,实现不同类型的服务被调度不同的节点上

标签:服务,Kubernetes,可用,docs,大规模,集群,节点
From: https://www.cnblogs.com/apink/p/18379023

相关文章

  • Kubernetes 从0到1
    Kubernetes建设考虑点部署一套Kubernetes集群需要考虑多个方面,包括应用层面、中间件、数据库、流量入口等。以下是一些关键方面:基础设施:选择适当的云提供商或物理硬件来部署Kubernetes集群。确保网络和存储资源的可用性和性能。考虑集群的地理位置和可用性区域。以上综合......
  • Kubernetes v1.28.2 & Calico eBPF
    集群初始化简略步骤初始化集群kubeadminit\--skip-phases=addon/kube-proxy\--apiserver-cert-extra-sans=35.229.220.159,127.0.0.1,10.0.0.3,10.0.0.4,10.0.0.5,10.254.0.2\--control-plane-endpoint=apiserver.unlimit.club\--apiserver-advertis......
  • 修改kubeadm证书过期时间及更新k8s集群证书
    一、为什么要修改kubeadm证书时间Kubernetes官方提供了kubeadm工具安装kubernetes集群,使用这个工具安装集群非常便捷,使部署和升级Kubernetes变得简单起来。不过该工具有点坑的就是,使用其安装的kubernetes集群的大部分证书有效期只有一年,需要在证书过期前,使用更新操作......
  • Kubernetes自动扩缩容:实现高效资源管理
    在云计算和容器化时代,应用程序的弹性伸缩变得尤为重要。Kubernetes作为领先的容器编排平台,提供了强大的自动扩缩容(Autoscaling)功能,允许集群根据实时负载自动调整Pod的数量。本文将深入探讨Kubernetes中的自动扩缩容机制,包括其原理、实现方式以及最佳实践。Kubernetes自动扩......
  • 深入理解Kubernetes中的ConfigMap:配置管理的艺术
    在Kubernetes的世界中,配置管理是一个至关重要的部分,它允许开发者和运维人员将配置信息从容器镜像中分离出来,以便于更灵活地管理和更新应用。ConfigMap是Kubernetes提供的一种配置管理工具,它允许用户将配置数据存储在集群中,并且可以被Pods以多种方式使用。本文将详细介绍Conf......
  • kubernetes学习笔记
    基础环境系统镜像版本Centos7.6最小化最低运行环境基本要求内存及CPU:512MB/CPU1核K3s版本v1.30.0+k3s1集群规划:注意:需要对每台主机设置hostname,使用hostnamectlset-hostname主机名K8s-master192.168.200.1291C/1GK8s-worker1192.168.200.1302C/......
  • 集群聊天服务器
    集群聊天服务器项目地址:Focuspresent/ChatServer(github.com)环境搭建(基于Unbuntu20.04)boost库安装sudoaptinstalllibboost-all-devmysql开发库安装sudoaptinstalllibmysqlclient-devmuduo库安装先需要安装cmake以及boost库sudoaptinstallcmake下载安......
  • awk打印除某数据项/某列数/某些列数之外其它列数据的实现以及Twemproxy(redis集群方案
    一、awk打印除某数据项/某列数/某些列数之外其它列数据的实现        偶尔碰到一个需求,我需要使用awk打印数据,但是只需要打印某列之后的其它列,比如我只要第2列及之后的所有数据,如何实现呢?实际很简单:#将$1置成空,然后打印即可awk'{$1="";print}'filepathawk'{$1......
  • 【Kubernetes】Kubernetes 安装后.kube/config文件作用以及位置
    1.概述首先参考上一篇文章:【Flink】Mac下使用flink-kubernetes-operator本地运行flink程序在上一篇文章中我本地运行起来一个k8s案例,然后在我做使用代码提交任务到k8s的时候报错找不到/root/.kube/config然后我就突然我本地是不是不是这个目录呢?一找果然找到了lcc@lcc......
  • 【kubernetes】The LocalStreamEnvironment cannot be used when submitting
    1.概述新手上路,首先参考文章:【Flink】Mac下使用flink-kubernetes-operator本地运行flink程序在这个文章中,我们知道了如何使用demo提交flink任务。但是如果我们的机器没有kubectl命令,我们改怎么提交任务到flink呢?这里我们可以使用代码提交,此处文章参考:【kubernetes】使......