vmware-archive / tgik

Official repository for TGI Kubernetes (TGIK)!
Apache License 2.0
836 stars 158 forks source link

Episode idea: How to use external DNS #44

Open castrojo opened 6 years ago

castrojo commented 6 years ago

https://github.com/kubernetes-incubator/external-dns

Raffo commented 6 years ago

I can help with that in case you need it, but there should be already quite some material in the repo to get started 😉

pschulten commented 6 years ago

here's my setup (ansible)

kind: ServiceAccount
metadata:
  name: external-dns

---

apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
  name: external-dns-viewer
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: view
subjects:
- kind: ServiceAccount
  name: external-dns
  namespace: kube-system

---

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: external-dns
  namespace: kube-system
spec:
  replicas: 1
  strategy:
      type: Recreate
  template:
    metadata:
      annotations:
        iam.amazonaws.com/role: role-tsc-kubernetes-external-dns
      labels:
        app: external-dns
    spec:
      serviceAccountName: external-dns
      containers:
      - name: external-dns
        image: registry.opensource.zalan.do/teapot/external-dns:v0.4.8
        resources:
          limits:
            memory: "100Mi"
            cpu: "500m"
          requests:
            memory: "20Mi"
            cpu: "10m"
        env:
        - name: AWS_REGION
          value: eu-central-1
        args:
        - --source=service
        - --source=ingress
        - --domain-filter={{ kube_domain_name }}.
        - --domain-filter={{ zone_apex }}.
        - --domain-filter=example.com.
        - --domain-filter=example2.com.
        - --provider=aws
        - --registry=txt
        - --txt-owner-id={{ cluster_name }}
        - --compatibility=mate
        - --log-format=text
        - --interval=30s