Skip to content

Commit 4d5a751

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 f903785 commit 4d5a751

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

pkg/asset/tls/apiserver.go

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,9 @@ import (
44
"context"
55
"crypto/x509"
66
"crypto/x509/pkix"
7+
"fmt"
78
"net"
89

9-
"github.com/pkg/errors"
10-
1110
"github.com/openshift/installer/pkg/asset"
1211
"github.com/openshift/installer/pkg/asset/installconfig"
1312
)
@@ -297,9 +296,14 @@ func (a *KubeAPIServerServiceNetworkServerCertKey) Generate(ctx context.Context,
297296
ca := &KubeAPIServerServiceNetworkSignerCertKey{}
298297
installConfig := &installconfig.InstallConfig{}
299298
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")
299+
300+
serviceAddresses := make([]net.IP, len(installConfig.Config.Networking.ServiceNetwork))
301+
for i, svcNet := range installConfig.Config.Networking.ServiceNetwork {
302+
serviceAddress, err := cidrhost(svcNet.IPNet, 1)
303+
if err != nil {
304+
return fmt.Errorf("failed to get service address for kube-apiserver from InstallConfig: %w", err)
305+
}
306+
serviceAddresses[i] = net.ParseIP(serviceAddress)
303307
}
304308

305309
cfg := &CertCfg{
@@ -315,7 +319,7 @@ func (a *KubeAPIServerServiceNetworkServerCertKey) Generate(ctx context.Context,
315319
"openshift.default.svc",
316320
"openshift.default.svc.cluster.local",
317321
},
318-
IPAddresses: []net.IP{net.ParseIP(serviceAddress)},
322+
IPAddresses: serviceAddresses,
319323
}
320324

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

0 commit comments

Comments
 (0)