Made with Material for MkDocs
stefanprodan / flux-aio Goto Github PK
View Code? Open in Web Editor NEWFlux All-In-One distribution made with Timoni
Home Page: https://timoni.sh/flux-aio
License: Apache License 2.0
Flux All-In-One distribution made with Timoni
Home Page: https://timoni.sh/flux-aio
License: Apache License 2.0
Hi
Im having problem getting flux to run after #53 got merged.
I have problems trying to overwrite the default tolerations of:
tolerations: *[{
operator: "Exists"
key: "node.kubernetes.io/not-ready"
}, {
operator: "Exists"
key: "node.kubernetes.io/unreachable"
effect: "NoExecute"
tolerationSeconds: 300
With something like the old but more crude toleration of operation="exists". eg.
╰─➤ timoni --kubeconfig mgmt-config bundle apply -f - <<EOF 127 ↵
bundle: {
apiVersion: "v1alpha1"
name: "flux-aio"
instances: {
"flux": {
module: {
url: "oci://ghcr.io/stefanprodan/modules/flux-aio"
version: "2.1.2"
}
namespace: "flux-system"
values: {
hostNetwork: true
securityProfile: "privileged"
tolerations: [{
operator: "Exists"
key: ""
}]
}
}
}
}
EOF
2:13PM INF b:flux-aio > applying 1 instance(s)
2:13PM INF b:flux-aio > i:flux > applying module timoni.sh/flux-aio version 2.1.2
2:14PM ERR failed to build instance:
values.tolerations: 2 errors in empty disjunction:
values.tolerations: conflicting values [{operator:"Exists",key:""}] and {key?:string,operator?:#TolerationOperator,value?:string,effect?:#TaintEffect,tolerationSeconds?:(null|int & >=-9223372036854775808 & <=9223372036854775807)} (mismatched types list and struct):
./cue.mod/gen/k8s.io/api/core/v1/types_go_gen.cue:3526:14
./templates/config.cue:139:7
./timoni.cue:17:9
./values.cue:36:15
values.tolerations: incompatible list lengths (1 and 2)
In my testing I cannot change any of the toleration.
╰─➤ timoni --kubeconfig mgmt-config bundle apply -f - <<EOF
bundle: {
apiVersion: "v1alpha1"
name: "flux-aio"
instances: {
"flux": {
module: {
url: "oci://ghcr.io/stefanprodan/modules/flux-aio"
version: "2.1.2"
}
namespace: "flux-system"
values: {
hostNetwork: true
securityProfile: "privileged"
tolerations: [{
operator: "Exists"
key: ""
}, {
operator: "Exists"
key: "node.kubernetes.io/unreachable"
effect: "NoExecute"
tolerationSeconds: 300
}]
}
}
}
}
EOF
2:22PM INF b:flux-aio > applying 1 instance(s)
2:22PM INF b:flux-aio > i:flux > applying module timoni.sh/flux-aio version 2.1.2
2:22PM ERR failed to build instance:
values.tolerations: 2 errors in empty disjunction:
values.tolerations: conflicting values [{operator:"Exists",key:""},{operator:"Exists",key:"node.kubernetes.io/unreachable",effect:"NoExecute",tolerationSeconds:300}] and {key?:string,operator?:#TolerationOperator,value?:string,effect?:#TaintEffect,tolerationSeconds?:(null|int & >=-9223372036854775808 & <=9223372036854775807)} (mismatched types list and struct):
./cue.mod/gen/k8s.io/api/core/v1/types_go_gen.cue:3526:14
./templates/config.cue:139:7
./timoni.cue:17:9
./values.cue:36:15
values.tolerations.0.key: conflicting values "node.kubernetes.io/not-ready" and "":
./templates/config.cue:133:13
./timoni.cue:17:9
./values.cue:38:13
Maybe im doing something wrong, i just can't change anything. Copying in the defaults works fine, so it should not be a syntax problem.
Looks also like the documentation still displays to old defaults for the toleration option.
Would appreciate some help with this. flux-aio haven't been working after the Introduction of commit ebc72c2 to 2.1.2, and could'nt find a way of rolling back to a working digest of the 2.1.2 OCI image.
In my use-case nodes have the following taints due to them being provisioned by Cluster-API:
...
spec:
taints:
- effect: NoSchedule
key: node-role.kubernetes.io/control-plane
- effect: NoSchedule
key: node.cloudprovider.kubernetes.io/uninitialized
value: "true"
- effect: NoSchedule
key: node.kubernetes.io/not-ready
This means that the flux pod doesn't have the correct talerotions after #53 was merged.
Hi
Does Flux-AIO require the kube-proxy to be running?
I have been using Flux-AIO to install Calico CNI for some time now, but wanted to try out running Cilium with the kube-proxy replacement.
To enable this you have to skip the kube-proxy stage when initializing the cluster in kubeadm.
When skipping kube-proxy, Timoni will timeout and the pod will have 0/4 containers running but not ready.
Timoni Output:
2:13PM INF b:flux-aio > applying 2 instance(s)
2:13PM INF b:flux-aio > i:flux > applying module timoni.sh/flux-aio version 2.1.1
2:13PM INF b:flux-aio > i:flux > installing flux in namespace flux-system
2:13PM INF b:flux-aio > i:flux > Namespace/flux-system created
2:13PM INF b:flux-aio > i:flux > CustomResourceDefinition/alerts.notification.toolkit.fluxcd.io created
2:13PM INF b:flux-aio > i:flux > CustomResourceDefinition/buckets.source.toolkit.fluxcd.io created
2:13PM INF b:flux-aio > i:flux > CustomResourceDefinition/gitrepositories.source.toolkit.fluxcd.io created
2:13PM INF b:flux-aio > i:flux > CustomResourceDefinition/helmcharts.source.toolkit.fluxcd.io created
2:13PM INF b:flux-aio > i:flux > CustomResourceDefinition/helmreleases.helm.toolkit.fluxcd.io created
2:13PM INF b:flux-aio > i:flux > CustomResourceDefinition/helmrepositories.source.toolkit.fluxcd.io created
2:13PM INF b:flux-aio > i:flux > CustomResourceDefinition/imagepolicies.image.toolkit.fluxcd.io created
2:13PM INF b:flux-aio > i:flux > CustomResourceDefinition/imagerepositories.image.toolkit.fluxcd.io created
2:13PM INF b:flux-aio > i:flux > CustomResourceDefinition/imageupdateautomations.image.toolkit.fluxcd.io created
2:13PM INF b:flux-aio > i:flux > CustomResourceDefinition/kustomizations.kustomize.toolkit.fluxcd.io created
2:13PM INF b:flux-aio > i:flux > CustomResourceDefinition/ocirepositories.source.toolkit.fluxcd.io created
2:13PM INF b:flux-aio > i:flux > CustomResourceDefinition/providers.notification.toolkit.fluxcd.io created
2:13PM INF b:flux-aio > i:flux > CustomResourceDefinition/receivers.notification.toolkit.fluxcd.io created
2:13PM INF b:flux-aio > i:flux > Namespace/flux-system configured
2:13PM INF b:flux-aio > i:flux > ResourceQuota/flux-system/flux created
2:13PM INF b:flux-aio > i:flux > ServiceAccount/flux-system/flux created
2:13PM INF b:flux-aio > i:flux > ClusterRoleBinding/flux created
2:13PM INF b:flux-aio > i:flux > Deployment/flux-system/flux created
2:18PM ERR timeout waiting for: [Deployment/flux-system/flux status: 'InProgress']
Have been enjoying Timoni so far, and was delighted to learn of the Helm interoperability with flux-aio. I was trying to get started on an EKS cluster by following the Flux installation instructions, but got an undefined field
error on apply, looks like we need s/indentity/identity/g
here:
Context: Our EKS is isolated and cannot connect to git.
It can connect only to ECR where OCI artifacts are present.
Is it possible to do gitops in this EKS cluster using flux-aio?
Can flux-aio consume OCI artifact as an app manifest?
I see a comment fluxcd/flux2#4188 (comment).
However, I am not sure how to proceed here.
Any examples or pointers to documentation, if this is feasible.
In my testing, I created a cluster of three master nodes, all are untainted and can schedule normal pods.
Flux is only ever running on the node it was originally deployed on via timoni.
If this node goes down, the controllers are not deployed to other nodes.
flux events - shows logs until the node went down.
The pods show running on the node that is down:
stream logs failed Get "https://10.0.2.22:10250/containerLogs/flux-system/flux-57bd866b6d-zbrfc/helm-controller?follow=true&sinceSeconds=300&tailLines=100×tamps=true": dial tcp 10.0.2.22:10250: connect:
I am trying this in a home lab and the flux container is unable to pull the repository without a valid ssl certificate.
Also I see an issue later adding an own root CA?
Maybe I did not find the documentation to add a configmap with mount of a custom root CA via timoni?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.