gpt4 book ai didi

nginx - 在 nginx 反向代理后面运行的 Kubernetes Ingress

转载 作者:行者123 更新时间:2023-12-05 00:14:41 26 4
gpt4 key购买 nike

我已经在可以从 Internet 访问的服务器上安装了 minikube。

我创建了一个可用的 kubernetes 服务:

>kubectl get service myservice
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
myservice 10.0.0.246 <nodes> 80:31988/TCP 14h

minikube的IP地址为:
>minikube ip
192.168.42.135

我要网址 http://myservice.myhost.com (即端口 80)映射到 minikube 中的服务。

我在主机上运行了 nginx(与 kubernetes 完全无关)。我可以设置一个虚拟主机,将 URL 映射到 192.168.42.135:31988 (节点端口)并且它工作正常。

我想使用入口。我已经添加并启用了入口。但我不确定:

a) yaml 文件应该包含什么

b) 来自浏览器的端口 80 上的传入流量如何重定向到入口和 minikube。

c) 我还需要使用 nginx 作为反向代理吗?

d) 如果是这样,运行 ingress-nginx 的地址是什么(以便我可以将流量映射到它)?

最佳答案

设置

首先,您需要一个 nginx ingress controller .

nginx 实例将监听主机 80 和 443 端口,并将每个 HTTP 请求重定向到入口配置定义的服务,如下所示。

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: my-service-ingress
annotations:
# by default the controller redirects (301) HTTP to HTTPS,
# the following would make it disabled.
# ingress.kubernetes.io/ssl-redirect: "false"
spec:
rules:
- http:
paths:
- path: /
backend:
serviceName: myservice
servicePort: 80

使用 https://{host-ip}/要访问 myservice,主机应该是运行 nginx Controller 的主机。

外部

通常你不需要 Kubernetes 集群之外的另一个 nginx。

Minikube 有点不同,它在虚拟机而不是主机中运行 kubernetes。

我们需要做一些端口转发,比如 host:80 => minikube:80,在主机中运行反向代理(如 nginx)是一种优雅的方式。

也可以通过 setting virtual networking port forward in Virtualbox 来完成.

关于nginx - 在 nginx 反向代理后面运行的 Kubernetes Ingress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46507766/

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