mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-03 19:58:17 +00:00 
			
		
		
		
	Merge pull request #57287 from mattkelly/kubeadm-preflight-check-files-not-dir
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. kubeadm: Only check for well-known files in preflight **What this PR does / why we need it**: This makes the preflight checks less heavy-handed by specifically checking for well-known files (`kube-apiserver.yaml`, `kube-controller-manager.yaml`, `kube-scheduler.yaml`, `etcd.yaml`) in `/etc/kubernetes/manifests` instead of simply checking for a non-empty directory. **Which issue(s) this PR fixes**: Fixes kubernetes/kubeadm#595 **Special notes for your reviewer**: **Release note**: ```release-note NONE ```
This commit is contained in:
		@@ -79,7 +79,7 @@ func (e *Error) Error() string {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Checker validates the state of the system to ensure kubeadm will be
 | 
					// Checker validates the state of the system to ensure kubeadm will be
 | 
				
			||||||
// successful as often as possilble.
 | 
					// successful as often as possible.
 | 
				
			||||||
type Checker interface {
 | 
					type Checker interface {
 | 
				
			||||||
	Check() (warnings, errors []error)
 | 
						Check() (warnings, errors []error)
 | 
				
			||||||
	Name() string
 | 
						Name() string
 | 
				
			||||||
@@ -848,6 +848,8 @@ func RunInitMasterChecks(execer utilsexec.Interface, cfg *kubeadmapi.MasterConfi
 | 
				
			|||||||
	warns, _ := criCtlChecker.Check()
 | 
						warns, _ := criCtlChecker.Check()
 | 
				
			||||||
	useCRI := len(warns) == 0
 | 
						useCRI := len(warns) == 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						manifestsDir := filepath.Join(kubeadmconstants.KubernetesDir, kubeadmconstants.ManifestsSubDirName)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	checks := []Checker{
 | 
						checks := []Checker{
 | 
				
			||||||
		KubernetesVersionCheck{KubernetesVersion: cfg.KubernetesVersion, KubeadmVersion: kubeadmversion.Get().GitVersion},
 | 
							KubernetesVersionCheck{KubernetesVersion: cfg.KubernetesVersion, KubeadmVersion: kubeadmversion.Get().GitVersion},
 | 
				
			||||||
		SystemVerificationCheck{CRISocket: criSocket},
 | 
							SystemVerificationCheck{CRISocket: criSocket},
 | 
				
			||||||
@@ -860,7 +862,10 @@ func RunInitMasterChecks(execer utilsexec.Interface, cfg *kubeadmapi.MasterConfi
 | 
				
			|||||||
		PortOpenCheck{port: 10250},
 | 
							PortOpenCheck{port: 10250},
 | 
				
			||||||
		PortOpenCheck{port: 10251},
 | 
							PortOpenCheck{port: 10251},
 | 
				
			||||||
		PortOpenCheck{port: 10252},
 | 
							PortOpenCheck{port: 10252},
 | 
				
			||||||
		DirAvailableCheck{Path: filepath.Join(kubeadmconstants.KubernetesDir, kubeadmconstants.ManifestsSubDirName)},
 | 
							FileAvailableCheck{Path: kubeadmconstants.GetStaticPodFilepath(kubeadmconstants.KubeAPIServer, manifestsDir)},
 | 
				
			||||||
 | 
							FileAvailableCheck{Path: kubeadmconstants.GetStaticPodFilepath(kubeadmconstants.KubeControllerManager, manifestsDir)},
 | 
				
			||||||
 | 
							FileAvailableCheck{Path: kubeadmconstants.GetStaticPodFilepath(kubeadmconstants.KubeScheduler, manifestsDir)},
 | 
				
			||||||
 | 
							FileAvailableCheck{Path: kubeadmconstants.GetStaticPodFilepath(kubeadmconstants.Etcd, manifestsDir)},
 | 
				
			||||||
		FileContentCheck{Path: bridgenf, Content: []byte{'1'}},
 | 
							FileContentCheck{Path: bridgenf, Content: []byte{'1'}},
 | 
				
			||||||
		SwapCheck{},
 | 
							SwapCheck{},
 | 
				
			||||||
		InPathCheck{executable: "ip", mandatory: true, exec: execer},
 | 
							InPathCheck{executable: "ip", mandatory: true, exec: execer},
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user