如何解决在Azure中为kubernetes配置两个环境
Azure kubernetes服务仅允许我为一个群集分配一个IP地址。我已经在该群集中创建了两个名称空间,我想通过url作为环境来区分这两个名称空间。
命名空间
- 阶段
- dev
对这些名称空间的所需访问将类似于{namespace}.cloudapp.azure.com
。
在每个命名空间中定义入口控制器时,将分配相同的IP地址。一般而言,我应该如何实现这种分离但保持相同的群集?
解决方法
对于您的用例,您只需要一个入口控制器。即https://kubernetes.github.io/ingress-nginx/
要实现此目的,您需要为通向单个群集IP的名称空间添加DNS条目。 如果您只想访问两个DNS名称:
- stage.cloudapp.azure.com
- dev.cloudapp.azure.com
- *。stage.cloudapp.azure.com
- *。dev.cloudapp.azure.com
通过此设置,您可以添加以下格式的入口:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-example-with-hostname
namespace: dev
spec:
rules:
- host: dev.cloudapp.azure.com
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: service
port:
number: 80
有关更多信息,请查看以下文档:https://kubernetes.io/docs/concepts/services-networking/ingress/#name-based-virtual-hosting
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。