Skip to content
Snippets Groups Projects
  1. Nov 15, 2024
    • Max Gautier's avatar
      Stricter kubeadm validation (config and runtime checks) (#11710) · 68718dcb
      Max Gautier authored
      * kubeadm: do not ignore preflight errors blindly
      
      The "ignoring all errors" seems to date back to the inception of the
      kubeadm support (it was --skip-preflight-check before).
      
      This can mask real errors and prevent users from seeing them.
      
      Do not ignore any errors by default and make the set of ignored errors
      configurable.
      
      * download/kubeadm: remove redundant task
      
      The mode is already set by the previous `copy` task.
      
      * Validate kubeadm configs
      
      This should help to fail early when we have invalid kubeadm configs (from
      a kubespray bug or a misconfiguration).
      
      * kubeadm-upgrade: remove unnecessary bool cast
      
      * Convert kubeadm join discovery timeout to v1beta4 config
      
      * CI: Ignore kubeadm:Mem errors on some setup.
      Unverified
      68718dcb
  2. Nov 14, 2024
  3. Nov 13, 2024
  4. Nov 05, 2024
  5. Nov 04, 2024
  6. Oct 04, 2024
    • Max Gautier's avatar
      Remove serialized collect of ansible_default_ipv4 · 2826b357
      Max Gautier authored
      The fallback_ips tasks are essentially serializing the gathering of one
      fact on all the hosts, which can have dramatic performance implications
      on large clusters (several minutes).
      
      This is essentially a reversal of 35f248df
      Being able to run without refreshing the cache facts is not worth it.
      
      We keep fallback_ip for now, simply changing the access to a normal
      hostvars variable instead of a custom dictionnary.
      Unverified
      2826b357
  7. Sep 24, 2024
  8. Sep 23, 2024
  9. Sep 10, 2024
    • Max Gautier's avatar
      kubeadm: allow to provide patch inline in inventories · 8e254ec1
      Max Gautier authored
      Specifying one directory for kubeadm patches is not ideal:
      1. It does not allow working with multiples inventories easily
      2. No ansible templating of the patch
      3. Ansible path searching can sometimes be confusing
      
      Instead, provide the patch directly in a variable, and add some quality
      of life to handle components targeting and patch ordering more
      explicitly (`target` and `type` which are translated to the kubeadm
      scheme which is based on the file name)
      Unverified
      8e254ec1
  10. Aug 28, 2024
  11. Jul 26, 2024
  12. May 28, 2024
  13. Apr 03, 2024
    • Nicolas Goudry's avatar
      Remove access to cluster from anonymous users (#11016) · c6fcbf6e
      Nicolas Goudry authored
      * feat: add user facing variable with default
      
      * feat: remove rolebinding to anonymous users after init and upgrade
      
      * feat: use file discovery for secondary control plane nodes
      
      * feat: use file discovery for nodes
      
      * fix: do not fail if rolebinding does not exist
      
      * docs: add warning about kube_api_anonymous_auth
      
      * style: improve readability of delegate_to parameter
      
      * refactor: rename discovery kubeconfig file
      
      * test: enable new variable in hardening and upgrade test cases
      
      * docs: add option to config parameters
      
      * test: multiple instances and upgrade
      Unverified
      c6fcbf6e
  14. Mar 22, 2024
  15. Jan 25, 2024
  16. Dec 18, 2023
  17. Dec 12, 2023
    • jandres - moscardo's avatar
      Unverified
      cb848fa7
    • Max Gautier's avatar
      Disable podCIDR allocation from control-plane when using calico (#10639) · 8abf49ae
      Max Gautier authored
      * Disable control plane allocating podCIDR for nodes when using calico
      
      Calico does not use the .spec.podCIDR field for its IP address
      management.
      Furthermore, it can false positives from the kube controller manager if
      kube_network_node_prefix and calico_pool_blocksize are unaligned, which
      is the case with the default shipped by kubespray.
      
      If the subnets obtained from using kube_network_node_prefix are bigger,
      this would result at some point in the control plane thinking it does
      not have subnets left for a new node, while calico will work without
      problems.
      
      Explicitely set a default value of false for calico_ipam_host_local to
      facilitate its use in templates.
      
      * Don't default to kube_network_node_prefix for calico_pool_blocksize
      
      They have different semantics: kube_network_node_prefix is intended to
      be the size of the subnet for all pods on a node, while there can be
      more than on calico block of the specified size (they are allocated on
      demand).
      
      Besides, this commit does not actually change anything, because the
      current code is buggy: we don't ever default to
      kube_network_node_prefix, since the variable is defined in the role
      defaults.
      Unverified
      8abf49ae
  18. Nov 27, 2023
  19. Nov 08, 2023
    • Max Gautier's avatar
      Move control plane certs renewal "spread out" into the systemd timer (#10596) · b3f6d051
      Max Gautier authored
      * Use RandomizedDelaySec to spread out control certificates renewal plane
      
      If the number of control plane node is superior to 6, using (index * 10
      minutes) will fail (03:60:00 is not a valid timestamp).
      
      Compared to just fixing the jinja expression (to use a modulo for
      example), this should avoid having two control planes certificates
      update node being triggered at the same time.
      
      * Make k8s-certs-renew.timer Persistent
      
      If the control plane happens to be offline during the scheduled
      certificates renewal (node failure or anything like that), we still want
      the renewal to happen.
      Unverified
      b3f6d051
  20. Oct 17, 2023
  21. Sep 29, 2023
  22. Aug 08, 2023
  23. Jul 05, 2023
  24. Jun 13, 2023
  25. Apr 18, 2023
  26. Apr 11, 2023
  27. Mar 27, 2023
  28. Feb 06, 2023
  29. Dec 28, 2022
  30. Dec 20, 2022
  31. Dec 15, 2022
  32. Dec 05, 2022
  33. Oct 26, 2022
  34. Oct 06, 2022
  35. Sep 29, 2022
  36. Aug 18, 2022
    • Tomas Zvala's avatar
      Add the option to enable default Pod Security Configuration (#9017) · 30c77ea4
      Tomas Zvala authored
      * Add the option to enable default Pod Security Configuration
      
      Enable Pod Security in all namespaces by default with the option to
      exempt some namespaces. Without the change only namespaces explicitly
      configured will receive the admission plugin treatment.
      
      * Fix the PR according to code review comments
      
      * Revert the latest changes
      
      - leave the empty file when kube_pod_security_use_default, but add comment explaining the empty file
      - don't attempt magic at conditionally adding PodSecurity to kube_apiserver_admission_plugins_needs_configuration
      Unverified
      30c77ea4
  37. Jul 04, 2022
Loading