Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
©2021 VMware, Inc. おうち Lab で GitDNSOps Sep. 22, 2021 CTO, North Asia (Japan, Korea and Greater China) Motonori Shindo / motonori_shindo
Slide 2
Slide 2 text
2 ©2021 VMware, Inc. 進藤 資訓 (Motonori Shindo) 東京電⼒ in 1988 • CMU, School of Computer Science Ascend à CoSine à Proxim ファイブフロント(起業) Nicira à VMware(買収) Viptela à Cisco(買収) VMware Again in 2018 ⾃⼰紹介 Twitter : @motonori_shindo Facebook : https://www.facebook.com/motonori.shindo Linkedin : https://www.linkedin.com/in/motonorishindo/ Blog : https://blog.shin.do つながり歓迎︕
Slide 3
Slide 3 text
3 ©2021 VMware, Inc. Home Lab and Network blog DNS (ext) global dmz home storage NAS NURO UCOM Internet DNS (int) VC GCP DNS (ext) multihome vyOS VeloCloud coredns unbound NSD GitDNSOps してます︕
Slide 4
Slide 4 text
4 ©2021 VMware, Inc. GitOps って何︖ Git にあるものが “Single Source of Truth” な「あ るべき状態 (Desired State) 」となる Git を使うことによるメリット バージョニング アクセスコントロール 監査ログ エージェントがあるべき状態と現在の状態との間に ズレが無いかを常に監視し、ズレがあればそれを解 消してくれる
Slide 5
Slide 5 text
5 ©2021 VMware, Inc. DNS via GitOps (GitDNSOps) microk8s Operator git commit git push Webhook or Polling GitHub ArgoCD MetalLB DNS Query & Response
Slide 6
Slide 6 text
‹#› ©2021 VMware, Inc. Demo Photo by Morgan Richardson on Unsplash https://www.youtube.com/hashtag/vmware_devops
Slide 7
Slide 7 text
7 ©2021 VMware, Inc. GitDNSOps using ArgoCD
Slide 8
Slide 8 text
8 ©2021 VMware, Inc. GitDNSOps YAML definition Configmap apiVersion: v1 kind: ConfigMap metadata: name: coredns data: Corefile: | shin.do:5353 { file /etc/coredns/shin.do.zone reload 10s } shin.do.zone: | $TTL 3600 @ IN SOA ns1.shin.do. root.shin.do. ( 2021081404 3600 900 3600000 3600 ) IN NS ns1.shin.do. IN NS ns2.shin.do. IN MX 10 ASPMX.L.GOOGLE.COM. ns1 IN A 221.245.168.210 ns2 IN A 35.247.124.32 blog IN A 221.245.168.211
Slide 9
Slide 9 text
9 ©2021 VMware, Inc. GitDNSOps YAML definition Deployment apiVersion: apps/v1 kind: Deployment metadata: name: coredns spec: selector: matchLabels: app: coredns template: metadata: labels: app: coredns spec: containers: - name: coredns image: coredns/coredns:1.8.4 args: [ "-conf", "/etc/coredns/Corefile" ] volumeMounts: - name: config-volume mountPath: /etc/coredns readOnly: true ports: - containerPort: 5353 name: dns protocol: UDP volumes: - name: config-volume configMap: name: coredns items: - key: Corefile path: Corefile - key: shin.do.zone path: shin.do.zone
Slide 10
Slide 10 text
10 ©2021 VMware, Inc. GitDNSOps YAML definition Service apiVersion: v1 kind: Service metadata: name: coredns spec: type: LoadBalancer selector: app: coredns ports: - name: dns port: 15353 targetPort: 5353 protocol: UDP
Slide 11
Slide 11 text
©2021 VMware, Inc. Thank You