gpt4 book ai didi

azure - 在 azure k8s 上设置入口

转载 作者:行者123 更新时间:2023-12-03 05:01:06 25 4
gpt4 key购买 nike

我正在尝试在 azure 上设置入口。我有一个 Pod 和正在运行的服务(一个网站)。

谷歌搜索 Ingress 设置,似乎你必须创建 3 个东西,Ingress、服务和入口 Controller (pod)

这是我到目前为止所拥有的:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: myingress
annotations:
kubernetes.io/ingress.class: nginx
ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: ui.example.com
http:
paths:
- backend:
serviceName: ui
servicePort: 80
- host: monit.example.com
http:
paths:
- path:
backend:
serviceName: grafana
servicePort: 80

这几乎是不言自明的,但是rewrite-target到底是做什么的(我有两个后端)?

接下来使用 LoadBalancing 服务

apiVersion: v1
kind: Service
metadata:
name: ingressservice
spec:
ports:
- port: 80
name: http
- port: 443
name: https
selector:
k8s-app: nginx-ingress-controller
type: LoadBalancer

以及入口 Controller

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: nginx-ingress-controller
labels:
k8s-app: nginx-ingress-controller
spec:
replicas: 1
template:
metadata:
labels:
k8s-app: nginx-ingress-controller
annotations:
prometheus.io/port: '10254'
prometheus.io/scrape: 'true'
spec:
terminationGracePeriodSeconds: 60
containers:
- image: gcr.io/google_containers/nginx-ingress-controller:0.9.0-beta.15
name: nginx-ingress-controller
ports:
- containerPort: 80
hostPort: 80
- containerPort: 443
hostPort: 443
env:
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
args:
- /nginx-ingress-controller
- --default-backend-service=$(POD_NAMESPACE)/default-http-backend

问题: * 所有这些是如何协同工作的? * 入口 Controller 的图像是否正确? (它应该在 Azure 上运行)

最佳答案

无论你的 kubernetes 在哪个云上运行,入口都发生在 kubernetes 内部,因此它与云无关。要设置入口,您可以使用 official helm chart为了那个原因。之后,您需要创建入口定义以使用您创建的入口公开您的服务。

关于azure - 在 azure k8s 上设置入口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57203376/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com