簡體   English   中英

本地主機的 Kube.netes Traefik 入口規則

[英]Kubernetes Traefik ingress rule for local host

我正在嘗試將 traefik 儀表板連接到本地主機。 我下面的清單將顯示 localhost:port 但我只收到 404 錯誤。 現在確定如何將入口設置為在本地工作。 基本代碼設置為在 AWS NLB 上運行,我正在嘗試將其設置為在本地運行。 下面的清單包含 traefik Kube.netes 安裝的部署和服務。

apiVersion: v1
kind: Namespace
metadata:
  name: traefik
---
kind: Deployment
apiVersion: apps/v1
metadata:
  name: traefik-ingress-lb
  namespace: kube-system
  labels:
    k8s-app: traefik-ingress-lb
spec:
  replicas: 1
  selector:
    matchLabels:
      k8s-app: traefik-ingress-lb
  template:
    metadata:
      labels:
        k8s-app: traefik-ingress-lb
        name: traefik-ingress-lb
    spec:
      # hostNetwork: true
      serviceAccountName: traefik-ingress-lb
      terminationGracePeriodSeconds: 60
      containers:
      - image: traefik:v2.5
        imagePullPolicy: IfNotPresent
        name: traefik-ingress-lb
        args:
        - --serversTransport.insecureSkipVerify=true
        - --providers.kubernetesingress=true
        - --providers.kubernetescrd
        - --entryPoints.traefik.address=:1080
        - --entryPoints.https.address=:443
        - --entrypoints.https.http.tls=true
        - --entryPoints.https.forwardedHeaders.insecure=true
        - --entryPoints.https2.address=:4443
        - --entrypoints.https2.http.tls=true
        - --entryPoints.https2.forwardedHeaders.insecure=true
        - --entryPoints.turn.address=:5349
        - --entrypoints.turn.http.tls=true
        - --entryPoints.turn.forwardedHeaders.insecure=true        
        - --api
        - --api.insecure
        - --accesslog
        - --log.level=INFO
        - --pilot.dashboard=false
        - --entryPoints.http.address=:80
        - --entrypoints.http.http.redirections.entryPoint.to=https
        - --entrypoints.http.http.redirections.entryPoint.scheme=https
        - --entrypoints.http.http.redirections.entrypoint.permanent=true
        resources:
          limits:
            memory: 3072Mi
            cpu: 1.5
          requests:
            memory: 1024Mi
            cpu: 1        
---
apiVersion: v1
kind: Service
metadata:
  name: lb
  namespace: kube-system
  annotations:
   
spec:
  type: LoadBalancer 
  externalTrafficPolicy: Local
  selector:
    k8s-app: traefik-ingress-lb
  ports:
  - name: http
    port: 80
    targetPort: 80
  - name: https
    port: 443
    targetPort: 443   
  - name: https2
    port: 4443
    targetPort: 4443
  - name: turn
    port: 5349
    targetPort: 5349
---
apiVersion: v1
kind: Service
metadata:
  name: dashboard
  namespace: traefik
spec:
  selector:
    k8s-app: traefik-ingress-lb
  ports:
  - name: dashboard
    port: 1080
    targetPort: 1080
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: traefik
  namespace: kube-system
  # annotations:
  #   ingress.kubernetes.io/whitelist-x-forwarded-for: "true"
spec:
  entryPoints:
    - https
    # - web
  routes:
  - kind: Rule
    match: "PathPrefix(`/api`) || PathPrefix(`/dashboard`)"
    # middlewares:                    
    # - name: internal-ip-whitelist             
    #   namespace: traefik            
    services:                       
    - kind: Service
      name: dashboard
      namespace: kube-system
      passHostHeader: true
      port: 1080
,,,

您的 IngressRoute 指向命名空間“kube-system”中的儀表板服務,但 traefik 儀表板服務部署在命名空間“traefik”中。 因此,該路線不起作用,導致 traefik 中的 404。

暫無
暫無

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

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