共倒金荷家万里
English
往期整理
  •   文章分类
  •   文章标签
共倒金荷家万里
Article
44
Category
2
Tags
6
English
往期整理
文章分类
文章标签
work
ctyun cce交付
Post on: 2024-9-30
Last edited: 2024-9-30
Views
Kubernetes
type
status
date
slug
summary
tags
category
icon
password

概念

容器

操作系统层虚拟化(英语:Operating system–level virtualization),亦称容器化(英语:Containerization),是一种虚拟化技术,这种技术将操作系统内核虚拟化,可以允许用户空间软件实例(instances)被分割成几个独立的单元,在内核中运行,而不是只有一个单一实例运行。

K8s

Kubernetes(常简称为K8s)是用于自动部署、扩展和管理“容器化(containerized)应用程序”的开源系统。它旨在提供“跨主机集群的自动部署、扩展以及运行应用程序容器的平台”。 它支持一系列容器工具,包括Docker等。

理解:

容器和虚拟机对比:
  • 虚拟机是硬件虚拟化,共享硬件API,操作系统之间无感知。
  • 容器是操作系统虚拟化,共享操作系统内核API,容器实例之间无感知,所有容器实例使用相同版本操作系统。
  • 不同机制造就不同特性,适用于不同场景。
虚拟机
容器
重量级
轻量级
性能有限
本机性能
每个VM都在自己的OS中运行
所有容器共享主机操作系统
硬件级虚拟化
操作系统虚拟化
启动时间(以分钟为单位)
启动时间(以毫秒为单位)
分配所需的内存
需要更少的内存空间
完全隔离,因此更安全
进程级隔离,可能不太安全

云容器服务

目前市场上的云服务商提供多类云容器服务,比如
  1. 云容器引擎服务:用户管理完整的K8s集群。
  1. 弹性云容器实例服务:或称serverless容器服务,用户无需管理K8s集群,按需创建容器实例。
  1. 容器镜像服务:global镜像仓库。
  1. 跨云容器服务:跨云、云上云下混合部署K8s集群。
  1. ……
理解
产品和开源:
  • 产品会按照业务场景的逻辑组合技术能力,让用户可以按照业务逻辑使用相应技术,比如弹性云主机服务创建虚机的操作步骤:配置A、B、C——>创建;openstack创建虚机的操作步骤:创建系统盘——>创建VM——>桥接网络——>……
  • 产品会根据底层硬件进行组件的调优,量化性能指标,比如云硬盘IO……
  • 云容器引擎服务就是云服务商的K8s最佳实践。

天翼云容器引擎服务交付

交付方案的重点在于服务配置根据业务需求的细化,因此本文着重于服务特性与业务需求的匹配,而不是组件原理分析。

云容器引擎服务概述

是什么?
云容器引擎服务提供高度可扩展的、高性能的企业级K8s集群。
可以解决什么问题?
借助云容器引擎,您可以在云上轻松部署、管理和扩展容器化应用程序。
怎么用?
您可以通过控制台、Kubectl命令行、K8s API使用云容器引擎服务。

版本选择

天翼云容器服务分为合营版本和自研版本:
合营版本目前支持K8s版本1.17、1.19,自研版本目前支持K8s版本1.18、预计二季度支持1.20。
合营版本与自研版本目前在容器集群部署工具的可视化上有差异,合营版本使用控制台图形界面自动部署,自研版本使用ansible脚本部署,但它们在集群部署时的配置上需要考虑的因素是一样的。

云容器引擎服务架构

notion image
云容器服务引擎服务安装K8s基本组件,集群主机理论上可以是弹性云主机,可以是裸金属,集群主机分为Master节点和Node节点,一般地:Master节点部署控制面组件,Node节点运行容器运行时(Docker、containerd、CRI-O……)。

集群规模

集群是运行 Kubernetes 代理的、 由控制平面管理的一组 节点(物理机或虚拟机)。 Kubernetes v1.23 支持的最大节点数为 5000。 更具体地说,Kubernetes旨在适应满足以下所有标准的配置:
每个节点的 Pod 数量不超过 110 节点数不超过 5000 Pod 总数不超过 150000 容器总数不超过 300000
节点规模
Master规格
1~5个节点
4核8GB
6~20个节点
4核16GB
21~100个节点
8核32GB
100~200个节点
16核64GB

高可用设计

