Closed katy-droid closed 2 weeks ago
Talos automatically builds a list of IPs based on all routable machine IPs, .certSANs
is only used to inject the IPs/DNS names that Talos is not aware about (e.g. external LB).
As you don't specify which IP you don't recognize, I'd assume it's 10.96.0.1 which is the service cluster IP for kubernetes
service (which is used to access api-server internally).
So there seems to be no problem here.
Hi I was referring to the [PUBLIC_IP] As I don't want this to be included for the api-server I just want the private IP 192.168.x.x and of course the cluster IP.
Is there not a way to exclude the PUBLIC_IP of my system from being included in the list?
There is no way to do that, what is the reason for excluding? See also https://github.com/siderolabs/talos/discussions/9675
Ok! I just wanted my internal network to be completely isolated from any access by the public network, for example the kubernetes-api.
If you want your kube-apiserver not to be available on the public network, certificate SANs is not the way to do it (it won't do that).
A proper way is to use either perimeter firewall, or Talos Ingress Firewall.
Bug Report
Running into an odd problem on a talos baremetal install where an IP that is not listed under my apiServer.certSANs is being signed to the k8s cert.
Description
My setup is as follows: A baremetal system with a public IP and a private IP, my cluster is using the private IP for the kube related activities.
Below is the META config and machine config I am using: META:
machine config
Logs
here are the talosctl get links output:
Here is the output of this command: openssl s_client -connect 192.168.0.2:6443 < /dev/null | openssl x509 -noout -text | grep -C3 -i dns
Environment
Please let me know if I'm doing something wrong!