中级
如果您是一个集群操作者,希望扩展对 Kubernetes 的理解,本页及其相关主题会扩展基础集群操作者页面上提供的信息。在本页中,你可以获得如何管理一个完整生产集群的关键 Kubernetes 任务的信息。
使用 ingress,网络,存储和工作负载
Kubernetes 的介绍通常讨论简单的无状态应用程序。当您进入更复杂的开发,测试和生产环境时,您需要考虑更复杂的情况:
通信: Ingress 和网络
存储:Volumes 和 PersistentVolumes
工作负载
Pods
以及 Pod 如何处理调度,优先级,中断:
实施安全最佳实践
保护集群的工作超出了 Kubernetes 本身的范围。
在Kubernetes中,你可以配置访问的控制:
您还可以配置授权。也就是说,您不仅可以决定用户和服务如何向 API 服务器进行身份认证,或者确定他们是否可以访问,还可以决定他们有权访问哪些资源。基于角色的访问控制(RBAC)是控制对 Kubernetes 资源授权的推荐机制。其他授权模式可以用于更具体的使用场景。
您应该创建 Secrets 来保存敏感数据,例如密码,令牌或者密钥。但请注意,Secret 可以提供的保护存在限制。请参阅 Secrets 文档中的风险部分。
实现自定义日志和监控
监控集群的健康和状态非常重要。收集指标,日志,并提供对这些信息的访问是常见的需求。Kubernetes 提供了一些基本的日志记录结构,您可能需要使用其他工具来帮助汇总和分析日志数据。
从 Kubernetes 日志基础知识 开始,了解容器如何执行日志记录和常见模式。集群运维人员通常希望添加一些东西来收集和聚合这些日志。请参阅以下主题:
与日志聚合一样,许多集群使用其他软件来帮助捕获 metrics 并显示它们。这里是相关工具的概述:用于监视计算,存储和网络资源的工具。Kubernetes 还支持资源指标管道,还可以在水平 Pod 自动伸缩器(Horizontal Pod Autoscaler)中使用自定义 metrics。
Prometheus是另一个 CNCF 项目,它是支持捕获和临时收集指标的常用选择。安装 Prometheus 有几种方式,包括使用stable/prometheus helmchart,CoreOS 提供的prometheus operator 和 kube-prometheus,增加了 Grafana 仪表板和常用配置。
Minikube 和某些 Kubernetes 集群的通常配置是与 InfluxDB 和 Grafana 一起使用Heapster。这里有一个如何在集群中安装这个配置的参考。截止 Kubernetes 1.11,根据sig-instrumentation,Heapster 已经弃用。更多信息,请参阅 Prometheus vs. Heapster vs. Kubernetes Metrics APIs 。
其他资源
反馈
此页是否对您有帮助?
Thanks for the feedback. If you have a specific, answerable question about how to use Kubernetes, ask it on Stack Overflow. Open an issue in the GitHub repo if you want to report a problem or suggest an improvement.