Advanced configuration


#1

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-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=10.1.1.1

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


#2

Juju 2.5.0 Beta 3 Release Notes