#format wiki #language en = DevOps = * Why SaltStack 2016 - http://ryandlane.com/blog/2014/08/04/moving-away-from-puppet-saltstack-or-ansible/ * https://trunkbaseddevelopment.com * [[https://dora.dev/devops-capabilities/technical/test-automation/|dora-test-automation]] * [[https://dora.dev/devops-capabilities/technical/test-data-management/|dora-test-data]] * [[https://dora.dev/devops-capabilities/technical/monitoring-and-observability/|dora-monitoring]] * [[https://github.blog/2023-10-16-measuring-git-performance-with-opentelemetry/|Git-trace2-to-opentelemetry]] == Tools == 1. Kubernetes (See below) 1. [[DevOps/Kaniko|kaniko]] - container builder - gcr.io/kaniko-project/executor == Kubernetes == * Info [[https://www.youtube.com/watch?v=tA8XNVPZM2w|YouTube]] * Google, pod docker/container manager * Labels * Node * Pods - one or more containers, share network name space, pods expose single IP for all containers. * Reconciliation loop -> Driver current state to expected state. * Create, Delete, Monitor, Replication * Service -> discover dynamic - long lived. uses selector to match labels and proxy's * Fake IP and DNS available in single pod. * Network Model * Load balancer/proxy between every layer in the application. * Handles service discovery with fixed IP. * Kubernetes infrastructure * !CoreOs * Docker / Rocket * Docker generates dynamic IP. * Kubernetes node launches infrastructure container first on Docker, to get IP and report back. * [[https://coreos.com/etcd/docs/latest/getting-started-with-etcd.html|etcd]] - user [[http://thesecretlivesofdata.com/raft/|raft]] protocol, for highly available key value store. * flannel * Kubernetes controller (etcd webservice exposure, scheduler, replication controller) * Kubernetes node (kubelet, watch controller, and update status, talks to container e.g. docker) * Terraform * Google Compute Engine. * [[https://coreos.com/etcd/docs/latest/|etcd]] ...