Merge pull request #4845 from shafeeqes/fix/kubeconfig
Fix a bug in admission-controller while using an external kubeconfig
This commit is contained in:
commit
3a301dbcbd
|
|
@ -24,7 +24,6 @@ import (
|
||||||
admissionregistration "k8s.io/api/admissionregistration/v1"
|
admissionregistration "k8s.io/api/admissionregistration/v1"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/client-go/kubernetes"
|
"k8s.io/client-go/kubernetes"
|
||||||
"k8s.io/client-go/rest"
|
|
||||||
"k8s.io/klog/v2"
|
"k8s.io/klog/v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -32,20 +31,7 @@ const (
|
||||||
webhookConfigName = "vpa-webhook-config"
|
webhookConfigName = "vpa-webhook-config"
|
||||||
)
|
)
|
||||||
|
|
||||||
// get a clientset with in-cluster config.
|
func configTLS(serverCert, serverKey []byte) *tls.Config {
|
||||||
func getClient() *kubernetes.Clientset {
|
|
||||||
config, err := rest.InClusterConfig()
|
|
||||||
if err != nil {
|
|
||||||
klog.Fatal(err)
|
|
||||||
}
|
|
||||||
clientset, err := kubernetes.NewForConfig(config)
|
|
||||||
if err != nil {
|
|
||||||
klog.Fatal(err)
|
|
||||||
}
|
|
||||||
return clientset
|
|
||||||
}
|
|
||||||
|
|
||||||
func configTLS(clientset *kubernetes.Clientset, serverCert, serverKey []byte) *tls.Config {
|
|
||||||
sCert, err := tls.X509KeyPair(serverCert, serverKey)
|
sCert, err := tls.X509KeyPair(serverCert, serverKey)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
klog.Fatal(err)
|
klog.Fatal(err)
|
||||||
|
|
|
||||||
|
|
@ -123,15 +123,14 @@ func main() {
|
||||||
as.Serve(w, r)
|
as.Serve(w, r)
|
||||||
healthCheck.UpdateLastActivity()
|
healthCheck.UpdateLastActivity()
|
||||||
})
|
})
|
||||||
clientset := getClient()
|
|
||||||
server := &http.Server{
|
server := &http.Server{
|
||||||
Addr: fmt.Sprintf(":%d", *port),
|
Addr: fmt.Sprintf(":%d", *port),
|
||||||
TLSConfig: configTLS(clientset, certs.serverCert, certs.serverKey),
|
TLSConfig: configTLS(certs.serverCert, certs.serverKey),
|
||||||
}
|
}
|
||||||
url := fmt.Sprintf("%v:%v", *webhookAddress, *webhookPort)
|
url := fmt.Sprintf("%v:%v", *webhookAddress, *webhookPort)
|
||||||
go func() {
|
go func() {
|
||||||
if *registerWebhook {
|
if *registerWebhook {
|
||||||
selfRegistration(clientset, certs.caCert, namespace, *serviceName, url, *registerByURL, int32(*webhookTimeout))
|
selfRegistration(kubeClient, certs.caCert, namespace, *serviceName, url, *registerByURL, int32(*webhookTimeout))
|
||||||
}
|
}
|
||||||
// Start status updates after the webhook is initialized.
|
// Start status updates after the webhook is initialized.
|
||||||
statusUpdater.Run(stopCh)
|
statusUpdater.Run(stopCh)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue