簡體   English   中英

如何在 kubernetes 中部署入口方法

[英]how to deploy ingress method in kubernetes

我在雲中創建了兩台機器。 一個給領導者,一個給追隨者。

我已經為兩台機器安裝了 docker 和 kubeadm 以在 Kubernetes 中部署應用程序,並添加了 ingress-nginx controller。

該應用程序使用節點端口類型成功部署,並且能夠使用 IP 和端口號公開。

和 DNS

測試nginx.com

是為該 IP 創建的,因此我可以公開該應用程序:

測試nginx.com:3001

部署和服務的配置如下:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: tool-deployment
  namespace: bot
  labels:
    app: tool
spec:
  replicas: 1
  selector:
    matchLabels:
      app: tool
  template:
    metadata:
      labels:
        app: tool
    spec:
      hostNetwork: true
      restartPolicy: Always
      containers:
      - name: tool
        image: myimage:latest
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 3001

---
apiVersion: v1
kind: Service
metadata:
  name: tool-service
  namespace: bot
spec:
  type: NodePort
  selector:
    app: tool
  ports:
    - protocol: TCP
      port: 3001
      targetPort: 3001
      nodePort: 32001

接下來,我嘗試將入口部署到服務,這樣我就可以在沒有端口的情況下公開應用程序。

下面給出了入口的 YAML 配置

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: tool-ingress
  namespace: bot
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - host: testnginx.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: tool-service
            port:
              number: 32001

但是入口不起作用:

This page isn’t working
testnginx.com didn’t send any data.
ERR_EMPTY_RESPONSE

有沒有需要添加的配置? 如何實現入口方法?

首先,如果您想使用 ingress 公開您的應用程序,那么您應該使用 ClusterIP 服務。 那么你的清單文件應該是這樣的。

apiVersion: v1
kind: Service
metadata:
  name: tool-service
  namespace: bot
spec:
  type: ClusterIP
  selector:
    app: tool
  ports:
    - protocol: TCP
      port: 3001
      targetPort: 3001

您還必須更改入口清單文件。

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: tool-ingress
  namespace: bot
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - host: testnginx.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: tool-service
            port:
              number: 3001

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM