我對K8s很陌生。
我試圖讓我的應用程式對外界可見。我已經在我的應用程式中部署了這個Nginx 入口控制器,使用 Helm 和helmfile,它為我提供了一個外部 IP 地址和一個負載均衡器。
據我了解,我現在需要ingress resource配置路由映射。
我計劃使用這個入口資源作為起點。
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: minimal-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
ingressClassName: nginx-example
rules:
- http:
paths:
- path: /testpath
pathType: Prefix
backend:
service:
name: test
port:
number: 80
我的應用程式部署在埠 80 上的單獨命名空間中。
我的問題是:我在哪里放置用于創建資源的 yaml?
如果可能的話,我想將所有內容都保留在 Helm 中,以便更輕松地管理配置,所以除非必須,否則我不想使用kubectl。
我的頭盔檔案
repositories:
- name: stable
url: https://charts.helm.sh/stable
- name: nginx-stable
url: https://helm.nginx.com/stable
releases:
# other apps configured here
- name: ingress-nginx
namespace: ingress
createNamespace: true
chart: nginx-stable/nginx-ingress
values:
- ./ingress/values.yaml
version: 0.10.4
installed: true
我的入口控制器 values.yaml:
---
rbac:
create: true
serviceAccount:
create: true
name: nginx-ingress-public
controller:
ingressClassResource:
enabled: true
default: true
replicaCount: 3
minAvailable: 3
updateStrategy:
rollingUpdate:
maxSurge: 3
maxUnavailable: 0
uj5u.com熱心網友回復:
您應該只部署一次入口控制器,因為它可以處理整個集群的所有入口流量。
有時部署多個是有意義的,例如我們運行 2 個入口控制器。1 個用于內部流量(私有 IP),1 個用于外部流量(公共 IP)。
一旦你有了它,你只需告訴你的其他 helm 版本使用它的 ingress 類。
入口清單通常是 helm chart 的模板。所以你把它放在模板中。如果你這樣做helm create my-app,你會得到一個很好的起點,包括入口。
一旦你的圖表中有一個入口模板,你可以像往常一樣為這個模板添加一些合理的默認值到圖表的 values.yaml 中。
部署圖表時,您可以使用某些標志來覆寫默認值。即-f和--set。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/474917.html
