开始对业务进行大规模容器化改造,到 2018 年,内部部署的容器单集群已经达到了上万个节点。时至今日,字节跳动实现云原生化的应用比例已超过 95%,我们计划和开源社区合作,逐步开放规模化云原生落地的工具和最佳实践。”字节跳动宣布正式开源 KubeWharf 项目。KubeWharf 是字节跳动基础架构团队在对 Kubernetes 进行了大规模应用和不断优化增强之后的技术结晶。这是一套以 Kubernetes 为基础构建的分布式操作系统,由一组云原生组件...
并且能够处理大规模集群中的数千个节点;(3)高可用性:Kubernetes提供了故障恢复和自愈能力,能够在节点出现故障时重新调度容器,并确保应用程序的高可用性;(4)灵活性:Kubernetes支持多种容器运行时(如Docker),并且... 并且随着集群的扩展,和集群运行时间的积累,ectd的性能会有一定的减弱,而TiKV通过水平扩容,可以有效的降低性能的减弱,所以在大规模集群模式下,是可以选择kubebrain代替ectd的。虽然kubebrain支持社区版api-server...
Scheduler 会对每个集群的节点进行打分操作以选择最合适的节点,并把这个节点的信息绑定到 Pod 资源上。6. 这时候 node 节点上运行的 Kubelet 通过请求 API Server 会得到创建对应 Pod 的任务,Kubelet 会把 Pod 启动需要的 volume 等依赖提前挂载起来。7. 之后 Docker 或 Containerd 等 runtime 会去拉起对应的容器,这个流程相当于把一个 Deployment 真正创建起来了。Kube-Proxy 这个组件主要负责当前节点上的网络路由等配...
**向上**通过容器镜像标准化应用,实现应用负载自动化部署;**中间**通过 Kubernetes 通用的编排能力,开放 API 以及自定义 CRD 扩展能力,打造云原生操作系统能力,形成云计算新界面;助力研发团队**快速构建标准化、弹... 实现集群服务发现能力。**1.2.Kubernetes 核心理念****1.2.1.POD 容器组,Kubernetes 最小调度单元****Pod 是 Kubernetes 的**最小调度及资源分配单元**,Pod 之间相互隔离,通常情况一个 Pod 只建议运行一个...
各服务之间互不影响,包括: 系统默认 ingress-nginx:在集群组件中心中,使用 ingress-nginx 组件部署,并按照系统提示安装。详情请参见 ingress-nginx 组件。 自定义 ingress-nginx:在容器服务 应用中心 中,使用模版部署自定义的 ingress-nginx 应用。详情请参见 部署多套 Nginx Ingress Controller。 日志采集默认情况下,自定义 Nginx Ingress Controller 的日志没有进行采集和持久化存储,需要您进行配置开启,实现自定义 Nginx Ing...
并开启 BasicAuth 认证,详情请参见 创建工作区。 已创建容器服务集群,并绑定托管 Prometheus 工作区,详情请参见 容器服务接入。 已通过 kubectl 连接目标集群。详情请参见 连接集群。 使用脚本部署 Grafana 时,需要... 容器名称 image: grafana/grafana:latest 使用 Docker Hub 中的开源镜像和最新版本 ports: - containerPort: 3000 容器开放的端口号 resources: requests: 指定最小资源...
系统除了容器服务默认的安全组规则外,不会配置额外的访问规则,需自行管理安全组规则。本文主要介绍自行管理容器服务相关的安全组规则时,出方向和入方向访问规则的推荐范围、最小范围。 通过配置安全组访问规则,允许或禁止安全组内的节点(ECS 实例)访问公网或私网。容器服务的安全组设置,请参见 安全组设置;更多安全组管理相关操作,请参见 ECS 的 管理安全组访问规则。 入方向访问规则集群访问规则 协议 端口 授权对象 推荐范围 I...
通过分布式云原生平台纳管三方云或 IDC 容器集群,实现云上统一的观测数据收集、展示与告警。本文为您介绍多云集群观测实践的详细使用方法。 前提条件已经通过分布式云原生平台注册外部集群,例如:阿里云 ACK 集群。详细介绍参见:快速注册容器集群。 确保注册的外部集群已经开启公网访问,能够通过公网收集观测数据。 已经搭建 Grafana 并完成初始化工作,例如:配置端口映射。 操作步骤步骤一:创建公网 VMP 工作区创建一个开启公网访...
本文为您介绍如何创建多集群服务。 前提条件已经将符合要求的容器集群注册到分布式云原生平台,详细介绍参见:创建 VKE 集群、注册现有集群。 已经完成集群联邦的基础环境搭建,包括:创建主控实例、添加成员集群、创建命名空间。 已经在服务提供者集群中创建 Kubernetes 服务。 使用限制2024年02月01日之前创建的主控实例,由于版本较低无法使用多集群服务,可新建主控实例以使用完整功能。详细介绍参见:开启多集群服务。 目前仅支持...
使用流水线的 Kubernetes 部署能力将应用部署到容器服务集群,需要提前接入待部署的容器服务集群。本文为您介绍如何接入容器服务集群。 注意 接入容器服务集群时,请注意控制该部署资源的工作区共享范围。容器服务集群的权限等同于该集群所属火山引擎账号的权限,若不控制工作区共享范围,所有工作区下的流水线均可使用该部署资源并进行发布,存在较大风险。 前提条件已开通火山引擎容器服务。 已创建容器服务集群,具体操作可参见 创...
本文主要描述容器服务中同一个集群内的应用,如何相互访问,满足通信需求。 概述集群内 Pod 的访问问题工作负载创建完成后在多个 Pod 中运行,而 Pod 由于具备弹性伸缩属性,因此访问 Pod 会面临如下几个问题: Pod 会随... 端口号为 8080,则集群内部访问时,直接通过 nginx:8080 就可以访问到 Service,进而访问后台 Pod。 节点端口访问(NodePort) 节点访问是指在每个节点的 IP 上开放一个静态端口,通过静态端口对外暴露服务。集群内其他应...
容器服务集群中部署 Grafana 并接入工作区。 说明 使用本文中提供的监控大盘时,Grafana 需要为 v9.0.2 及以上版本。 步骤二:导入监控大盘在集群中完成部署 Grafana 后,您可以下载下文中提供的监控大盘,并导入到 Grafana 系统中使用。操作步骤如下: 本地环境中使用 kubectl 连接集群,并执行以下命令,配置 Grafana 服务的端口映射。 bash kubectl port-forward service/grafana 3000:3000 -n volcano-metrics在本地环境中打开浏览...
容器服务中的 节点 一般指 Worker 节点。 Master 节点 集群的控制节点。主要由如下四个组件构成: API Server:提供各模块之间的数据交互和通信的枢纽。 ETCD:分布式数据存储组件,负责存储集群的配置信息。 Contro... 容器服务目前提供如下三种类型的服务: 集群内访问(ClusterIP):指将工作负载暴露给同一集群内其他工作负载访问的方式,可以通过集群内部域名访问。 节点端口访问(NodePort):指在每个节点的IP上开放一个静态端口,通过...