Advanced configuration


Juju Kubernetes applications support Kubernets specific configuration knobs to control how Juju deploys the application on Kubernetes. The following are supported (these names are the Juju config attribute names; the k8s meaning should be obvious):

    kubernetes-service-type                         default ClusterIP
    kubernetes-service-annotations          default {}
    kubernetes-service-external-ips                 default []
    kubernetes-service-target-port                  default <container port>
    kubernetes-service-loadbalancer-ip              default ""
    kubernetes-service-loadbalancer-sourceranges    default []
    kubernetes-service-externalname                 default ""

    kubernetes-ingress-class                        default "nginx"
    kubernetes-ingress-ssl-redirect                 default false
    kubernetes-ingress-ssl-passthrough              default false
    kubernetes-ingress-allow-http                   default false

The above must be set at the time of deploy, eg

juju deploy mariadb-k8s --config kubernetes-service-loadbalancer-ip=

There are also 2 other configuration attributes which are not Kubernetes specific:

    juju-external-hostname           default ""
    juju-application-path            default "/"

The last 2 attributes above control how the application is exposed externally using a Kubernetes Ingress Resource in conjunction with the configured ingress controller (default nginx).

Meta: Collected topics and docs for k8s charms
Writing a Kubernetes charm

Jenkins-K8S Charm Summary/Feedback