Skip to content

Commit a10c60c

Browse files
committed
tls: ensure all ip families are considered for kube-apiserver-service-network-server
The commit ensures all service networks are considered (i.e. that is all IP families) when generating the certificate kube-apiserver-service-network-server.
1 parent 1008e96 commit a10c60c

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

pkg/asset/tls/apiserver.go

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -297,9 +297,14 @@ func (a *KubeAPIServerServiceNetworkServerCertKey) Generate(ctx context.Context,
297297
ca := &KubeAPIServerServiceNetworkSignerCertKey{}
298298
installConfig := &installconfig.InstallConfig{}
299299
dependencies.Get(ca, installConfig)
300-
serviceAddress, err := cidrhost(installConfig.Config.Networking.ServiceNetwork[0].IPNet, 1)
301-
if err != nil {
302-
return errors.Wrap(err, "failed to get service address for kube-apiserver from InstallConfig")
300+
301+
serviceAddresses := make([]net.IP, len(installConfig.Config.Networking.ServiceNetwork))
302+
for i, svcNet := range installConfig.Config.Networking.ServiceNetwork {
303+
serviceAddress, err := cidrhost(svcNet.IPNet, 1)
304+
if err != nil {
305+
return errors.Wrap(err, "failed to get service address for kube-apiserver from InstallConfig")
306+
}
307+
serviceAddresses[i] = net.ParseIP(serviceAddress)
303308
}
304309

305310
cfg := &CertCfg{
@@ -315,7 +320,7 @@ func (a *KubeAPIServerServiceNetworkServerCertKey) Generate(ctx context.Context,
315320
"openshift.default.svc",
316321
"openshift.default.svc.cluster.local",
317322
},
318-
IPAddresses: []net.IP{net.ParseIP(serviceAddress)},
323+
IPAddresses: serviceAddresses,
319324
}
320325

321326
return a.SignedCertKey.Generate(ctx, cfg, ca, "kube-apiserver-service-network-server", AppendParent)

0 commit comments

Comments
 (0)