notion image
一般地:集群控制平面可以选择单控制平面或者高可用:3 Master HA高可用,当其中某个或者两个Master节点故障时,集群依然可用,从而保障业务高可用。
集群内节点和工作负载支持跨可用区(AZ)部署,保证业务系统在主机故障、机房中断、自然灾害等情况下可持续运行,获得生产环境的高稳定性,实现业务系统零中断。
对于高可用设计,实施过程需要主机跨AZ创建。

组网&网络插件选择

容器网络以Node网络为基础,通过网络插件实现,Node网络默认是学习不到容器地址的,所以容器流量需要通过网络组件在Node网络穿越,穿越方式分为两种:
Underlay方式:Flannel Host-gateway、Calico BGP……
  • 网络组件通过对Node网络增加自定义路由,使得容器流量可以直接在Node网络转发。一般地,Underlay方式建议集群部署在同一子网,这样容器流量只需要在出Node时进行一次路由(在Node host里添加其他Node地址路由规则)即可转发到其他Node。如果要进一步跨子网或者跨VPC,则需要在VPC路由表添加规则,而这个操作在很多云服务上是不允许的,比如AWS允许Calico BGP修改VPC路由,Azure则不允许。
  • 这种方式网络性能无损耗。
Overlay方式:Flannel VXLAN、Calico IPIP……
  • 网络组件通过在Node网络上构建overlay网络,使得容器可以在overlay网络通信,Node网络要求三层互通即可。
  • 这种方式由于引入overlay封装,网络性能有一定损耗。
根据这些容器网络方案,我们可能会遇到这些组网
子网内部署:根据性能需求或者后续扩展需要,可以选择Underlay方式或者Overlay方式。
跨子网:一般选择Overlay方式。
跨VPC:一般选择Overlay方式。

部署

图形界面or脚本。

进阶课题

可选组件

etcd:兼具一致性和高可用性的键值数据库,可以作为保存 Kubernetes 所有集群数据的后台数据库,默认部署在Master节点,可选独立部署。
CoreDNS:CoreDNS是一个灵活可扩展的 DNS 服务器,可以作为 Kubernetes 集群 DNS。
Ingress:一种 API 对象,其中定义了一些规则使得集群中的 服务可以从集群外访问。
Prometheus:kubernetes-promethues用于监控kubernetes集群。
Harbor:一个用于存储和分发Docker镜像的企业级Registry服务器。
istio:对应用是透明的,不需要改动任何服务代码就可以实现透明的服务治理,旨在解决大量微服务的发现、连接、管理、监控以及安全等问题。
这里暂不详解组件的原理与实践,它应该是解决方案的一部分,依据客户需要决定组件的选择。

业务迁移(业务上容器)

除了K8s,对于微服务框架、容器化应用云服务商也在持续产品化,也将持续成为交付重点。
微服务框架:Spring Boot、Spring Cloud、Dubbo……
容器化应用:安全容器、容器化数据库……
  • Author:共倒金荷家万里
  • URL:https://tangly1024.com/article/11140ef0-3786-801d-ad29-f68a2725f1e4
  • Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts
istio-on-k8s
fluentd&fluentbit-on-k8s
prometheus-on-k8s
contour-on-k8s
kafka-on-k8s
EFK-on-k8s
k8s概述sysbench安装与测试
Loading...
Catalog
0%
概念容器K8s理解:云容器服务天翼云容器引擎服务交付云容器引擎服务概述版本选择云容器引擎服务架构集群规模高可用设计组网&网络插件选择部署进阶课题可选组件业务迁移(业务上容器)
共倒金荷家万里
共倒金荷家万里
何日把酒言欢
Article
44
Category
2
Tags
6
Latest posts
RAGFlow practice
RAGFlow practice
2025-4-7
Dify practice
Dify practice
2025-4-7
DBMotion deployment
DBMotion deployment
2024-12-10
datebase deployment(on laptop)
datebase deployment(on laptop)
2024-11-8
mysql shell migrate mysql
mysql shell migrate mysql
2024-11-6
wordpress+mysql+minio development(on cloud service)
wordpress+mysql+minio development(on cloud service)
2024-11-6
Announcement
实践是检验真理的唯一标准
 
Catalog
0%
概念容器K8s理解:云容器服务天翼云容器引擎服务交付云容器引擎服务概述版本选择云容器引擎服务架构集群规模高可用设计组网&网络插件选择部署进阶课题可选组件业务迁移(业务上容器)
2021-2025 共倒金荷家万里.

共倒金荷家万里 | 何日把酒言欢

Powered by NotionNext 4.7.3.