環境
k3s ( v1.19.3 +k3s3) クラスターがあり、「すぐに使える」traefik イングレス コントローラーを使用しています。
kubectl get svc -n kube-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kube-dns ClusterIP 10.43.0.10 <none> 53/UDP,53/TCP,9153/TCP 5d16h
metrics-server ClusterIP 10.43.127.152 <none> 443/TCP 5d16h
traefik-prometheus ClusterIP 10.43.73.131 <none> 9100/TCP 5d16h
traefik LoadBalancer 10.43.121.125 111.11.11.111 80:32492/TCP,443:31586/TCP 5d16h
kubectl -n kube-system describe svc traefik
Name: traefik
Namespace: kube-system
Labels: app=traefik
app.kubernetes.io/managed-by=Helm
chart=traefik-1.81.0
heritage=Helm
release=traefik
Annotations: meta.helm.sh/release-name: traefik
meta.helm.sh/release-namespace: kube-system
Selector: app=traefik,release=traefik
Type: LoadBalancer
IP: 10.43.121.125
LoadBalancer Ingress: 111.11.11.111
Port: http 80/TCP
TargetPort: http/TCP
NodePort: http 32492/TCP
Endpoints: 10.42.0.6:80
Port: https 443/TCP
TargetPort: https/TCP
NodePort: https 31586/TCP
Endpoints: 10.42.0.6:443
Session Affinity: None
External Traffic Policy: Cluster
Events: <none>
問題
ヘルム チャート (たとえば、このゴースト チャート)を使用してこのイングレス コントローラーを使用する方法がわかりません。Helm チャートがどのように機能し、それが果たす目的を理解していると、Ingress
テンプレートによってさまざまなイングレス コントローラーを使用できるようになります。チャートはこちらingress.yaml
...
kind: Ingress
metadata:
name: {{ $fullName }}
labels:
{{- include "ghost.labels" . | nindent 4 }}
annotations:
nginx.ingress.kubernetes.io/proxy-body-size: {{ $maxSize }}
{{- with .Values.ingress.annotations }}
{{- toYaml . | nindent 4 }}
{{- end }}
...
これに基づいて、デフォルトの代わりにtraefikを使用するには、のannotations
セクションを編集する必要があると思いますvalues.yaml
kubernetes.io/ingress.class: nginx
ingress:
enabled: true
annotations:
kubernetes.io/ingress.class: traefik # what should I use?
hosts:
- host: some.domain.io
paths:
- /
tls:
- secretName: chart-example-tls
hosts:
- some.domain.io
しかし、私が何をしようとしてもannotations
、helm install
得続けます
Error: UPGRADE FAILED: failed to create resource: Internal error occurred: failed calling webhook "validate.nginx.ingress.kubernetes.io": Post "https://ingress-nginx-controller-admission.ingress-nginx.svc:443/networking/v1beta1/ingresses?timeout=10s": service "ingress-nginx-controller-admission" not found
あたかも helm がNginx ingress controllerを探しているかのように、何があっても。これは (このような) グラフの制限である可能性がありますか?それとも、Helm グラフのしくみを誤解していますか? traefik ingress
このチャートの展開でデフォルトを使用するにはどうすればよいですか?