0

オンプレミスの Kubernetes クラスターがあります。traefik の例に従って、クラスターで traefik を実行しています。これは、ロードバランサーとなるノードに関連付けられています。ルートでノードポートをヒットすることで、実行中のサービスにアクセスできます(イングレスあり)。たとえばhttp://build.mydomain.com:NODEPORTは、私を Jenkins にルーティングします。

しかし、 http://build.mydomain.comと入力するだけで Jenkins をヒットできるようにしたい

これは可能ですか、それともクラスター外でtraefik を実行する必要がありますか?

基本的には、ロード バランサーで 80 に達したすべてのものを traefik イングレス コントローラーにヒットさせたいだけです。これにより、イングレスに基づいてリクエストがルーティングされます。

---
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
      nodeSelector:
        node-role.kubernetes.io/worker: loadbalancer
---
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: NodePort
4

1 に答える 1