Ingress
問題
namespace ingress-nginx
にnginxイメージをapp=nginx
Labelを持つNginx Podを構成しなさい
-
現在
appjs-servic
とnginx
サービスはすでに動作中です。別途の構成はいらないです -
app-ingress.yaml
ファイルを生成し、次の条件のIngressを構成しなさい -
名前: app-ingress
-
NODE_PORT:30080/
にアクセスした場合、nginx
サービスに連携 -
NODE_PORT:30080/app
にアクセスした場合、appjs-service
サービスにアクセス -
Ingress構成の次のアノテーションを含みなさい
annotations:
kuberneties.io/ingress.class:nginx
解決
- 状況確認
kubectl get namespaces ingress-nginx
kubectl run nginx --image=nginx --labels=app=nginx -n ingress-nginx
kubectl get pod -n ingress-nginx -L app
namespace ingress-nginxの確認
namespace ingress-nginxにnginxイメージをapp=nginxLabelを持つNginx Podを構成しなさい
namespace ingress-nginxのPodを確認す
2.サービスのIngress-nginxを確認する
kubectl get svc -n ingress-inginx
現在appjs-servicとnginxサービスはすでに動作中です。別途の構成はいらないです
namespace ingress-nginxの内部のサービスを確認する
3.ingressの構成する(チートシート参照)
file.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
namespace: ingress-nginx # namespace 指定
name: app-ingress # ingress名
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
kubernetis.io/ingress.class: nginx # annotationの追加
spec:
ingressClassName: nginx-example
rules:
- http:
paths:
- path: / # アクセスが/の場合、Nginxサービスにアクセス
pathType: Prefix
backend:
service:
name: nginx
port:
number: 80
- path: /app # アクセスが/appの場合、appjs-serviceにアクセス
pathType: Prefix
backend:
service:
name: appjs-service
port:
number: 80
kubectl apply -f ./file.yaml