提问人:wholt 提问时间:11/15/2023 更新时间:11/15/2023 访问量:46
在 Azure Kubernetes 上创建 OpenSearch Ingress 服务
Creating an OpenSearch Ingress service on Azure Kubernetes
问:
我正在尝试为 OpenSearch kubernetes 服务创建外部 IP 地址,但我似乎无法让它工作。
我尝试按照这个Microsoft教程 https://learn.microsoft.com/en-us/azure/aks/ingress-basic?tabs=azure-cli 尝试为 OpenSearch 创建一个入口服务。我正在使用的入口服务 yaml 如下。
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: opensearch-ingress
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/use-regex: "true"
nginx.ingress.kubernetes.io/rewrite-target: /$2
spec:
ingressClassName: nginx
rules:
- http:
paths:
- path: /(/|$)(.*)
pathType: Prefix
backend:
service:
name: my-dashboard-opensearch-dashboards
port:
number: 5601
- path: /opensearch(.*)
pathType: Prefix
backend:
service:
name: opensearch-cluster-master
port:
number: 9200
---
服务正在运行,但是当我转到外部 IP 地址时,没有任何内容加载。
这是 Ingress 服务的问题,还是我需要执行其他步骤?任何帮助将不胜感激。谢谢!
答:
若要在 AKS 群集上创建 OpenSearch 入口服务,可以执行以下步骤:
请确保已设置并运行 AKS 群集。
在 AKS 群集中安装入口控制器。要安装 NGINX 入口控制器,您可以按照官方 NGINX 入口控制器文档中提供的说明进行操作: https://kubernetes.github.io/ingress-nginx/ 我在这里使用 helm
helm upgrade --install ingress-nginx ingress-nginx \
--repo https://kubernetes.github.io/ingress-nginx
但是,如果您想通过自定义域向外界公开您的 OpenSearch 服务,您可以使用如下方式,只需将主机名替换为您的自定义域,但在这种情况下,您需要为主机名配置 DNS 记录,以指向入口控制器负载均衡器的外部 IP 地址。
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: opensearch-ingress
spec:
rules:
- host: opensearch.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: opensearch-service
port:
number: 9200
我已经使用 helm 部署了 opensearch
helm install my-release oci://registry-1.docker.io/bitnamicharts/opensearch
并将其命名为 Pod 已启动,端口已转发,仪表板可通过 127.0.0.1:9200 访问my-release
kubectl get pods
kubectl port-forward --namespace default svc/my-release-opensearch 9200:9200
您可以参考以下文档以进一步了解情况
使用 Helm Chart 在 Kubernetes 上设置 OpenSearch 多节点集群
评论