运维进阶训练营 -W17H
基于 NetworkPolicy 限制 pod 的访问使用 Kubernetes 的 NetworkPolicy 来限制 magedu namespace 中的所有 pod 不能跨 namespace 访问,只能访问当前 namespace 中的所有 pod。具体做法是在 NetworkPolicy 中定义一个 ingress 规则,只允许来自同一 namespace 的 pod 访问。
在 Kubernetes 环境部署 zookeeper 集群并实现持久化使用 NFS 或 StorageClass 等方式实现创建持久化,使用 Kubernetes 的 StatefulSet 来运行 zookeeper 集群,并将数据持久化到 NFS 或 StorageClass 中。
在 Kubernetes 环境部署基于 StatefulSet 运行 MySQL 一主多从并实现数据持久化使用 NFS 或 StorageClass 等方式实现数据持久化,使用 Kubernetes 的 StatefulSet 来运行 MySQL 一主多从,并将数据持久化到 NFS 或 StorageClass 中。
在 Kubernetes 环境运行 java 单体服务 Jenkins 和基于 LNMP 的 WordPress 使用 Dockerfile 构建 Jenkins 和 WordPress 的镜像,然后在 Kubernetes 中运行单个 Pod,其中 Jenkins 镜像中包含 Java 环境和 Jenkins 服务,WordPress 镜像中包含 Nginx、PHP 和 WordPress 应用。MySQL 数据库使用上一步骤运行在 K8S 中的 MySQL。
基于 LimitRange 限制 magedu namespace 中单个 container 最大 1C1G,单个 pod 最大 2C2G 使用 Kubernetes 的 LimitRange 来限制 magedu namespace 中单个 container 最大 1C1G,单个 pod 最大 2C2G。具体做法是在 LimitRange 中定义一个 limits 规则,限制 CPU 和内存的使用。
基于 ResourceQuota 限制 magedu namespace 中最多可分配 CPU 192C,内存 512G 使用 Kubernetes 的 ResourceQuota 来限制 magedu namespace 中最多可分配 CPU 192C,内存 512G。具体做法是在 ResourceQuota 中定义一个 limits 规则,限制 CPU 和内存的使用。
基于 Operator 在 Kubernetes 环境部署 prometheus 监控环境使用 Kubernetes Operator 来部署 prometheus 监控环境,其中包括 prometheus-server、cAdvisor、grafana 和 node-exporter 等组件。具体做法是使用 Operator Framework 开发自定义的 Operator,然后在 Kubernetes 中使用该 Operator 来部署和管理 prometheus 监控环境。
版权声明: 本文为 InfoQ 作者【赤色闪电】的原创文章。
原文链接:【http://xie.infoq.cn/article/a12c3c79b2769895c924eb0e4】。未经作者许可,禁止转载。
评论