由于业务需要分散在多个机房,如果使用一个deployment部署,则实现流量拆分、切换等,会十分不方便。故考虑将服务按照区域进行拆分
1、通过node label 定义服务器的区域,例如:
kubectl label nodes vm101 region=bj
kubectl label nodes vm102 region=sh
kubectl label nodes vm103 region=mirror
每个区域,一个deployment 和svc,deployment通过node的label 部署在指定节点上。
├── all.service.yaml --------all节点可以获取到gz/sh/mirror的endpoint 列表
├── gz
│ ├── deployment.yaml
│ └── service.yaml
├── ingress.yaml
├── mirror
│ ├── deployment.yaml
│ └── service.yaml
├── nginx.conf
├── php_conf.cm.yaml
└── sh
├── deployment.yaml
└── service.yaml
原文地址:http://blog.51cto.com/devops9527/2324826
时间: 2024-11-09 02:59:31