我们知道HTTPS
的服务非常安全,Google 现在对非HTTPS
的服务默认是拒绝的,而且还能避免国内各种乱七八糟的劫持,所以启用HTTPS
服务是真的非常有必要的。一些正规机构颁发的CA
证书费用又特别高,不过比较幸运的是也有免费的午餐 - Let's Encrypt
,虽然只有90天的证书有效期,但是我们完全可以在证书失效之前,重新生成证书替换掉。在Kubernetes
集群中就更方便了,我们可以通过 Kubernetes Ingress 和 Let’s Encrypt 实现外部服务的自动化 HTTPS。
标签: #Kubernetes
前面的课程中我们使用 Prometheus 采集了 Kubernetes 集群中的一些监控数据指标,我们也尝试使用
promQL
语句查询出了一些数据,并且在 Prometheus 的 Dashboard 中进行了展示,但是明显可以感觉到 Prometheus 的图表功能相对较弱,所以一般情况下我们会一个第三方的工具来展示这些数据,今天我们要和大家使用到的就是grafana
。
上节课我们和大家学习了怎样用 Promethues 来监控 Kubernetes 集群中的应用,但是对于 Kubernetes 集群本身的监控也是非常重要的,我们需要时时刻刻了解集群的运行状态。
对于集群的监控一般我们需要考虑以下几个方面:
- Kubernetes 节点的监控:比如节点的 cpu、load、disk、memory 等指标
- 内部系统组件的状态:比如 kube-scheduler、kube-controller-manager、kubedns/coredns 等组件的详细运行状态
- 编排级的 metrics:比如 Deployment 的状态、资源请求、调度和 API 延迟等数据指标
前面一篇文章理解 Kubernetes 的亲和性调度,现在仔细回头去看看,发现有很多地方没有理解透彻,不够深入,今天我们重新来理解下亲和性调度这一块知识。
kube-scheduler
是 kubernetes 系统的核心组件之一,主要负责整个集群资源的调度功能,根据特定的调度算法和策略,将 Pod 调度到最优的工作节点上面去,从而更加合理、更加充分的利用集群的资源,这也是我们选择使用 kubernetes 一个非常重要的理由。如果一门新的技术不能帮助企业节约成本、提供效率,我相信是很难推进的。
真真实实的实惠活动,没有乱七八糟的规矩、不需要扫码加群、不需要分享朋友圈,是不是非常良心?
为迎接祖国妈妈的生日,特地为我们的优点知识的会员朋友们提供一次优惠活动,将下面3个付费内容整体打包优惠,优惠后你将获得如下课程:
继续阅读 →前面我们学习了一些Helm
模板中的一些常用使用方法,但是我们都是操作的一个模板文件,在实际的应用中,很多都是相对比较复杂的,往往会超过一个模板,如果有多个应用模板,我们应该如何进行处理呢?这就需要用到新的概念:命名模板。
Helm 其他资料地址:
继续阅读 →Docker
官方关于Dockerfile
最佳实践原文链接地址:https://docs.docker.com/develop/develop-images/dockerfile_best-practices/
Docker
可以通过从Dockerfile
包含所有命令的文本文件中读取指令自动构建镜像,以便构建给定镜像。
Dockerfiles
使用特定的格式并使用一组特定的指令。您可以在 Dockerfile Reference 页面上了解基础知识 。如果你是新手写作Dockerfile
,你应该从那里开始。
本文档介绍了由 Docker,Inc. 和 Docker 社区推荐的用于构建高效镜像的最佳实践和方法。要查看更多实践和建议,请查看 Dockerfile for buildpack-deps。
继续阅读 →QoS
是 Quality of Service 的缩写,即服务质量。为了实现资源被有效调度和分配的同时提高资源利用率,kubernetes
针对不同服务质量的预期,通过 QoS(Quality of Service)来对 pod 进行服务质量管理。对于一个 pod 来说,服务质量体现在两个具体的指标:CPU 和内存
。当节点上内存资源紧张时,kubernetes 会根据预先设置的不同 QoS 类别进行相应处理。