diff --git a/external-dns/external-dns.yaml b/external-dns/external-dns.yaml index 1fe9038..2a4836d 100644 --- a/external-dns/external-dns.yaml +++ b/external-dns/external-dns.yaml @@ -3,25 +3,44 @@ kind: ServiceAccount metadata: name: external-dns --- -apiVersion: rbac.authorization.k8s.io/v1beta1 +apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: external-dns rules: +- apiGroups: + - "" + resources: + - services + - endpoints + - pods + - nodes + verbs: + - get + - list + - watch +- apiGroups: + - extensions + - "networking.k8s.io" # k8s 1.14+ + resources: + - ingresses + verbs: + - get + - list + - watch +- apiGroups: + - networking.istio.io + resources: + - gateways + verbs: + - get + - list + - watch - apiGroups: [""] - resources: ["services"] + resources: ["endpoints"] verbs: ["get","watch","list"] -- apiGroups: [""] - resources: ["pods"] - verbs: ["get","watch","list"] -- apiGroups: ["extensions"] - resources: ["ingresses"] - verbs: ["get","watch","list"] -- apiGroups: [""] - resources: ["nodes"] - verbs: ["list"] --- -apiVersion: rbac.authorization.k8s.io/v1beta1 +apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: external-dns-viewer @@ -52,7 +71,7 @@ spec: serviceAccountName: external-dns containers: - name: external-dns - image: k8s.gcr.io/external-dns/external-dns:v0.9.0 + image: k8s.gcr.io/external-dns/external-dns:v0.10.1 args: - --source=service - --source=ingress diff --git a/external-dns/ingress.yaml b/external-dns/ingress.yaml index 0e6f8f5..b797fb1 100644 --- a/external-dns/ingress.yaml +++ b/external-dns/ingress.yaml @@ -3,6 +3,8 @@ apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: helloworld-rules + annotations: + kubernetes.io/ingress.class: k8s.io/ingress-nginx spec: rules: - host: helloworld-v1.kubernetes.newtech.academy @@ -25,3 +27,19 @@ spec: name: helloworld-v2 port: number: 80 +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: ingress-nginx-controller +data: + use-proxy-protocol: "true" +--- +apiVersion: networking.k8s.io/v1 +kind: IngressClass +metadata: + name: ingress-nginx + annotations: + ingressclass.kubernetes.io/is-default-class: "true" +spec: + controller: k8s.io/ingress-nginx diff --git a/ingress/ingress.yml b/ingress/ingress.yml index c9c53da..cf3c542 100644 --- a/ingress/ingress.yml +++ b/ingress/ingress.yml @@ -3,6 +3,8 @@ apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: helloworld-rules + annotations: + kubernetes.io/ingress.class: k8s.io/ingress-nginx spec: rules: - host: helloworld-v1.example.com diff --git a/ingress/nginx-ingress-controller.yml b/ingress/nginx-ingress-controller.yml index 4f290f8..f74fd45 100644 --- a/ingress/nginx-ingress-controller.yml +++ b/ingress/nginx-ingress-controller.yml @@ -133,6 +133,7 @@ rules: - "networking.k8s.io" resources: - ingresses + - ingressclasses verbs: - get - list