Kubernetes 如何使traefik绑定主机服务器';使用部署类型时使用s 80和443端口

Kubernetes 如何使traefik绑定主机服务器';使用部署类型时使用s 80和443端口,kubernetes,Kubernetes,我使用部署类型将traefik 2.2.1用作集群的入口点,这是我的部署配置: kind: Deployment apiVersion: apps/v1 metadata: name: traefik namespace: kube-system selfLink: /apis/apps/v1/namespaces/kube-system/deployments/traefik uid: ddee327d-8570-44be-ab8d-06cb440187f4 resourc

我使用部署类型将traefik 2.2.1用作集群的入口点,这是我的部署配置:

kind: Deployment
apiVersion: apps/v1
metadata:
  name: traefik
  namespace: kube-system
  selfLink: /apis/apps/v1/namespaces/kube-system/deployments/traefik
  uid: ddee327d-8570-44be-ab8d-06cb440187f4
  resourceVersion: '335024'
  generation: 12
  creationTimestamp: '2020-06-04T07:37:20Z'
  labels:
    app.kubernetes.io/instance: traefik
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: traefik
    helm.sh/chart: traefik-8.2.1
  annotations:
    deployment.kubernetes.io/revision: '7'
    meta.helm.sh/release-name: traefik
    meta.helm.sh/release-namespace: kube-system
spec:
  replicas: 4
  selector:
    matchLabels:
      app.kubernetes.io/instance: traefik
      app.kubernetes.io/name: traefik
  template:
    metadata:
      creationTimestamp: null
      labels:
        app.kubernetes.io/instance: traefik
        app.kubernetes.io/managed-by: Helm
        app.kubernetes.io/name: traefik
        helm.sh/chart: traefik-8.2.1
    spec:
      volumes:
        - name: data
          emptyDir: {}
      containers:
        - name: traefik
          image: 'traefik:2.2.1'
          args:
            - '--global.checknewversion'
            - '--global.sendanonymoususage'
            - '--entryPoints.traefik.address=:9000'
            - '--entryPoints.web.address=:80'
            - '--entryPoints.websecure.address=:443'
            - '--api.dashboard=true'
            - '--ping=true'
            - '--providers.kubernetescrd'
            - '--providers.kubernetesingress'
          ports:
            - name: traefik
              containerPort: 9000
              protocol: TCP
            - name: web
              containerPort: 8000
              protocol: TCP
            - name: websecure
              containerPort: 8443
              protocol: TCP
          resources: {}
          volumeMounts:
            - name: data
              mountPath: /data
          livenessProbe:
            httpGet:
              path: /ping
              port: 9000
              scheme: HTTP
            initialDelaySeconds: 10
            timeoutSeconds: 2
            periodSeconds: 10
            successThreshold: 1
            failureThreshold: 3
          readinessProbe:
            httpGet:
              path: /ping
              port: 9000
              scheme: HTTP
            initialDelaySeconds: 10
            timeoutSeconds: 2
            periodSeconds: 10
            successThreshold: 1
            failureThreshold: 1
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          imagePullPolicy: IfNotPresent
          securityContext:
            capabilities:
              drop:
                - ALL
            runAsUser: 65532
            runAsGroup: 65532
            runAsNonRoot: true
            readOnlyRootFilesystem: true
      restartPolicy: Always
      terminationGracePeriodSeconds: 60
      dnsPolicy: ClusterFirst
      serviceAccountName: traefik
      serviceAccount: traefik
      securityContext:
        fsGroup: 65532
      schedulerName: default-scheduler
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxUnavailable: 1
      maxSurge: 1
  revisionHistoryLimit: 10
  progressDeadlineSeconds: 600
status:
  observedGeneration: 12
  replicas: 5
  updatedReplicas: 2
  readyReplicas: 3
  availableReplicas: 3
  unavailableReplicas: 2
  conditions:
    - type: Available
      status: 'True'
      lastUpdateTime: '2020-06-04T08:41:03Z'
      lastTransitionTime: '2020-06-04T08:41:03Z'
      reason: MinimumReplicasAvailable
      message: Deployment has minimum availability.
    - type: Progressing
      status: 'True'
      lastUpdateTime: '2020-06-04T10:57:35Z'
      lastTransitionTime: '2020-06-04T10:48:40Z'
      reason: ReplicaSetUpdated
      message: ReplicaSet "traefik-dd74b59b" is progressing.

我的问题是:是否可以使treafik侦听主机的80和443端口?如果可能,如何制作?还是应该将部署类型更改为守护程序集?如果没有,我必须在每个节点部署一个nginx来转发流量。

在规范中添加
hostNetwork:true
。这使得pod使用主机的网络名称空间

...
spec:
  hostNetwork: true
  containers:
    - name: traefik
...

我更改配置并使用此命令检查主机端口的绑定:
lsof-I:8000
但仍然没有进程侦听,我是否做错了什么@Arghya Sadhu正在检查pod运行的节点?它可以工作,我应该使用sudo来检查它。@Arghya Sadhu