Kubernetes is installed using kubeadm
, the cluster management tool built by the core Kubernetes team and owned by sig-cluster-lifecycle
.
kubeadm
brings up the Kubernetes control plane before other add-ons are applied.
The following host packages are required for Red Hat Enterprise Linux 9 and Rocky Linux 9:
Flag | Usage |
---|---|
version | The version of kubernetes to be installed. |
serviceCIDR | Customize the range of virtual IPs assigned to services. |
serviceCidrRange | The size of the CIDR for Kubernetes (can be presented as just a number or with a preceding slash). |
bootstrapToken | Authentication token used by kubernetes when adding nodes. The default is an auto-generated token. |
bootstrapTokenTTL | TTL of the bootstrap-token. The default is 24 hours. |
certKey | A secret needed for new primary nodes to join an existing cluster (read-only). |
controlPlane | Used during a join script to indicate that the node will be an additional primary (read-only). |
containerLogMaxSize | A quantity defining the maximum size of the container log file before it is rotated. For example: "5Mi" or "256Ki". This does not work with Docker. For Docker, check out https://docs.docker.com/config/containers/logging/json-file. |
containerLogMaxFiles | Specifies the maximum number of container log files that can be present for a container. This does not work with Docker. For Docker, check out https://docs.docker.com/config/containers/logging/json-file. |
kubeadmToken | Generated during the install script, used for nodes joining (read-only). |
kubeadmTokenCAHash | Generated during the install script, used for nodes joining (read-only). |
loadBalancerAddress | Used for High Availability installs, indicates the address of the external load balancer. |
masterAddress | The address of the internal Kubernetes API server, used during join scripts (read-only). |
HACluster | Create the cluster as a high availability cluster (note that this needs a valid load balancer address and additional nodes to be a truly HA cluster. |
cisCompliance | Indicates if this install should meet all CIS compliance requirements. See CIS compliance. |
kubeReserved | Reserved CPU, memory and disk for kubernetes. |
evictionThresholdResources | Provided as evictionHard to kubelet configuration as described in the kubelet configuration section of the Kubernetes documentation. |
systemReservedResources | Provided as systemReserved to kubelet configuration as described in the kubelet configuration section of the Kubernetes documentation. |
clusterName | The name of the Kubernetes cluster (default "kubernetes"). |
CPU, memory, and disk resources are reserved for Kubernetes system daemons when the kubeReserved
flag is set to true
.
Allocatable resources are calculated using the following equation:
ALLOCATABLE = CAPACITY - RESERVED - EVICTION-THRESHOLD
For memory resources, kURL reserves the following:
For CPU resources, kURL reserves the following:
For ephemeral storage, kURL reserves 1Gi.
kURL uses the CPU and memory ranges from GKE cluster architecture.