1

我正在按照Traefik 网站上的文档部署 Kubernetes Ingress Controller 。一切顺利,我可以看到 Ingress、相应的 pod 和服务都已启动并运行。唯一的问题 - 我无法访问 Traefik UI(仪表板)。

提到的文档非常不清楚,我在互联网上找不到任何具体的内容。服务没有外部 IP:见附图它应该以某种方式“代理”到本地主机还是静态 IP 或域名?部署脚本取自官方源

4

2 回答 2

2

使用的示例使用部署在 kube-system 命名空间中的集群 ip 部署“traefik-ingress-service”。该示例针对 minikube。要使其在 AKS 上运行,请编辑“traefik-ingress-service”并找到类型并更改

"type": "ClusterIP"
"type": "LoadBalancer"
并保存它。

之后,您的服务将获得一个公共 IP。然后使用该公共 IP,您将能够使用端口 8080 访问管理端点。

于 2019-01-09T06:05:12.327 回答
1

感谢@jakaruna-msft,实际上它是“类型”定义。我已经更改了配置,因此 .yaml 文件如下所示。我看到已经配置了 IP,所以现在我可以访问仪表板并将自定义的 IP 与 DNS 绑定。

---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: traefik-ingress-controller
  namespace: kube-system
---
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
  name: traefik-ingress-controller
  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:
      serviceAccountName: traefik-ingress-controller
      terminationGracePeriodSeconds: 60
      containers:
      - image: traefik
        name: traefik-ingress-lb
        ports:
        - name: http
          containerPort: 80
        - name: admin
          containerPort: 8080
        args:
        - --api
        - --kubernetes
        - --logLevel=INFO
---
kind: Service
apiVersion: v1
metadata:
  name: traefik-ingress-service
  namespace: kube-system
spec:
  selector:
    k8s-app: traefik-ingress-lb
  ports:
    - protocol: TCP
      port: 80
      name: web
    - protocol: TCP
      port: 8080
      name: admin
  type: LoadBalancer
于 2019-01-09T14:46:15.600 回答