K8S多集群管理实践(一):Karmada架构解析与部署入门


1. 为什么需要多集群?

1.1 单集群管理规模有上限

etcd瓶颈

etcd对空间大小的要求很高,默认限制为2GB,但根据官方文档的建议最大值为8GB,这意味着集群能存储的对象数量和大小有限。

内存占用

API Server作为K8S集群的入口,为提高查询效率,API Server会对集群的所有对象做缓存,当集群越大,缓存需要的内存空间就越大。

K8S中其他控制器也需要对侦听的对象构建客户端缓存,也会导致占用系统内存,意味着内存需求对系统的规模也会有一定限制。

控制器复杂度

K8S的一个业务流程是由多个对象和控制器联动完成的,就算控制器遵循了设计原则,随着对象数量的增长,控制器的处理耗...

Read more

etcd备份脚本


在Kubernetes中,所有的资源对象都存储在etcd中,如果etcd数据丢失,将造成整个Kubernetes集群不可用,所以要定期进行数据的备份。

#!/bin/bash 

ETCDCTL_API=3
ENDPOINT='https://192.168.3.203:2379'
BACKUP_PATH=/data/backup/etcd
BACKUP_TIME=`date +%Y%m%d_%H%M%S`
CA_PATH=/etc/kubernetes/pki/etcd/ca.crt
CERT_PATH=/etc/kubernetes/pki/etcd/server.crt
KEY_P...

Read more