Docker

Docker

When deploying a Kubernetes cluster via Kublr using Docker container runtime environment, the functioning of installed Docker is managed via the configuration files, such as:

  • At /etc/docker/:
    • key.json
    • kublr-daemon.json
  • At /etc/systemd/system/docker.service.d/:
    • 70-kublr-override.conf

Example of kublr-daemon.json content:

{
"exec-opts": [
    "native.cgroupdriver=systemd"
    ],
    "ip-masq": false,
    "iptables": false,
    "log-driver": "json-file",
    "log-opts": {
           "max-file": "3",
           "max-size": "10M"
    },
    "selinux-enabled": false,
    "storage-driver": "overlay2",
      "storage-opts": [
      "overlay2.override_kernel_check=true"                                                I
    ]
}

The parameters/values in the example above are specified by Kublr (taken from the inner template file during cluster creation) and can be later overridden via cluster specification.

To override the parameters, access cluster specification and set you values for these parameters in the KublrAgentConfig section (globally or for the specific instance group), for example:

  master:
    kublrAgentConfig:
      docker:
        config:
          ip-masq: false
          iptable: false
          log-driver: json-file
          log-opts:
            max-file: 3
            max-size: 10M

For the different operating systems which clusters are deployed using the Docker runtime environment, requirements for these parameters presence and their values may differ: