我目前正在为我的公司做一些关于 Kubernetes 的研究。我们想评估从我们私有计算中心内的裸机服务器托管我们自己的 Kubernetes 集群。我只使用过托管 Kubernetes(如 Google Cloud 等),当然还有 minikube 用于本地测试。
有没有人使用过自托管和自安装的 Kubernetes 集群,并给我一些关于配置和管理此类集群所需的专有技术和时间的评估?
我目前正在为我的公司做一些关于 Kubernetes 的研究。我们想评估从我们私有计算中心内的裸机服务器托管我们自己的 Kubernetes 集群。我只使用过托管 Kubernetes(如 Google Cloud 等),当然还有 minikube 用于本地测试。
有没有人使用过自托管和自安装的 Kubernetes 集群,并给我一些关于配置和管理此类集群所需的专有技术和时间的评估?
在 GKE 和 EKS 出现之前,我已经运行了一些不平凡的集群,尽管我很庆幸我是在 IaaS 设置中这样做的,所以我不必整理东西,如果出现问题,我只是要求云提供商杀死它。您的问题有两个独立的部分,它们是不同的工作量:配置和管理
在机器处于启动并读取用户数据的形状后,配置集群可能会在短短 30 分钟内完成(我认为即使是裸机也有相应的cloud-init方案,即使不太强调“云”部分),感谢完全神奇的kubeadm和它的朋友etcdadm
然而,在 kubernetes 启动并运行之后,才是真正的工作开始的时候——通常被称为“第二天”操作,这是一本厚厚的书,里面有需要监控的事情和可以升级的事情。
为了绝对清楚,我并不是要劝阻你:当集群(是|是)处于良好状态时,它就像魔法和数量惊人的 Just Work™。但是,就像许多神奇的东西一样,当他们生气时,如果你还不熟悉警告标志或识别他们的枪声,它会使令人沮丧的情况更加令人沮丧。
最后一部分将成为要克服的杀手级障碍,恕我直言,因为 - 就像许多软件一样 - 一旦您了解它们是如何粘合在一起的,排除它们通常是一个乏味但易于处理的问题。然而,管理 Kubernetes本身只是保持 Kubernetes集群存活所需的工具集的一部分:
kubelet
systemd(是的,除非您使用直接启动到and的真正深奥的机器映像之一,否则仍然需要containerd
)containerd
)Node
Pod
Deployment
Service
ConfigMap
Secret
Secret
StatefulSet
Role
,RoleBindings
,ClusterRole
,ClusterRoleBindings
, 以及 auth 如何将其从 HTTPS 请求向下传递到 apiserver 的处理程序以转换为Subject
可以根据这些策略进行评估的策略,就像所有与“安全”相关的好东西一样,它本身就是无底洞要了解的标准和解决问题的工具虽然它可能不会影响您使用裸机设置,但通常kubernetes 通过诸如 MetalLB 和 CNI IPAM 解决方案之类的方式与外部世界交互,解决这些问题需要知道 kubernetes期望他们做什么,然后将其与他们的内容相协调实际上在做
我个人还没有参加CKA,但您可能应该至少通过课程了解 CNCF 认为哪些主题是基本知识。如果你没有被吓到,那么,嘿,也许你也可以从这个练习中得到你的 CKA :-)
好狩猎!