Kubernetes

  • Canonical Kubernetes
Channel Revision Published Runs on
latest/edge 113 Yesterday
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
latest/edge 112 Yesterday
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
1.30/beta 65 23 May 2024
Ubuntu 24.04 Ubuntu 22.04 Ubuntu 20.04
juju deploy k8s --channel edge
Show information

Platform:

Ubuntu
24.04 22.04 20.04

Learn about configurations >

  • 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.