Kubernetes目前支持Windows的节点,并支持将Windows平台的应用Pod调度到Windows节点运行,具体参考Kubernetes官方文档、以及微软官方文档。
https://kubernetes.io/zh/docs/setup/production-environment/windows/
https://docs.microsoft.com/en-us/virtualization/windowscontainers/kubernetes/getting-started-kubernetes-windows
简单理解,说下各自应用场景。
(1)无状态:比如某个应用需要部署2个节点,然后通过一个负载均衡器代理,供外部访问。这种情况采用Deployment部署,后端的两个节点通过Service(负载均衡)将服务暴露出去,默认使用轮询策略像两个节点转发请求,节点无优先级,pod名称后面会拼接类似随机字符串,名称不固定;
(2)有状态:部署一主一从2个节点的MySQL数据库集群,从节点永远只能再主节点取数据然后同步过来,对外提供数据库服务,写操作只能指定到主节点,而读操作可以是两个节点轮询转发请求。这种情况下两个节点担负责任不一样,且有优先级。只能使用StatefulSet并配合无头服务,才能指定访问到后端的主节点。pod名称默认按照数字顺序,如:pod名称-0、pod名称-1、pod名称-2等,或者说你需要一个固定的pod名称这种需求。
换这个版本metrics试试
curl -SLO https://addons.kuboard.cn/metrics-server/0.3.6/metrics-server.yaml
kubectl apply -f metrics-server.yaml