mirror of
https://github.com/rancher/rke.git
synced 2025-04-27 19:25:44 +00:00
Merge pull request #2656 from rawmind0/ingressjobsmaster
Updated nginx ingress addon to remove admission batch jobs if they exist
This commit is contained in:
commit
eeda952cc7
@ -53,11 +53,15 @@ const (
|
||||
Nodelocal = "nodelocal"
|
||||
|
||||
NginxIngressAddonAppName = "ingress-nginx"
|
||||
NginxIngressAddonAppNamespace = "ingress-nginx"
|
||||
NginxIngressAddonDefaultBackendName = "default-http-backend"
|
||||
NginxIngressAddonDefaultBackendNamespace = "ingress-nginx"
|
||||
)
|
||||
|
||||
var DNSProviders = []string{KubeDNSProvider, CoreDNSProvider}
|
||||
var (
|
||||
DNSProviders = []string{KubeDNSProvider, CoreDNSProvider}
|
||||
NginxIngressAddonJobNames = []string{"ingress-nginx-admission-create", "ingress-nginx-admission-patch"}
|
||||
)
|
||||
|
||||
type ingressOptions struct {
|
||||
RBACConfig string
|
||||
@ -613,6 +617,20 @@ func (c *Cluster) deployIngress(ctx context.Context, data map[string]interface{}
|
||||
if version < "0.16.0" {
|
||||
ingressConfig.AlpineImage = c.SystemImages.Alpine
|
||||
}
|
||||
// since nginx ingress controller 0.40.0, admission batch jobs are deployed.
|
||||
// Before deployment of the new ingress controller based on the update strategy, remove admission batch jobs if they exist.
|
||||
if version > "0.40.0" {
|
||||
log.Infof(ctx, "[ingress] removing admission batch jobs if they exist")
|
||||
kubeClient, err := k8s.NewClient(c.LocalKubeConfigPath, c.K8sWrapTransport)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
for _, jobName := range NginxIngressAddonJobNames {
|
||||
if err = k8s.DeleteK8sJobIfExists(kubeClient, jobName, NginxIngressAddonAppNamespace); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
tmplt, err := templates.GetVersionedTemplates(kdm.NginxIngress, data, c.Version)
|
||||
if err != nil {
|
||||
|
@ -71,6 +71,13 @@ func DeleteK8sSystemJob(jobYaml string, k8sClient *kubernetes.Clientset, timeout
|
||||
return nil
|
||||
}
|
||||
|
||||
func DeleteK8sJobIfExists(k8sClient *kubernetes.Clientset, name, namespace string) error {
|
||||
if err := deleteK8sJob(k8sClient, name, namespace); err != nil && !apierrors.IsNotFound(err) {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func ensureJobCompleted(k8sClient *kubernetes.Clientset, j interface{}) error {
|
||||
job := j.(v1.Job)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user