Kubernetes 不仅仅用于黑色星期五

主要观点:作者最初认为 Kubernetes 只适用于大型组织,过于复杂,但实际体验后发现它很适合自己的家庭实验室环境。自我托管服务时,作者曾手动使用 podman 和 ansible 部署,虽能满足需求但有局限性,如配置繁琐、升级困难、服务发现不佳等。而 Kubernetes 提供了更标准化的部署方式,通过 yaml manifests 描述容器等信息,可利用 Helm 图表快速部署服务,还能受益于社区维护的图表和专家经验。k3s 简化了 Kubernetes 的安装和维护,适合单服务器环境。Kubernetes 的可发现性也很棒,如 cert-manager 可自动获取证书,Prometheus Operator 可自动抓取服务。

关键信息:

  • 作者自我托管服务主要为自己,面临自身能力不足和硬件故障等威胁,曾用 podman 和 ansible 部署。
  • Kubernetes 不是只适用于大型组织,对于关心简单稳定设置的家庭实验室者很合适。
  • Kubernetes 可通过 yaml manifests 描述基础设施,Helm 图表可快速部署服务,且有社区维护。
  • k3s 简化了 Kubernetes 的安装和维护,适合单服务器环境。
  • Kubernetes 的可发现性好,如 cert-manager 和 Prometheus Operator 可自动处理相关事务。

重要细节:

  • 作者在 podman 和 ansible 部署中需手动按特定顺序执行多个步骤,升级也较复杂,服务发现不佳。
  • 在 Kubernetes 中,可通过kubectl apply应用 yaml manifest 部署服务,利用 Helm 图表配置变量快速部署,如部署 Keycloak。
  • k3s 安装简单,可通过curl -sfL https://get.k3s.io | sh -k3s-ansible playbook 进行安装,其集群可在单节点上运行。
  • Kubernetes 中的 Ingress 可用于暴露容器到网络,cert-manager 可读取 Ingress 属性获取证书,Prometheus Operator 可读取特定对象自动抓取服务。
阅读 26
0 条评论