IP Addressing

Hi folks,

Can someone just explain this to me so it makes sense in my head:

ubuntu@primary:~/grafana-operator$ juju status
Model      Controller          Cloud/Region        Version  SLA          Timestamp
relations  trainingcontroller  microk8s/localhost  2.9-rc2  unsupported  13:31:53Z

App         Version          Status  Scale  Charm           Store       Rev  OS          Address        Notes
mattermost  mattermost:edge  active      1  mattermost      jujucharms   10  kubernetes
postgresql  pgcharm:edge     active      1  postgresql-k8s  jujucharms    6  kubernetes

Unit           Workload  Agent  Address       Ports     Message
mattermost/0*  active    idle  8065/TCP
postgresql/0*  active    idle  5432/TCP  Pod configured

ubuntu@primary:~/grafana-operator$ microk8s.kubectl get svc --all-namespaces
NAMESPACE                       NAME                   TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                  AGE
default                         kubernetes             ClusterIP     <none>        443/TCP                  98m
kube-system                     kube-dns               ClusterIP    <none>        53/UDP,53/TCP,9153/TCP   96m
controller-micro                controller-service     ClusterIP     <none>        17070/TCP                82m
controller-trainingcontroller   controller-service     ClusterIP   <none>        17070/TCP                61m
controller-trainingcontroller   modeloperator          ClusterIP   <none>        17071/TCP                60m
training                        modeloperator          ClusterIP    <none>        17071/TCP                58m
training                        training               ClusterIP   <none>        3000/TCP                 55m
training                        prometheus             ClusterIP   <none>        9090/TCP                 35m
training                        training-endpoints     ClusterIP   None             <none>        <none>                   55m
training                        prometheus-endpoints   ClusterIP   None             <none>        <none>                   35m
training                        prometheus-operator    ClusterIP   <none>        30666/TCP                35m
relations                       modeloperator          ClusterIP    <none>        17071/TCP                25m
training                        training-operator      ClusterIP    <none>        30666/TCP                55m
relations                       postgresql-operator    ClusterIP    <none>        30666/TCP                24m
relations                       postgresql-master      NodePort   <none>        5432:31547/TCP           23m
relations                       postgresql-standbys    NodePort    <none>        5432:31697/TCP           23m
relations                       postgresql             ClusterIP    <none>        5432/TCP                 23m
relations                       postgresql-endpoints   ClusterIP   None             <none>        <none>                   23m
relations                       mattermost-operator    ClusterIP   <none>        30666/TCP                14m
relations                       mattermost             ClusterIP    <none>        8065/TCP                 13m

The unit ip addressing, is not listed in the kubectl service list but are directly accessible, what does that route relate to?

The unit address should be the actual container addresses.

The service addresses front those and are recorded against the Juju application. These could be a cluster IP or a load-balancer address etc.

When running the network-get hook tool, the container addresses are passed as the bind-addresses. The service addresses form the basis of ingress-addresses and (in the absence of relate --via or model configuration) egress-subnets.

1 Like

Thanks, makes sense!

1 Like