mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-03 19:58:17 +00:00 
			
		
		
		
	Remove 'get node' call during bootstrapping
This commit is contained in:
		@@ -24,8 +24,6 @@ go_library(
 | 
				
			|||||||
        "//pkg/client/clientset_generated/clientset:go_default_library",
 | 
					        "//pkg/client/clientset_generated/clientset:go_default_library",
 | 
				
			||||||
        "//pkg/kubelet/util/csr:go_default_library",
 | 
					        "//pkg/kubelet/util/csr:go_default_library",
 | 
				
			||||||
        "//vendor:github.com/square/go-jose",
 | 
					        "//vendor:github.com/square/go-jose",
 | 
				
			||||||
        "//vendor:k8s.io/apimachinery/pkg/api/errors",
 | 
					 | 
				
			||||||
        "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1",
 | 
					 | 
				
			||||||
        "//vendor:k8s.io/apimachinery/pkg/types",
 | 
					        "//vendor:k8s.io/apimachinery/pkg/types",
 | 
				
			||||||
        "//vendor:k8s.io/apimachinery/pkg/util/wait",
 | 
					        "//vendor:k8s.io/apimachinery/pkg/util/wait",
 | 
				
			||||||
        "//vendor:k8s.io/client-go/tools/clientcmd",
 | 
					        "//vendor:k8s.io/client-go/tools/clientcmd",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,8 +22,6 @@ import (
 | 
				
			|||||||
	"sync"
 | 
						"sync"
 | 
				
			||||||
	"time"
 | 
						"time"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	apierrs "k8s.io/apimachinery/pkg/api/errors"
 | 
					 | 
				
			||||||
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 | 
					 | 
				
			||||||
	"k8s.io/apimachinery/pkg/types"
 | 
						"k8s.io/apimachinery/pkg/types"
 | 
				
			||||||
	"k8s.io/apimachinery/pkg/util/wait"
 | 
						"k8s.io/apimachinery/pkg/util/wait"
 | 
				
			||||||
	"k8s.io/client-go/tools/clientcmd"
 | 
						"k8s.io/client-go/tools/clientcmd"
 | 
				
			||||||
@@ -124,19 +122,6 @@ func createClients(caCert []byte, endpoint, token string, nodeName types.NodeNam
 | 
				
			|||||||
	return ac, nil
 | 
						return ac, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// checkForNodeNameDuplicates checks whether there are other nodes in the cluster with identical node names.
 | 
					 | 
				
			||||||
func checkForNodeNameDuplicates(clientSet *clientset.Clientset) error {
 | 
					 | 
				
			||||||
	hostName, err := os.Hostname()
 | 
					 | 
				
			||||||
	if err != nil {
 | 
					 | 
				
			||||||
		return fmt.Errorf("Failed to get node hostname [%v]", err)
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	_, err = clientSet.Nodes().Get(hostName, metav1.GetOptions{})
 | 
					 | 
				
			||||||
	if err != nil && !apierrs.IsNotFound(err) {
 | 
					 | 
				
			||||||
		return err
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return nil
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// checks the connection requirements for a specific API endpoint
 | 
					// checks the connection requirements for a specific API endpoint
 | 
				
			||||||
func checkAPIEndpoint(clientSet *clientset.Clientset, endpoint string) error {
 | 
					func checkAPIEndpoint(clientSet *clientset.Clientset, endpoint string) error {
 | 
				
			||||||
	// check general connectivity
 | 
						// check general connectivity
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -51,11 +51,6 @@ func PerformTLSBootstrap(cfg *clientcmdapi.Config) error {
 | 
				
			|||||||
		return fmt.Errorf("failed to generate private key [%v]", err)
 | 
							return fmt.Errorf("failed to generate private key [%v]", err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Make sure there are no other nodes in the cluster with identical node name.
 | 
					 | 
				
			||||||
	if err := checkForNodeNameDuplicates(c); err != nil {
 | 
					 | 
				
			||||||
		return err
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	cert, err := csr.RequestNodeCertificate(c.Certificates().CertificateSigningRequests(), key, name)
 | 
						cert, err := csr.RequestNodeCertificate(c.Certificates().CertificateSigningRequests(), key, name)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return fmt.Errorf("failed to request signed certificate from the API server [%v]", err)
 | 
							return fmt.Errorf("failed to request signed certificate from the API server [%v]", err)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -244,8 +244,6 @@ func ClusterRoles() []rbac.ClusterRole {
 | 
				
			|||||||
			// a role to use for bootstrapping a node's client certificates
 | 
								// a role to use for bootstrapping a node's client certificates
 | 
				
			||||||
			ObjectMeta: metav1.ObjectMeta{Name: "system:node-bootstrapper"},
 | 
								ObjectMeta: metav1.ObjectMeta{Name: "system:node-bootstrapper"},
 | 
				
			||||||
			Rules: []rbac.PolicyRule{
 | 
								Rules: []rbac.PolicyRule{
 | 
				
			||||||
				// used to check if the node already exists
 | 
					 | 
				
			||||||
				rbac.NewRule("get").Groups(legacyGroup).Resources("nodes").RuleOrDie(),
 | 
					 | 
				
			||||||
				// used to create a certificatesigningrequest for a node-specific client certificate, and watch for it to be signed
 | 
									// used to create a certificatesigningrequest for a node-specific client certificate, and watch for it to be signed
 | 
				
			||||||
				rbac.NewRule("create", "get", "list", "watch").Groups(certificatesGroup).Resources("certificatesigningrequests").RuleOrDie(),
 | 
									rbac.NewRule("create", "get", "list", "watch").Groups(certificatesGroup).Resources("certificatesigningrequests").RuleOrDie(),
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -577,12 +577,6 @@ items:
 | 
				
			|||||||
      kubernetes.io/bootstrapping: rbac-defaults
 | 
					      kubernetes.io/bootstrapping: rbac-defaults
 | 
				
			||||||
    name: system:node-bootstrapper
 | 
					    name: system:node-bootstrapper
 | 
				
			||||||
  rules:
 | 
					  rules:
 | 
				
			||||||
  - apiGroups:
 | 
					 | 
				
			||||||
    - ""
 | 
					 | 
				
			||||||
    resources:
 | 
					 | 
				
			||||||
    - nodes
 | 
					 | 
				
			||||||
    verbs:
 | 
					 | 
				
			||||||
    - get
 | 
					 | 
				
			||||||
  - apiGroups:
 | 
					  - apiGroups:
 | 
				
			||||||
    - certificates.k8s.io
 | 
					    - certificates.k8s.io
 | 
				
			||||||
    resources:
 | 
					    resources:
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user