mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-01 15:58:37 +00:00
Remove 'get node' call during bootstrapping
This commit is contained in:
parent
d6f7ae2ffb
commit
2085f77e27
@ -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:
|
||||||
|
Loading…
Reference in New Issue
Block a user