You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
1.5 KiB

  1. # etcd
  2. ## Deployment Types
  3. It is possible to deploy etcd with three methods. To change the default deployment method (host), use the `etcd_deployment_type` variable. Possible values are `host`, `kubeadm`, and `docker`.
  4. ### Host
  5. Host deployment is the default method. Using this method will result in etcd installed as a systemd service.
  6. ### Docker
  7. Installs docker in etcd group members and runs etcd on docker containers. Only usable when `container_manager` is set to `docker`.
  8. ### Kubeadm
  9. This deployment method is experimental and is only available for new deployments. This deploys etcd as a static pod on control plane hosts.
  10. ## Metrics
  11. To expose metrics on a separate HTTP port, define it in the inventory with:
  12. ```yaml
  13. etcd_metrics_port: 2381
  14. ```
  15. To create a service `etcd-metrics` and associated endpoints in the `kube-system` namespace,
  16. define its labels in the inventory with:
  17. ```yaml
  18. etcd_metrics_service_labels:
  19. k8s-app: etcd
  20. app.kubernetes.io/managed-by: Kubespray
  21. app: kube-prometheus-stack-kube-etcd
  22. release: prometheus-stack
  23. ```
  24. The last two labels in the above example allows to scrape the metrics from the
  25. [kube-prometheus-stack](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack)
  26. chart with the following Helm `values.yaml` :
  27. ```yaml
  28. kubeEtcd:
  29. service:
  30. enabled: false
  31. ```
  32. To fully override metrics exposition urls, define it in the inventory with:
  33. ```yaml
  34. etcd_listen_metrics_urls: "http://0.0.0.0:2381"
  35. ```