Skip to content

Traefik暴露HTTP服务

暴露 HTTP 服务是咱们常使用的,首先配置 ingressroute。

ingress-route.yaml

yaml
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: foo
spec:
  entryPoints:
    - web
  routes:
    - match: Host(`foo.rookieops.top`)
      kind: Rule
      services:
        - name: foo
          port: 8080

然后在 traefik 中添加 entrypoint:

yaml
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
  name: traefik
  namespace: kube-system
  labels:
    k8s-app: traefik-ingress-lb
spec:
  selector:
    matchLabels:
      k8s-app: traefik-ingress-lb
  template:
    metadata:
      labels:
        k8s-app: traefik-ingress-lb
        name: traefik-ingress-lb
    spec:
      serviceAccountName: traefik-ingress-controller
      tolerations:
        - operator: "Exists"
      nodeSelector:
        kubernetes.io/hostname: 172.16.0.33
      containers:
        - image: traefik:v2.0
          name: traefik-ingress-lb
          ports:
            - name: web
              containerPort: 80
            - name: websecure
              containerPort: 443
            - name: admin
              containerPort: 8080
            - name: redis
              containerPort: 6379
          args:
            - --entrypoints.web.Address=:80
            - --entrypoints.websecure.Address=:443
            - --entrypoints.redis.Address=:6379
            - --api.insecure=true
            - --providers.kubernetescrd
            - --api
            - --api.dashboard=true
            - --accesslog

然后创建配置清单就可以了。

最近更新