apiVersion: search.karmada.io/v1alpha1kind: ResourceRegistrymetadata: name: proxy-sample spec: targetCluster: clusterNames: - member1 - member2 resourceSelectors: - apiVersion: v1 kind: Pod - apiVersion: v1 kind: Node
将该配置提交给karmada-apiserver之后,便可使用URL:/apis/search.karmada.io/v1alpha1/proxying/karmada/proxy/api/v1/namespaces/default/pods来进行集群资源访问。该URL中/apis/search.karmada.io/v1alpha1/proxying/karmada/proxy为固定前缀,后面部分与Kubernetes原生API路径完全一致。关于该特性的更多信息可以参考:https://karmada.io/docs/userguide/globalview/proxy-global-resource/基于自定义集群资源模型的调度在集群调度的过程中,karmada-scheduler会基于一系列的因素来做调度决策,其中一个不可或缺的因素就是集群的可用资源。之前的版本中,Karmada采用了一种通用的资源模型ResourceSummary来抽象集群的可用情况,如下所示:resourceSummary: allocatable: cpu: "1024" memory: 4096Mi pods: "110" allocated: cpu: "512" memory: 2048Mi pods: "64"
但是ResourceSummary机械地累加了集群中所有节点的资源,忽视了节点上的碎片资源,这会导致资源需求较大的Pod无法准确地调度到合适的集群。同时它也忽视了不同用户的集群中节点可分配的资源不完全相同的特点。1.3版本中Karmada引入了一种新的方式——自定义集群资源模型,来抽象集群的可用资源情况,旨在使调度器调度集群的结果更精确。用户可以启用--CustomizedClusterResourceModeling的特性开关来启用这一特性,开启后,在集群被Karmada所纳管后,Karmada会自动地为集群设置默认的资源模型,这一资源模型将集群中的各个节点分为不同等级的模型,默认的资源模型将根据CPU和内存这两项资源指标把节点分为9个不同的等级,如下所示:resourceModels:- grade: 0ranges:- max: "1"min: "0"name: cpu- max: 4Gimin: "0"name: memory- grade: 1ranges:- max: "2"min: "1"name: cpu- max: 16Gimin: 4Giname: memory.....- grade: 8ranges:- max: "9223372036854775807"min: "128"name: cpu- max: "9223372036854775807"min: 1Tiname: memory
Cluster-status-controller将会收集集群内的节点、Pod信息计算对应模型节点的数量,与此同时,karmada-scheduler根据将要调度的实例资源请求比较不同集群中满足要求的节点数,并将实例调度到满足要求的节点更多的集群。同时,在一些场景下,默认的集群资源模型不能满足用户特定集群的需求,现在用户可以通过kubectl edit cluster命令自定义地设置集群的资源模型,使资源模型能够更好地拟合集群的资源拓扑。基于Bootstrap令牌的集群注册1.3版本中,对于 Pull 模式下的集群,我们提供了一种通过命令行向 Karmada 控制面注册的方式。现在通过karmadactl token命令我们可以轻松的创建Bootstrap启动令牌的token,token的默认有效时长是24小时。$ karmadactl token create --print-register-command --kubeconfig /etc/karmada/karmada-apiserver.config
# The example output is shown belowkarmadactl register 10.10.x.x:32443 --token t2jgtm.9nybj0526mjw1jbf --discovery-token-ca-cert-hash sha256:f5a5a43869bb44577dba582e794c3e3750f2050d62f1b1dc80fd3d6a371b6ed4
通过karmadactl register命令可以在不复制成员集群kubeconfig的情况下非常轻松地完成包括部署karmada-agent在内的注册过程,增强了控制面以Pull模式纳管成员集群的易用性和安全性。$ karmadactl register 10.10.x.x:32443 --token t2jgtm.9nybj0526mjw1jbf --discovery-token-ca-cert-hash sha256:f5a5a43869bb44577dba582e794c3e3750f2050d62f1b1dc80fd3d6a371b6ed4# The example output is shown below[preflight] Running pre-flight checks[prefligt] All pre-flight checks were passed[karmada-agent-start] Waiting to perform the TLS Bootstrap[karmada-agent-start] Waiting to construct karmada-agent kubeconfig[karmada-agent-start] Waiting the necessary secret and RBAC[karmada-agent-start] Waiting karmada-agent DeploymentW0825 11:03:12.167027 29336 check.go:52] pod: karmada-agent-5d659b4746-wn754 not ready. status: ContainerCreating......I0825 11:04:06.174110 29336 check.go:49] pod: karmada-agent-5d659b4746-wn754 is ready. status: Runningcluster(member3) is joined successfully
版本升级我们验证了从karmada 1.2版本到1.3版本的升级路径,升级过程平滑,可参考升级文档:https://karmada.io/docs/administrator/upgrading/v1.2-v1.3致谢贡献者Karmada v1.3版本包含了来自51位贡献者的数百次代码提交,在此对各位贡献者表示由衷的感谢:贡献者GitHub ID:@AllenZMC@calvin0327@carlory@CharlesQQ@Charlie17Li@chaunceyjiang@cutezhangq@dapengJacky@dddddai@duanmengkk@Fish-pro@Garrybest@gy95@halfrost@hanweisen@huntsman-li@ikaven1024@joengjyu@JoshuaAndrew@kerthcet@kevin-wangzefeng@kinzhi@likakuli@lonelyCZ@luoMonkeyKing@maoyangLiu@mathlsj@mikeshng@Momeaking@mrlihanbo@my-git9@nuclearwu@Poor12@prodanlabs@RainbowMango@suwliang3@TheStylite@wawa0210@weilaaa@windsonsea@wlp1153468871@wuyingjun-lucky@XiShanYongYe-Chang@xuqianjins@xyz2277@yusank@yy158775@zgfh@zhixian82@zhuwint@zirain参考链接● Release Notes:https://github.com/karmada-io/karmada/releases/tag/v1.3.0● 集群故障迁移使用指导:https://karmada.io/docs/userguide/failover/#concept● 多集群资源全局代理使用指导:https://karmada.io/docs/userguide/globalview/proxy-global-resource/● 集群资源模型使用指导:https://karmada.io/docs/userguide/scheduling/cluster-resources● 基于Bootstrap令牌的集群注册使用指导:https://karmada.io/docs/userguide/clustermanager/cluster-registration点击下方,第一时间了解华为云新鲜技术~华为云博客_大数据博客_AI博客_云计算博客_开发者中心-华为云(图片来源网络,侵删)
0 评论