0

環境

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.yamlkubernetes.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

しかし、私が何をしようとしてもannotationshelm 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このチャートの展開でデフォルトを使用するにはどうすればよいですか?

4

2 に答える 2