K 8 SのIngressの使い方


K 8 SのIngressの使い方
Ingressのメリットと特徴をもう一度言う必要はありませんが、本稿では主に使い方を説明します.
準備条件
まずK 8 Sのインストールを完了し、defaulebackendとnginx-ingress-controlを含むingressをインストールし、pullの下に必要なdocker imageをインストールしてください.
に注意
ここで注意してください.便宜上、ingressを配置するときに、配置ファイルYmalのエントリを変更してyamlを変更し、nginx-ingress-controllerというdeploymentの下のspec.template.specは以下のように追加されます.
#spec:
      hostNetwork: true
      #serviceAccountName: nginx-ingress-serviceaccount
      #containers:

スタート
yamlでns,deployment,svc deploymentを作成します.yaml:
apiVersion: v1
kind: Namespace
metadata:
  name: web-test-ns
---
apiVersion: v1
kind: Service
metadata:
  name: web-svc-nodeport
  namespace: web-test-ns
spec:
  selector:
      app: nginx
  ports:
    - name: http
      port: 80
      protocol: TCP
      targetPort: 80
      #nodePort: 8000
  type: NodePort
  external-ip=192.168.250.200
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  namespace: web-test-ns
  labels:
    app: nginx
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
        ports:
        - containerPort: 80
#   
kubectl apply -f deployment.yaml

#    
kubectl get pods -A -o wide
kubectl get deployment -n web-test-ns
kubectl get ns
kubectl get svc -n web-test-ns

YamlによるIngressの生成:ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-web
  namespace: web-test-ns  
spec:
  rules:
  - host: test.com
    http:
      paths:
      - path:/    
        backend:
          serviceName: web-svc
          servicePort: 80
#   
kubectl apply -f ingress.yaml
#  
kubectl get ingress -n web-test-ns
kubectl describe ingress ingress-web -n web-test-ns

Ingress controlの入り口アドレスは何ですか?どうやって訪問しますか?
では、問題が来ました.どのアドレスでIngressの入り口にアクセスするか、私たちはどうして知っていますか.次のコマンドを実行して表示
kubectl get pods -A -o wide
#                 :
#ingress-nginx   nginx-ingress-controller-5d796786f6-lzfhc   1/1     Running   2          12h   192.168.250.101   node                
#  192.168.250.101        
#  /etc/hosts
echo '192.168.250.101 test.com' >>/etc/hosts
#  
curl test.com
#  !