Kubernetesクラスターはどこにデプロイされていますか?
NGINX Ingressは環境によってデプロイ方法が異なると思うので、そこがまず一番大事な情報になります。
目的
k8sの勉強の過程で、Ingessの動作確認をしようとしている
発生している問題
kind: Pod apiVersion: v1 metadata: name: foo-app labels: app: foo spec: containers: - name: foo-app image: hashicorp/http-echo:0.2.3 args: - "-listen=0.0.0.0:8080" - "-text=foo" --- kind: Service apiVersion: v1 metadata: name: foo-service spec: selector: app: foo ports: - port: 8080 --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: example-ingress spec: rules: - host: echo.info http: paths: - pathType: Prefix path: "/foo" backend: service: name: foo-service port: number: 8080 ---
上のマニュファストファイルをデプロイした後、確認すると
$ kubectl get ingress NAME CLASS HOSTS ADDRESS PORTS AGE example-ingress <none> echo.info 80 6m58s
のようになり、ADDRESS
が割り当てられていません。そのため、
$ curl -X GET -H “Host: echo.info” http://localhost/foo <html> <head><title>404 Not Found</title></head> <body> <center><h1>404 Not Found</h1></center> <hr><center>nginx</center> </body> </html>
となってしまいます。
本来なら、
$ curl -X GET -H “Host: echo.info” http://localhost/foo foo
と表示されるはずです。
なぜADDRESS
が割り当てられていないのかわかりません。ご教授お願いします。
試したこと
- こちらに従い、nginx_ingress_controllerを予めデプロイした。
あなたの回答
tips
プレビュー