Skip to content
Snippets Groups Projects
  1. Sep 10, 2017
  2. Jul 20, 2017
  3. Jul 17, 2017
  4. Mar 02, 2017
    • Vincent Schwarzer's avatar
      Modified how adding LB for the Kube API is handled (AWS) · fc054e21
      Vincent Schwarzer authored
      Until now it was not possible to add an API Loadbalancer
      without an static IP Address. But certain Loadbalancers
      like AWS Elastic Loadbalanacer dontt have an fixed IP address.
      With this commit it is possible to add these kind of Loadbalancers
      to the Kargo deployment.
      fc054e21
  5. Mar 01, 2017
    • Vijay Katam's avatar
      Add support for atomic host · a0b1eda1
      Vijay Katam authored
      Updates based on feedback
      
      Simplify checks for file exists
      
      remove invalid char
      
      Review feedback. Use regular systemd file.
      
      Add template for docker systemd atomic
      a0b1eda1
  6. Feb 23, 2017
  7. Feb 18, 2017
  8. Feb 06, 2017
  9. Jan 20, 2017
    • Bogdan Dobrelya's avatar
      Drop linux capabilities and rework users/groups · cb2e5ac7
      Bogdan Dobrelya authored
      
      * Drop linux capabilities for unprivileged containerized
        worlkoads Kargo configures for deployments.
      * Configure required securityContext/user/group/groups for kube
        components' static manifests, etcd, calico-rr and k8s apps,
        like dnsmasq daemonset.
      * Rework cloud-init (etcd) users creation for CoreOS.
      * Fix nologin paths, adjust defaults for addusers role and ensure
        supplementary groups membership added for users.
      * Add netplug user for network plugins (yet unused by privileged
        networking containers though).
      * Grant the kube and netplug users read access for etcd certs via
        the etcd certs group.
      * Grant group read access to kube certs via the kube cert group.
      * Remove priveleged mode for calico-rr and run it under its uid/gid
        and supplementary etcd_cert group.
      * Adjust docs.
      * Align cpu/memory limits and dropped caps with added rkt support
        for control plane.
      
      Signed-off-by: default avatarBogdan Dobrelya <bogdando@mail.ru>
      cb2e5ac7
  10. Jan 15, 2017
  11. Dec 14, 2016
    • Aleksandr Didenko's avatar
      Add calico/routereflector support · d57c27ff
      Aleksandr Didenko authored
      Add BGP route reflectors support in order to optimize BGP topology
      for deployments with Calico network plugin.
      
      Also bump version of calico/ctl for some bug fixes.
      d57c27ff
  12. Dec 12, 2016
    • Bogdan Dobrelya's avatar
      Rework DNS stack to meet hostnet pods needs · 3117858d
      Bogdan Dobrelya authored
      * For Debian/RedHat OS families (with NetworkManager/dhclient/resolvconf
        optionally enabled) prepend /etc/resolv.conf with required nameservers,
        options, and supersede domain and search domains via the dhclient/resolvconf
        hooks.
      
      * Drop (z)nodnsupdate dhclient hook and re-implement it to complement the
        resolvconf -u command, which is distro/cloud provider specific.
        Update docs as well.
      
      * Enable network restart to apply and persist changes and simplify handlers
        to rely on network restart only. This fixes DNS resolve for hostnet K8s
        pods for Red Hat OS family. Skip network restart for canal/calico plugins,
        unless https://github.com/projectcalico/felix/issues/1185
      
       fixed.
      
      * Replace linefiles line plus with_items to block mode as it's faster.
      
      Signed-off-by: default avatarBogdan Dobrelya <bdobrelia@mirantis.com>
      Co-authored-by: default avatarMatthew Mosesohn <mmosesohn@mirantis.com>
      3117858d
  13. Dec 09, 2016
    • Bogdan Dobrelya's avatar
      Preconfigure DNS stack and docker early · a15d6267
      Bogdan Dobrelya authored
      
      In order to enable offline/intranet installation cases:
      * Move DNS/resolvconf configuration to preinstall role. Remove
        skip_dnsmasq_k8s var as not needed anymore.
      
      * Preconfigure DNS stack early, which may be the case when downloading
        artifacts from intranet repositories. Do not configure
        K8s DNS resolvers for hosts /etc/resolv.conf yet early (as they may be
        not existing).
      
      * Reconfigure K8s DNS resolvers for hosts only after kubedns/dnsmasq
        was set up and before K8s apps to be created.
      
      * Move docker install task to early stage as well and unbind it from the
        etcd role's specific install path. Fix external flannel dependency on
        docker role handlers. Also fix the docker restart handlers' steps
        ordering to match the expected sequence (the socket then the service).
      
      * Add default resolver fact, which is
        the cloud provider specific and remove hardcoded GCE resolver.
      
      * Reduce default ndots for hosts /etc/resolv.conf to 2. Multiple search
        domains combined with high ndots values lead to poor performance of
        DNS stack and make ansible workers to fail very often with the
        "Timeout (12s) waiting for privilege escalation prompt:" error.
      
      * Update docs.
      
      Signed-off-by: default avatarBogdan Dobrelya <bdobrelia@mirantis.com>
      a15d6267
  14. Dec 07, 2016
    • Dan Bode's avatar
      Allow etcd_access_addresses to be more flexible · eec2ed58
      Dan Bode authored
      The variale etcd_access_addresses is used to determine
      how to address communication from other roles to
      the etcd cluster.
      
      It was set to the address that ansible uses to
      connect to instance ({{ item }})s and not the
      the variable:
        ip_access
      which had already been created and could already
      be overridden through the access_ip variable.
      
      This change allows ansible to connect to a machine using
      a different address than the one used to access etcd.
      eec2ed58
  15. Nov 21, 2016
  16. Nov 09, 2016
  17. Oct 21, 2016
  18. Oct 05, 2016
  19. Sep 18, 2016
  20. Jul 25, 2016
    • Bogdan Dobrelya's avatar
      Add HA/LB endpoints for kube-apiserver · 731d32af
      Bogdan Dobrelya authored
      
      * Add HA docs for API server.
      * Add auto-evaluated internal endpoints and clarify the loadbalancer_apiserver
      vars and usecases.
      * Use facts for kube_apiserver to not repeat code and enable LB endpoints use.
      * Use /healthz check for the wait-for apiserver.
      * Use the single endpoint for kubelet instead of the list of apiservers
      * Specify kube_apiserver_count to for HA layout
      
      Signed-off-by: default avatarBogdan Dobrelya <bdobrelia@mirantis.com>
      731d32af
  21. Jul 22, 2016
  22. Jul 21, 2016
    • Bogdan Dobrelya's avatar
      Add HA/LB endpoints for kube-apiserver · a70c3b66
      Bogdan Dobrelya authored
      
      * Add auto-evaluated internal endpoints and clarify the loadbalancer_apiserver
      vars and usecases.
      * Add loadbalancer_apiserver_localhost (default false). If enabled, override
      the external LB and expect localhost:443/8080 to be new internal only frontends.
      * Add kube_apiserver_multiaccess to ignore loadbalancers, and make clients
      to access the apiservers as a comma-separated list of access_ip/ip/ansible ip
      (a default mode). When disabled, allow clients to use the given loadbalancers.
      * Define connections security mode for kube controllers, schedulers, proxies.
      It is insecure be default, which is the current deployment choice.
      * Rework the groups['kube-master'][0] hardcode defining the apiserver
      endpoints.
      * Improve grouping of vars and add facts for kube_apiserver.
      * Define kube_apiserver_insecure_bind_address as a fact, add more
      facts for ease of use.
      
      Signed-off-by: default avatarBogdan Dobrelya <bdobrelia@mirantis.com>
      a70c3b66
  23. Jul 20, 2016
  24. Jul 19, 2016
    • Bogdan Dobrelya's avatar
      Add etcd proxy support · 32cd6e99
      Bogdan Dobrelya authored
      
      * Enforce a etcd-proxy role to a k8s-cluster group members. This
      provides an HA layout for all of the k8s cluster internal clients.
      * Proxies to be run on each node in the group as a separate etcd
      instances with a readwrite proxy mode and listen the given endpoint,
      which is either the access_ip:2379 or the localhost:2379.
      * A notion for the 'kube_etcd_multiaccess' is: ignore endpoints and
      loadbalancers and use the etcd members IPs as a comma-separated
      list. Otherwise, clients shall use the local endpoint provided by a
      etcd-proxy instances on each etcd node. A Netwroking plugins always
      use that access mode.
      * Fix apiserver's etcd servers args to use the etcd_access_endpoint.
      * Fix networking plugins flannel/calico to use the etcd_endpoint.
      * Fix name env var for non masters to be set as well.
      * Fix etcd_client_url was not used anywhere and other etcd_* facts
      evaluation was duplicated in a few places.
      * Define proxy modes only in the env file, if not a master. Del
      an automatic proxy mode decisions for etcd nodes in init/unit scripts.
      * Use Wants= instead of Requires= as "This is the recommended way to
      hook start-up of one unit to the start-up of another unit"
      * Make apiserver/calico Wants= etcd-proxy to keep it always up
      
      Signed-off-by: default avatarBogdan Dobrelya <bdobrelia@mirantis.com>
      Co-authored-by: default avatarMatthew Mosesohn <mmosesohn@mirantis.com>
      32cd6e99
  25. Jul 07, 2016
  26. May 31, 2016
    • Evgeny L's avatar
      Scale-up functionality for etcd cluster · 0500f27d
      Evgeny L authored
      * Set ETCD_INITIAL_CLUSTER_STATE from `new` to `existing`,
      because parameter `new` makes sense only on cluster assembly
      stage.
      * If cluster exists and current node is not a part
      of the cluster, add it with command `etcdctl add member name url`.
      
      Closes kubespray/kargo/#270
      0500f27d
Loading