kubectl create namespace ingress-basic
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm install nginx-ingress ingress-nginx/ingress-nginx \
--namespace ingress-basic \
--set controller.replicaCount=2 \
--set controller.nodeSelector."beta\.kubernetes\.io/os"=linux \
--set defaultBackend.nodeSelector."beta\.kubernetes\.io/os"=linux \
--set controller.admissionWebhooks.patch.nodeSelector."beta\.kubernetes\.io/os"=linux
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: rabbit-ingress
namespace: default
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/use-regex: "true"
nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
tls:
- hosts:
- my.domain.com
secretName: tls-secret
rules:
- http:
paths:
- backend:
serviceName: rabbitmq-cluster
servicePort: 15672
path: /(.*)
我可以从外部通过域名导航到我的集群,并看到具有有效HTTPS的控制面板(在15672内部)。所以入口已经启动并运行,我可以创建队列等等。因此rabbitmq工作正常。
但是,我无法使TCP部分工作,以便从集群外部发布到队列。
我已经通过azure portal接口为控制器(nginx-ingress-ingress-nginx-controller)编辑了我认为是configmap(azure-cluster-configuration-nginx-ingress-ingress-nginx-controller)的yaml并将其添加到最后
data:
'5672': 'default/rabbitmq-cluster:5672'
- name: amqp
protocol: TCP
port: 5672
我相信这里的问题是helm配置了太多我自己的东西,我无法定制太多。
我用helm卸载了ingress,并将ingress创建脚本更改为:
helm install nginx-ingress ingress-nginx/ingress-nginx \
--namespace ingress-basic \
--set controller.replicaCount=2 \
--set controller.nodeSelector."beta\.kubernetes\.io/os"=linux \
--set defaultBackend.nodeSelector."beta\.kubernetes\.io/os"=linux \
--set controller.admissionWebhooks.patch.nodeSelector."beta\.kubernetes\.io/os"=linux \
--set tcp.5672="default/rabbitmq-cluster:5672"
它预先配置了TCP端口转发,我不需要做任何其他事情。我不知道它是否影响了它,但这似乎‘破坏’了我的SSL实现,所以我将入口路由创建脚本从v1beta升级到v1,并且https再次完美地工作。
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: rabbit-ingress
namespace: default
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/use-regex: "true"
nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
tls:
- hosts:
- my.domain.com
secretName: tls-secret
rules:
- host: my.domain.com
http:
paths:
- path: /(.*)
pathType: Prefix
backend:
service:
name: rabbitmq-cluster
port:
number: 15672
我不知道如何在Kubernetes集群(不是minikube)上设置入口控制器。我遵循的每一个nginx入口设置都产生了一个错误,控制器设置不正确。基本上,我想要一个与minikube插件等效的命令来启用入口。谢谢 编辑1- 我正在遵循中提到的安装步骤https://kubernetes.github.io/ingress-nginx/deploy/我已经尝试了baremetal、cloud和其他
所以我已经使用库伯内特斯在Google云上设置了我的应用程序。我有一个Pod,我想从需要TCP请求的集群中公开它。 我通过ingress nginx了解到这是可能的,并对此进行了研究。如本文所述,可以通过如下方式设置configMap来完成: ,但它的完整用法没有明确描述,也没有在文档中找到完整的示例。 我已经安装了《安装指南》中提到的ingress nginx,但我不确定下一步将如何暴露我的Po
3.3 配置Nginx集群 本节介绍如何配置Nginx服务器集群。 同一个Nginx服务器集群下的多台Nginx服务器,配置文件都是完全一致的。多个站点对应一个Nginx服务器集群,建议按照站点流量进行划分,让多个Nginx集群的流量尽量均匀。 请确保添加的Nginx服务器,已经安装好并正在运行Dengine及camel-agent。 1.点击引导页面的“点击新增Nginx集群”按钮 2.在对话框
在RoR4 Heroku应用程序上配置Puma(多线程多核服务器)时,我需要一些帮助。那上面的Heroku文档不是最新的。我遵循了这一条:配置的并发性和数据库连接,其中没有提到集群的配置,因此我必须同时使用这两种类型(线程和多核)。 我目前的配置: /程序文件 ./config/puma.rb 问题: a) 我是否需要像Unicorn中那样的before\u fork/after\u fork配置
我在Hetzner Cloud上安装了一个带有“kubeadm”的库伯内特斯集群。 安装成功后,我安装了带有Helm的入口控制器。 入口控制器服务的EXTERNAL-IP处于挂起状态。默认类型是LoadBalancer,据我所知,只有AWS、Google等云提供商才支持这种类型。。。 所以我将服务类型更改为NodePort。 我应该如何将外部DNS配置到我的服务? 我不想附加3。。。。端口,但让入
我有一个关于库伯内特斯·安格拉斯的简短问题。我在单个集群中拥有Nginx入口控制器和AWS ALB入口控制器以及Nginx和AWS ALB入口资源。这两个入口资源都指向单个服务和部署文件,这意味着这两个入口资源都指向相同的服务。然而,当我点击Nginx入口URL时,我能够看到所需的页面,但是使用AWS ALB入口,我只能看到apache默认页面。我知道这听起来不太实际,但我正在尝试用这两种入口资源