Skip to content

Instantly share code, notes, and snippets.

@jonmosco
Created May 16, 2022 10:43
Show Gist options
  • Save jonmosco/d44ceec1db013c74d7d7d3387f86903b to your computer and use it in GitHub Desktop.
Save jonmosco/d44ceec1db013c74d7d7d3387f86903b to your computer and use it in GitHub Desktop.
KinD Ingress
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
name: operator-cluster
nodes:
  - role: control-plane
    kubeadmConfigPatches:
      - |
        kind: InitConfiguration
        nodeRegistration:
          kubeletExtraArgs:
            node-labels: "ingress-ready=true"
    extraPortMappings:
      - containerPort: 80
        hostPort: 80
        protocol: TCP
      - containerPort: 443
        hostPort: 443
        protocol: TCP
  - role: worker
    kubeadmConfigPatches:
    - |
      kind: JoinConfiguration
      nodeRegistration:
        kubeletExtraArgs:
          node-labels: "ingress-ready=true"
#   - role: worker
#     kubeadmConfigPatches:
#     - |
#       kind: JoinConfiguration
#       nodeRegistration:
#         kubeletExtraArgs:
#           node-labels: "ingress-ready=true"
#   - role: worker
#     kubeadmConfigPatches:
#     - |
#       kind: JoinConfiguration
#       nodeRegistration:
#         kubeletExtraArgs:
#           node-labels: "ingress-ready=true"
kind: Pod
apiVersion: v1
metadata:
  name: foo-app
  labels:
    app: foo
spec:
  containers:
    - name: foo-app
      image: hashicorp/http-echo:0.2.3
      args:
        - "-text=foo"
---
kind: Service
apiVersion: v1
metadata:
  name: foo-service
spec:
  selector:
    app: foo
  ports:
    # Default port used by the image
    - port: 5678
---
kind: Pod
apiVersion: v1
metadata:
  name: bar-app
  labels:
    app: bar
spec:
  containers:
    - name: bar-app
      image: hashicorp/http-echo:0.2.3
      args:
        - "-text=bar"
---
kind: Service
apiVersion: v1
metadata:
  name: bar-service
spec:
  selector:
    app: bar
  ports:
    # Default port used by the image
    - port: 5678
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: example-ingress
spec:
  rules:
    - http:
        paths:
          - pathType: Prefix
            path: "/foo"
            backend:
              service:
                name: foo-service
                port:
                  number: 5678
          - pathType: Prefix
            path: "/bar"
            backend:
              service:
                name: bar-service
                port:
                  number: 5678
---
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment