剖析探寻Karmada 云原生多云

PS:已在其他技术平台首发

探寻Karmada

多云容器平台(Multi-Cloud Container Platform,MCP)是华为云基于多年容器云领域实践经验和社区先进的集群联邦技术(Karmada),提供的容器多云和混合云的解决方案,为您提供跨云的多集群统一管理、应用在多集群的统一部署和流量分发,为您彻底解决多云灾备问题的同时,还可以在业务流量分担、业务与数据分离、开发与生产分离、计算与业务分离等多种场景下发挥价值。
剖析探寻Karmada 云原生多云_第1张图片

Karmada 部署到 K8S 集群

安装 etcd
karmada 依赖 etcd,需要先部署 etcd,这里推荐不使用 karmada 的 chart 包中自带的 etcd,不支持挂载 pvc,不利于数据的持久化。k8s官方宣称支持最大150000个pods,5000个node。但是现实生产环境中业务时常有超过该规模的述求,比如说大型电商如淘宝,拼多多,又比如AI和大数据处理的workflow。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
  labels:
    app: nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - image: nginx
        name: nginx

PropagationPolicy和OverridePolicy都是从kubefed v2继承的概念:

PropagationPolicy用于定义对象分发的策略;
OverridePolicy用于按需修改不同集群内对象的spec;
受到k8s本身性能的限制,包括scheduler、 etcd 、API server等一些性能瓶颈,每一个集群也有它数量的上限。
剖析探寻Karmada 云原生多云_第2张图片
初始化主节点
kubeadm在初始化k8s集群的时候,会从gce云服务器pull一些所需要的镜像,并且这个镜像是非常大的,而且速度比较慢。

#!/bin/bash
# 默认会解压到/root/kubeadm-basic.imageswe文件下
tar -zxvf /root/kubeadm-basic.images.tar.gz
ls /root/kubeadm-basic.images > /tmp/image-list.txt
cd /root/kubeadm-basic.images

for i in $( cat /tmp/image-list.txt )
do
	docker load -i $i
done

rm -rf /tmp/image-list.txt

Karmada 关键能力

1)Kubernetes 原生 API 兼容:既有应用配置及基础设施无需改造,由单集群架构平滑升级到多集群(多云)架构。无缝集成 Kubernetes 现有工具链生态。

2)开箱即用:面向多场景的内置策略集,包括两地三中心、同城双活、异地容灾等。支持应用的跨集群上的自动伸缩、故障迁移和负载均衡。

3)全网统一管理:提供地域无关的全网统一集群管理,支持公有云、私有云或边缘集群。

4)丰富的多集群调度策略:多集群亲和性调度、应用跨集群拆分、资源重新平衡;多维度多层次的高可用部署:区域/可用区/集群/供应商等。

5)开放中立:由多家互联网、金融、制造业、电信、云服务厂商和最终用户共同发起,以 CNCF 的开放治理为目标。

你可能感兴趣的:(#,笔记,云原生,kubernetes,cloud,native)