Kubernetes
- Canonical Kubernetes
Channel | Revision | Published | Runs on |
---|---|---|---|
latest/edge | 144 | Yesterday | |
latest/edge | 143 | Yesterday | |
1.31/candidate | 141 | 27 Nov 2024 | |
1.31/beta | 142 | 27 Nov 2024 | |
1.31/beta | 141 | 27 Nov 2024 | |
1.30/beta | 65 | 23 May 2024 |
juju deploy k8s --channel edge
Deploy universal operators easily with Juju, the Universal Operator Lifecycle Manager.
Platform:
-
annotations | string
Annotations is a space separated list of (key/value) pairs) that can be used to add arbitrary metadata configuration to the Canonical Kubernetes cluster. For more information, see the upstream Canonical Kubernetes documentation about annotations:
https://documentation.ubuntu.com/canonical-kubernetes/latest/snap/reference/annotations/
Example: e.g.: key1=value1 key2=value2
-
bootstrap-datastore | string
Default: dqlite
The datastore to use in Canonical Kubernetes. This cannot be changed after deployment. Allowed values are "dqlite" and "etcd". If "etcd" is chosen, the charm should be integrated with the etcd charm.
-
bootstrap-node-taints | string
Space-separated list of taints to apply to this node at registration time.
This config is only used at bootstrap time when Kubelet first registers the node with Kubernetes. To change node taints after deploy time, use kubectl instead.
For more information, see the upstream Kubernetes documentation about taints: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
-
bootstrap-pod-cidr | string
Default: 10.1.0.0/16
Comma-separated CIDR blocks for IP addresses that can be assigned to pods within the cluster. Can contain at most 2 blocks, one for IPv4 and one for IPv6.
After deployment it is not possible to change the size of the IP range.
Examples:
- "192.0.2.0/24"
- "2001:db8::/32"
- "192.0.2.0/24,2001:db8::/32"
- "2001:db8::/32,192.0.2.0/24"
-
bootstrap-service-cidr | string
Default: 10.152.183.0/24
Comma-separated CIDR blocks for IP addresses that can be assigned to services within the cluster. Can contain at most 2 blocks, one for IPv4 and one for IPv6.
After deployment it is not possible to change the size of the IP range.
Examples:
- "192.0.2.0/24"
- "2001:db8::/32"
- "192.0.2.0/24,2001:db8::/32"
- "2001:db8::/32,192.0.2.0/24"
-
containerd-custom-registries | string
Default: []
Registry endpoints and credentials. Setting this config allows containerd to pull images from registries where auth is required.
The value for this config must be a JSON array of credential objects, like this: e.g.: [{"url": "https://registry.example.com", "host": "my.registry:port", "username": "user", "password": "pass"}]
Credential Object Parameters: url: REQUIRED str the URL to the registry, include the port if not it isn't implied from the schema. e.g: "url": "https://my.registry:8443" e.g: "url": "http://my.registry"
host: OPTIONAL str - defaults to auto-generated from the url could be registry host address or a name e.g.: myregistry.io:9000, 10.10.10.10:5432 e.g.: myregistry.io, myregistry Note: It will be derived from
url
if not provided. e.g.: "url": "http://10.10.10.10:8000" --> "host": "10.10.10.10:8000"username: OPTIONAL str - default '' password: OPTIONAL str - default '' identitytoken: OPTIONAL str - default '' Used by containerd for basic authentication to the registry.
ca_file: OPTIONAL str - default '' cert_file: OPTIONAL str - default '' key_file: OPTIONAL str - default '' For ssl/tls communication these should be a base64 encoded file e.g.: "ca_file": "'"$(base64 -w 0 < my.custom.registry.pem)"'"
skip_verify: OPTIONAL bool - default false For situations where the registry has self-signed or expired certs and a quick work-around is necessary. e.g.: "skip_verify": true
Example config: juju config k8s containerd_custom_registries='[{ "url": "https://registry.example.com", "host": "ghcr.io", "ca_file": "'"$(base64 -w 0 < ~/my.custom.ca.pem)"'", "cert_file": "'"$(base64 -w 0 < ~/my.custom.cert.pem)"'", "key_file": "'"$(base64 -w 0 < ~/my.custom.key.pem)"'", }]'
-
dns-cluster-domain | string
Default: cluster.local
Sets the local domain of the cluster
-
dns-enabled | boolean
Default: True
Enable/Disable the DNS feature on the cluster.
-
dns-service-ip | string
Sets the IP address of the dns service. If omitted defaults to the IP address of the Kubernetes service created by the feature.
Can be used to point to an external dns server when feature is disabled.
-
dns-upstream-nameservers | string
Space-separated list of upstream nameservers used to forward queries for out-of-cluster endpoints.
If omitted defaults to
/etc/resolv.conf
and uses the nameservers on each node. -
gateway-enabled | boolean
Enable/Disable the gateway feature on the cluster.
-
ingress-enable-proxy-protocol | boolean
Determines if the proxy protocol should be enabled for ingresses.
-
ingress-enabled | boolean
Determines if the ingress feature should be enabled.
-
kube-apiserver-extra-args | string
Space separated list of flags and key=value pairs that will be passed as arguments to kube-apiserver.
Notes: Options may only be set on charm deployment
For example a value like this: runtime-config=batch/v2alpha1=true profiling=true will result in kube-apiserver being run with the following options: --runtime-config=batch/v2alpha1=true --profiling=true
-
kube-controller-manager-extra-args | string
Space separated list of flags and key=value pairs that will be passed as arguments to kube-controller-manager.
Notes: Options may only be set on charm deployment cluster-name: cannot be overridden
For example a value like this: runtime-config=batch/v2alpha1=true profiling=true will result in kube-controller-manager being run with the following options: --runtime-config=batch/v2alpha1=true --profiling=true
-
kube-proxy-extra-args | string
Space separated list of flags and key=value pairs that will be passed as arguments to kube-proxy.
Notes: Options may only be set on charm deployment
For example a value like this: runtime-config=batch/v2alpha1=true profiling=true will result in kube-proxy being run with the following options: --runtime-config=batch/v2alpha1=true --profiling=true
-
kube-scheduler-extra-args | string
Space separated list of flags and key=value pairs that will be passed as arguments to kube-scheduler.
Notes: Options may only be set on charm deployment
For example a value like this: runtime-config=batch/v2alpha1=true profiling=true will result in kube-scheduler being run with the following options: --runtime-config=batch/v2alpha1=true --profiling=true
-
kubelet-extra-args | string
Space separated list of flags and key=value pairs that will be passed as arguments to kubelet.
Notes: Options may only be set on charm deployment
For example a value like this: runtime-config=batch/v2alpha1=true profiling=true will result in kubelet being run with the following options: --runtime-config=batch/v2alpha1=true --profiling=true
-
load-balancer-bgp-local-asn | int
Default: 64512
Local ASN for the load balancer. This is only used if load-balancer-bgp-mode is set to true.
-
load-balancer-bgp-mode | boolean
Enable/Disable BGP mode for the load balancer. This is only used if load-balancer-enabled is set to true.
-
load-balancer-bgp-peer-address | string
Address of the BGP peer for the load balancer. This is only used if load-balancer-bgp-mode is set to true.
-
load-balancer-bgp-peer-port | int
Default: 179
Port of the BGP peer for the load balancer. This is only used if load-balancer-bgp-mode is set to true.
-
load-balancer-cidrs | string
Space-separated list of CIDRs to use for the load balancer. This is only used if load-balancer-enabled is set to true.
-
load-balancer-enabled | boolean
Enable/Disable the load balancer feature on the cluster.
-
load-balancer-l2-interfaces | string
Space-separated list of interfaces to use for the load balancer. This is only used if load-balancer-l2-mode is set to true. if unset, all interfaces will be used.
-
load-balancer-l2-mode | boolean
Enable/Disable L2 mode for the load balancer. This is only used if load-balancer-enabled is set to true.
-
local-storage-enabled | boolean
Default: True
Enable local storage provisioning. This will create a storage class named "local-storage" that uses the hostPath provisioner. This is useful for development and testing purposes. It is not recommended for production use.
-
local-storage-local-path | string
Default: /var/snap/k8s/common/rawfile-storage
The path on the host where local storage will be provisioned. This path must be writable by the kubelet. This is only used if local-storage.enabled is set to true.
-
local-storage-reclaim-policy | string
Default: Delete
The reclaim policy for local storage. This can be either "Delete" or "Retain". If set to "Delete", the storage will be deleted when the PersistentVolumeClaim is deleted. If set to "Retain", the storage will be retained when the PersistentVolumeClaim is deleted.
-
metrics-server-enabled | boolean
Default: True
Enable/Disable the metrics-server feature on the cluster.
-
network-enabled | boolean
Default: True
Enables or disables the network feature.
-
node-labels | string
Labels can be used to organize and to select subsets of nodes in the cluster. Declare node labels in key=value format, separated by spaces.