Skip to content

Redundant checks when bootstrap #3754

Open
@gecube

Description

Hello!

I am installing the gitops-ee tooling as I want to play around with it on one of EKS clusters, that I use for managing infra. I am expecting that I will be able to prepare manifests for gitops platform and put them into gitrepo. It is another issue, right now I want to focus that bootstrap command make extra checks.

First try was to run it without any cluster access:

components % gitops bootstrap --export
► creating client to cluster
✔ created client to cluster: https://kubernetes.docker.internal:6443
◎ checking flux
► verifying flux installation
✗ flux installed error: ► checking prerequisites
✗ flux 2.2.2 <2.2.3 (new CLI version is available, please upgrade)
✗ Kubernetes API call failed: Get "https://kubernetes.docker.internal:6443/version": dial tcp 127.0.0.1:6443: connect: connection refused
► checking version in cluster
✗ checking failed: failed to get API group resources: unable to retrieve the complete list of server APIs: apiextensions.k8s.io/v1: Get "https://kubernetes.docker.internal:6443/apis/apiextensions.k8s.io/v1": dial tcp 127.0.0.1:6443: connect: connection refused
► checking controllers
► checking crds
✗ check failed
. flux is not bootstrapped in 'flux-system' namespace: more info https://fluxcd.io/flux/installation
? do you want to bootstrap flux using the generic way? [y/N] n█
Error: cannot execute bootstrap: error on step bootstrap flux: cannot execute 'bootstrap flux': flux error: flux is not bootstrapped, please bootstrap Flux in 'flux-system' namespace: more info https://fluxcd.io/flux/installation

Then I understood that I need to point to particular cluster where gitops platform would be deployed, so I login in teleport and selected the proper context:

components % gitops bootstrap --export
► creating client to cluster
✔ created client to cluster: https://teleport.*****:3026
◎ checking flux
► verifying flux installation
✗ flux installed error: ► checking prerequisites
✗ flux 2.2.2 <2.2.3 (new CLI version is available, please upgrade)
✗ Kubernetes version v1.25.16-eks-77b1e4e does not match >=1.26.0-0
► checking version in cluster
✔ distribution: flux-v2.1.2
✔ bootstrapped: true
► checking controllers
✔ helm-controller: deployment ready
► ghcr.io/fluxcd/helm-controller:v0.36.2
✔ image-automation-controller: deployment ready
► ghcr.io/fluxcd/image-automation-controller:v0.36.1
✔ image-reflector-controller: deployment ready
► ghcr.io/fluxcd/image-reflector-controller:v0.30.0
✔ kustomize-controller: deployment ready
► ghcr.io/fluxcd/kustomize-controller:v1.1.1
✔ notification-controller: deployment ready
► ghcr.io/fluxcd/notification-controller:v1.1.0
✔ source-controller: deployment ready
► ghcr.io/fluxcd/source-controller:v1.1.2
► checking crds
✔ alerts.notification.toolkit.fluxcd.io/v1beta2
✔ buckets.source.toolkit.fluxcd.io/v1beta2
✔ gitrepositories.source.toolkit.fluxcd.io/v1
✔ helmcharts.source.toolkit.fluxcd.io/v1beta2
✔ helmreleases.helm.toolkit.fluxcd.io/v2beta1
✔ helmrepositories.source.toolkit.fluxcd.io/v1beta2
✔ imagepolicies.image.toolkit.fluxcd.io/v1beta2
✔ imagerepositories.image.toolkit.fluxcd.io/v1beta2
✔ imageupdateautomations.image.toolkit.fluxcd.io/v1beta1
✔ kustomizations.kustomize.toolkit.fluxcd.io/v1
✔ ocirepositories.source.toolkit.fluxcd.io/v1beta2
✔ providers.notification.toolkit.fluxcd.io/v1beta2
✔ receivers.notification.toolkit.fluxcd.io/v1
✗ check failed
. flux is not bootstrapped in 'flux-system' namespace: more info https://fluxcd.io/flux/installation
◎ bootstrap flux
✗ do you want to bootstrap flux using the generic way: 
Error: cannot execute bootstrap: error on step bootstrap flux: cannot execute 'bootstrap flux': flux error: flux is not bootstrapped, please bootstrap Flux in 'flux-system' namespace: more info https://fluxcd.io/flux/installation
components % flux

Gitops tooling explained to me that I need to bump flux version, O.K., no problems. I installed new flux version and prepared a manifests. Then applied them to cluster.

george@ZMWSPAPNTYW124XX2 weave-enterprise % gitops bootstrap --export
► creating client to cluster
✔ created client to cluster: https://teleport.private.zodiamarkets.xyz:3026
◎ checking flux
► verifying flux installation
✗ flux installed error: ► checking prerequisites
✗ Kubernetes version v1.25.16-eks-77b1e4e does not match >=1.26.0-0
► checking version in cluster
✔ distribution: flux-v2.2.3
✔ bootstrapped: true
► checking controllers
✔ helm-controller: deployment ready
► ghcr.io/fluxcd/helm-controller:v0.37.4
✔ image-automation-controller: deployment ready
► ghcr.io/fluxcd/image-automation-controller:v0.37.1
✔ image-reflector-controller: deployment ready
► ghcr.io/fluxcd/image-reflector-controller:v0.31.2
✔ kustomize-controller: deployment ready
► ghcr.io/fluxcd/kustomize-controller:v1.2.2
✔ notification-controller: deployment ready
► ghcr.io/fluxcd/notification-controller:v1.2.4
✔ source-controller: deployment ready
► ghcr.io/fluxcd/source-controller:v1.2.4
► checking crds
✔ alerts.notification.toolkit.fluxcd.io/v1beta3
✔ buckets.source.toolkit.fluxcd.io/v1beta2
✔ gitrepositories.source.toolkit.fluxcd.io/v1
✔ helmcharts.source.toolkit.fluxcd.io/v1beta2
✔ helmreleases.helm.toolkit.fluxcd.io/v2beta2
✔ helmrepositories.source.toolkit.fluxcd.io/v1beta2
✔ imagepolicies.image.toolkit.fluxcd.io/v1beta2
✔ imagerepositories.image.toolkit.fluxcd.io/v1beta2
✔ imageupdateautomations.image.toolkit.fluxcd.io/v1beta1
✔ kustomizations.kustomize.toolkit.fluxcd.io/v1
✔ ocirepositories.source.toolkit.fluxcd.io/v1beta2
✔ providers.notification.toolkit.fluxcd.io/v1beta3
✔ receivers.notification.toolkit.fluxcd.io/v1
✗ check failed
. flux is not bootstrapped in 'flux-system' namespace: more info https://fluxcd.io/flux/installation
◎ bootstrap flux
? do you want to bootstrap flux using the generic way? [y/N] █
Error: cannot execute bootstrap: error on step bootstrap flux: cannot execute 'bootstrap flux': flux error: flux is not bootstrapped, please bootstrap Flux in 'flux-system' namespace: more info https://fluxcd.io/flux/installation

Now I am still experiencing error that flux is not installed, but it is. Probably the issue is the incorrect and incompatible (srsly?) k8s version:

✗ Kubernetes version v1.25.16-eks-77b1e4e does not match >=1.26.0-0

so my next step would be to upgrade k8s cluster... I did not find any option to skip this check. I will proceed and post updated on the matter

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions