promenade/doc/source/configuration/kubernetes-network.rst
Ahmad Mahmoudi f5ad002690 Ubuntu 18.04, configure chrony
Added ntp server configuration to be used by chrony as the recommended
ntp service for ubuntu 18.04.
Since, chorny is not installed by default in ubuntu 18.04, also added
chrony apt package to be installed on airship nodes.

Change-Id: If1437a79cf89806043f62e2eac49c3b4b5eae2cd
2019-12-11 15:02:24 -06:00

2.5 KiB

Kubernetes Network

Configuration for Kubernetes networking during bootstrapping and for the kubelet.

Sample Document

schema: promenade/KubernetesNetwork/v1
metadata:
  schema: metadata/Document/v1
  name: kubernetes-network
  layeringDefinition:
    abstract: false
    layer: site
data:
  dns:
    cluster_domain: cluster.local
    service_ip: 10.96.0.10
    bootstrap_validation_checks:
      - calico-etcd.kube-system.svc.cluster.local
      - kubernetes-etcd.kube-system.svc.cluster.local
      - kubernetes.default.svc.cluster.local
    upstream_servers:
      - 8.8.8.8
      - 8.8.4.4

  kubernetes:
    apiserver_port: 6443
    haproxy_port: 6553
    pod_cidr: 10.97.0.0/16
    service_cidr: 10.96.0.0/16
    service_ip: 10.96.0.1

  etcd:
    container_port: 2379
    haproxy_port: 2378

  hosts_entries:
    - ip: 192.168.77.1
      names:
        - registry

  ntp:
    servers:
      - 0.us.pool.ntp.org
      - 1.us.pool.ntp.org
      - 2.us.pool.ntp.org
      - 3.us.pool.ntp.org

  proxy:
    url: http://proxy.example.com:8080
    additional_no_proxy:
      - 192.168.77.1

DNS

The data in the dns key is used for bootstrapping and kubelet configuration of cluster and host-level DNS, which is provided by coredns.

bootstrap_validation_checks

Domain names to resolve during the genesis and join processes for validation.

cluster_domain

The Kubernetes cluster domain. Used by the kubelet.

service_ip

The IP to use for cluster DNS. Used by the kubelet.

upstream_servers

Upstream DNS servers to be configured in /etc/resolv.conf.

Kubernetes

The kubernetes key contains:

apiserver_port

The port that the Kubernetes API server process will listen on hosts where it runs.

haproxy_port

The port that HAProxy will listen on each host. This port will be used by the kubelet and kube-proxy to find API servers in the cluster.

pod_cidr

The CIDR from which the Kubernetes Controller Manager assigns pod IPs.

service_cidr

The CIDR from which the Kubernetes Controller Manager assigns service IPs.

service_ip

The in-cluster Kubernetes service IP.

NTP

The ntp key contains:

servers

The list of ntp server FQDN or ip addresses used for time synchronization.