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