bedcca922c
Each node can have 3 IPs. 1. ansible_default_ip4 - whatever ansible things is the first IPv4 address usually with the default gw. 2. ip - An address to use on the local node to bind listeners and do local communication. For example, Vagrant boxes have a first address that is the NAT bridge and is common for all nodes. The second address/interface should be used. 3. access_ip - An address to use for node-to-node access. This is assumed to be used by other nodes to access the node and may not be actually assigned on the node. For example, AWS public ip that is not assigned to node. This updates the places addresses are used to use either ip or access_ip and walk up the list to find an address.
34 lines
1.9 KiB
Django/Jinja
34 lines
1.9 KiB
Django/Jinja
{% if init_system == "sysvinit" %}
|
|
# Logging directory
|
|
KUBE_LOGGING="--log-dir={{ kube_log_dir }} --logtostderr=true"
|
|
{% else %}
|
|
# logging to stderr means we get it in the systemd journal
|
|
KUBE_LOGGING="--logtostderr=true"
|
|
{% endif %}
|
|
KUBE_LOG_LEVEL="--v={{ kube_log_level | default('2') }}"
|
|
KUBE_ALLOW_PRIV="--allow_privileged=true"
|
|
KUBELET_API_SERVER="--api_servers={% for host in groups['kube-master'] %}https://{{ hostvars[host]['access_ip'] | default(hostvars[host]['ip'] | default(hostvars[host]['ansible_default_ipv4']['address'])) }}:{{ kube_apiserver_port }}{% if not loop.last %},{% endif %}{% endfor %}"
|
|
# The address for the info server to serve on (set to 0.0.0.0 or "" for all interfaces)
|
|
KUBELET_ADDRESS="--address=0.0.0.0"
|
|
# The port for the info server to serve on
|
|
# KUBELET_PORT="--port=10250"
|
|
# You may leave this blank to use the actual hostname
|
|
KUBELET_HOSTNAME="--hostname_override={{ inventory_hostname }}"
|
|
{% if inventory_hostname in groups['kube-master'] and inventory_hostname not in groups['kube-node'] %}
|
|
KUBELET_REGISTER_NODE="--register-node=false"
|
|
{% endif %}
|
|
# location of the api-server
|
|
{% if dns_setup %}
|
|
KUBELET_ARGS="--cluster_dns={{ dns_server }} --cluster_domain={{ dns_domain }} --kubeconfig={{ kube_config_dir}}/node-kubeconfig.yaml --config={{ kube_manifest_dir }}"
|
|
{% else %}
|
|
KUBELET_ARGS="--kubeconfig={{ kube_config_dir}}/kubelet.kubeconfig --config={{ kube_manifest_dir }}"
|
|
{% endif %}
|
|
{% if kube_network_plugin is defined and kube_network_plugin == "calico" %}
|
|
KUBELET_NETWORK_PLUGIN="--network_plugin={{ kube_network_plugin }}"
|
|
{% endif %}
|
|
# Should this cluster be allowed to run privileged docker containers
|
|
KUBE_ALLOW_PRIV="--allow_privileged=true"
|
|
{% if init_system == "sysvinit" %}
|
|
DAEMON_ARGS="$KUBE_LOGGING $KUBE_LOG_LEVEL $KUBE_ALLOW_PRIV $KUBELET_API_SERVER $KUBELET_ADDRESS \
|
|
$KUBELET_HOSTNAME $KUBELET_REGISTER_NODE $KUBELET_ARGS $KUBELET_ARGS $KUBELET_NETWORK_PLUGIN"
|
|
{% endif %}
|