Kubernetes
- Canonical Kubernetes
Channel | Revision | Published | Runs on |
---|---|---|---|
latest/edge | 113 | Yesterday | |
latest/edge | 112 | Yesterday | |
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
-
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)"'", }]'
-
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.
-
gateway-enabled | boolean
Enable/Disable the gateway feature on the cluster.
-
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.
-
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.
-
register-with-taints | string
Space-separated list of taints to apply to this node at registration time.
This config is only used at deploy 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/
-
service-cidr | string
Default: 10.152.183.0/24
CIDR to use for Kubernetes services. After deployment it is only possible to increase the size of the IP range. It is not possible to change or shrink the address range after deployment.