diff --git a/README.md b/README.md index a6a96a9..369bcdf 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # kxds -KxDS is an Envoy discovery service implementation for Kubernetes services +KxDS is an Envoy discovery service implementation for Kubernetes. +KxDS runs as a sidecar next to Envoy and configures the proxy to expose Kubernetes services. ### Features @@ -12,5 +13,5 @@ KxDS is an Envoy discovery service implementation for Kubernetes services ### Install ```sh -kubectl apply -k github.com/stefanprodan/kxds//kustomize/envoy +kubectl apply -k github.com/stefanprodan/kxds//kustomize/gateway ``` diff --git a/kustomize/envoy/deployment.yaml b/kustomize/gateway/deployment.yaml similarity index 92% rename from kustomize/envoy/deployment.yaml rename to kustomize/gateway/deployment.yaml index d5b85d5..dc91b1e 100644 --- a/kustomize/envoy/deployment.yaml +++ b/kustomize/gateway/deployment.yaml @@ -1,14 +1,14 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: envoy + name: gateway labels: - app: envoy + app: gateway spec: replicas: 1 selector: matchLabels: - app: envoy + app: gateway strategy: type: RollingUpdate rollingUpdate: @@ -17,16 +17,16 @@ spec: template: metadata: labels: - app: envoy + app: gateway annotations: prometheus.io/scrape: "true" prometheus.io/path: "/stats/prometheus" - prometheus.io/port: "9901" + prometheus.io/port: "8081" spec: - serviceAccountName: envoy + serviceAccountName: gateway terminationGracePeriodSeconds: 10 containers: - - name: envoy + - name: gateway image: "envoyproxy/envoy:v1.11.1" imagePullPolicy: IfNotPresent securityContext: @@ -42,7 +42,7 @@ spec: - /docker-entrypoint.sh envoy --service-node ${POD_NAME} --service-cluster envoy --base-id 1234 -l info -c /config/envoy.yaml ports: - name: admin - containerPort: 9901 + containerPort: 8081 protocol: TCP - name: http containerPort: 8080 diff --git a/kustomize/envoy/envoy.yaml b/kustomize/gateway/envoy.yaml similarity index 100% rename from kustomize/envoy/envoy.yaml rename to kustomize/gateway/envoy.yaml diff --git a/kustomize/envoy/kustomization.yaml b/kustomize/gateway/kustomization.yaml similarity index 100% rename from kustomize/envoy/kustomization.yaml rename to kustomize/gateway/kustomization.yaml diff --git a/kustomize/envoy/rbac.yaml b/kustomize/gateway/rbac.yaml similarity index 83% rename from kustomize/envoy/rbac.yaml rename to kustomize/gateway/rbac.yaml index 8f80e99..f9cdb3c 100644 --- a/kustomize/envoy/rbac.yaml +++ b/kustomize/gateway/rbac.yaml @@ -1,12 +1,12 @@ apiVersion: v1 kind: ServiceAccount metadata: - name: envoy + name: gateway --- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRole metadata: - name: envoy + name: gateway rules: - apiGroups: - "" @@ -17,12 +17,12 @@ rules: apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: - name: envoy + name: gateway roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole - name: envoy + name: gateway subjects: - kind: ServiceAccount - name: envoy + name: gateway namespace: default diff --git a/kustomize/envoy/service.yaml b/kustomize/gateway/service.yaml similarity index 52% rename from kustomize/envoy/service.yaml rename to kustomize/gateway/service.yaml index b1cf941..aee15bd 100644 --- a/kustomize/envoy/service.yaml +++ b/kustomize/gateway/service.yaml @@ -1,15 +1,18 @@ apiVersion: v1 kind: Service metadata: - name: envoy + name: gateway labels: - app: envoy + app: gateway + annotations: + service.beta.kubernetes.io/aws-load-balancer-type: "nlb" spec: type: LoadBalancer + externalTrafficPolicy: Local ports: - name: http port: 80 protocol: TCP targetPort: http selector: - app: envoy + app: gateway diff --git a/kustomize/podinfo/service.yaml b/kustomize/podinfo/service.yaml index 2a84e74..475f914 100644 --- a/kustomize/podinfo/service.yaml +++ b/kustomize/podinfo/service.yaml @@ -4,6 +4,9 @@ metadata: name: podinfo labels: app: podinfo + annotations: + envoy.gateway.kubernetes.io/host: "podinfo.local" + envoy.gateway.kubernetes.io/timeout: "25s" spec: type: ClusterIP selector: