Overview
Image Added
Install Flux
See https://fluxcd.io/docs/installation/#install-the-flux-cli
...
Code Block |
---|
$ curl -s https://fluxcd.io/install.sh | sudo bash
or
$ curl -s https://fluxcd.io/install.sh | bash |
Generate a User Token in GitHub
https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token
...
Code Block |
---|
|
$ export GITHUB_TOKEN=xxxx
$ export GITHUB_USER=johnmehan |
Bootstrap the Repository
Perform pre-check to make sure we are able to install flux.
...
Code Block |
---|
|
$ flux bootstrap github --owner=$GITHUB_USER --repository=<REPO_NAME> --branch=main --path=<CLUSTER_NAME> --personal
# example
$ flux bootstrap github --owner=$GITHUB_USER --repository=ft --branch=main --path=local --personal |
With Gitlab
Code Block |
---|
$ flux bootstrap gitlab --owner=<GROUP> --repository=<REPO_NAME> --path=<PATH> --token-auth --hostname=<HOST> --branch=<BRANCH>
#example
$ flux bootstrap gitlab --owner=MyGroup --repository=deploy_repo --path=cluster/lab --token-auth --hostname=gitlab1.company.com --branch=master |
Git Clone New Repo
Code Block |
---|
|
$ git clone git@github.com:johnmehan/ft.git
$ cd ft
$ cd local |
Create Helm Repository
Create secret for flux to use to talk to the helm repository
...
Code Block |
---|
|
$ flux get sources helm
NAME READY MESSAGE REVISION SUSPENDED
ncyd True Fetched revision: 732d32e292bd0def8d5782211f139523d23880a1 732d32e292bd0def8d5782211f139523d23880a1 False |
Create a Helm Release
Code Block |
---|
|
$ flux create helmrelease ssh-server --source=HelmRepository/ncyd-helm-virtual --chart ssh-server --release-name ssh-server --target-namespace default --interval 5m0s --export > helmrelease-ssh-server.yaml |
...
Code Block |
---|
flux reconcile ks flux-system --with-source |
Helpfull Commands
Command | Description |
---|
flux uninstall | Remove flux installation |
flux get helmreleases flux get hr | List the helmreleases |
flux reconcile ks flux-system --with-source | Force a reconcile |
flux get sources helm | View Helm Sources |
|
|
|
|
kubectl describe helmrelease <HR_NAME> -n flux-system | Get details of a helm release. |
kubectl logs -f -n flux-system deployment/source-controller | See logs for source-controller |
|
|
Debugging a Failed Helm Release
You may some of the following commands in order to determine the failure.
Code Block |
---|
|
# get list of helmreleases
$ flux get hr -A
# get details about the helmrelease
$ kubectl describe helmrelease <HR_NAME> -n flux-system
# See logs in source controller
$ kubectl logs -f -n flux-system deployment/source-controller |
Force a reconcile
Code Block |
---|
flux reconcile ks flux-system --with-source |
Delete a helm release and reconcile
Code Block |
---|
kubectl -n fluxsystem delete hr <HR_NAME>
flux reconcile ks flux-system --with-source |
References