Skip to content

Instantly share code, notes, and snippets.

@marcelbirkner
Created September 14, 2020 06:54

Revisions

  1. marcelbirkner created this gist Sep 14, 2020.
    72 changes: 72 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,72 @@
    ---
    apiVersion: v1
    kind: Namespace
    metadata:
    name: external-dns
    ---
    apiVersion: v1
    kind: ServiceAccount
    metadata:
    name: external-dns
    namespace: external-dns
    ---
    apiVersion: rbac.authorization.k8s.io/v1beta1
    kind: ClusterRole
    metadata:
    name: external-dns
    namespace: external-dns
    rules:
    - apiGroups: [""]
    resources: ["services","endpoints","pods"]
    verbs: ["get","watch","list"]
    - apiGroups: ["extensions"]
    resources: ["ingresses"]
    verbs: ["get","watch","list"]
    - apiGroups: [""]
    resources: ["nodes"]
    verbs: ["list","watch"]
    ---
    apiVersion: rbac.authorization.k8s.io/v1beta1
    kind: ClusterRoleBinding
    metadata:
    name: external-dns-viewer
    namespace: external-dns
    roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: ClusterRole
    name: external-dns
    subjects:
    - kind: ServiceAccount
    name: external-dns
    namespace: external-dns
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: external-dns
    namespace: external-dns
    spec:
    strategy:
    type: Recreate
    selector:
    matchLabels:
    app: external-dns
    template:
    metadata:
    labels:
    app: external-dns
    spec:
    serviceAccountName: external-dns
    containers:
    - name: external-dns
    image: registry.opensource.zalan.do/teapot/external-dns:latest
    args:
    - --source=service
    - --source=ingress
    - --domain-filter=instana.test
    - --provider=aws
    - --policy=upsert-only # would prevent ExternalDNS from deleting any records, omit to enable full synchronization
    - --registry=txt
    - --txt-owner-id=k8s-pink
    securityContext:
    fsGroup: 65534 # For ExternalDNS to be able to read Kubernetes and AWS token files