Comments (4)
I think I figured out the problem. I was installing v1.0.0 of k0smotron, but the clusterctl command was installing v0.9.6 of control-plane, bootstrap, and infrastructure modules.
I rolled my install back to v0.9.6 of k0smotron and got things consistent, and now my control plane seems to be working as expected.
I still welcome any comments in case there is anything of interest in my report.
from k0smotron.
The k0s cluster has a self-signed cert and I get x509 errors as a result of that
You mean the mgmt cluster (the single node one) has self signed cert? Where did you see the x509 errors, in k0smotron controller(s)? k0smotron, as it's running in pod(s), uses normal service account access thus it should get the CA to trust automatically injected. Dunno how that could result in x509 errors 🤔
I haven't found configuration options for disabling TLS verification
You should not need to do this for the "child" controlplanes. What happens is that k0smotron/CAPI creates all the needed certs and also the kubeconfig. The kubeconfig is generated in a way where it has the needed CA in place and thus the clients should always trust it.
I was installing v1.0.0 of k0smotron, but the clusterctl command was installing v0.9.6 of control-plane, bootstrap, and infrastructure modules
hmm, not sure I read this correctly but did you essentially have two k0smotron setups installed, one with kubectl apply ...
and one with clusterctl init ...
?
clusterctl command was installing v0.9.6...
oh, that reminds me: we need to figure out how to automate updating of the clusterctl metadata.yaml file, too easy to forget to update it for every release 🤦
from k0smotron.
hmm, not sure I read this correctly but did you essentially have two k0smotron setups installed, one with kubectl apply ... and one with clusterctl init ...?
I think yes, this is essentially what I did. I am installing using the install.yaml, and I'm also installing additional components using clusterctl init. I end up with these four pods.
[22:41:35][root]@[worthy-aquarium-08330][~]$ kubectl -n k0smotron get pods
NAME READY STATUS RESTARTS AGE
k0smotron-controller-manager-75bfdfdfdb-w6ss6 2/2 Running 0 33h <---- created by install.yml
k0smotron-controller-manager-bootstrap-545bc97cfc-fp5p9 2/2 Running 0 33h <---- created by clusterctl bootstrap
k0smotron-controller-manager-control-plane-56669586df-2vk5c 2/2 Running 0 33h <---- created by clusterctl control-plane
k0smotron-controller-manager-infrastructure-8f8547c76-597hh 2/2 Running 0 33h <---- created by clusterctl infrastructure
I was following the guide at https://docs.k0smotron.io/stable/install/#full-installation.
I did this because when I did the "full" install via the install.yaml, I was missing CRDs that would allow me to properly set up remoteMachines. I think I was missing the clusters.cluster.x-k8s.io/v1beta1
CRD in particular. I can't remember exactly, though; I'd need to rerun my whole setup.
Ultimately, since I have a working config now, I think that I might have been creating some sort of weird version conflict between the component installed with install.yaml and the other components installed with clusterctl. It's also entirely possible that I'm doing this completely wrong and misinterpreting the installation instructions.
Kinda leads me to a few vague questions:
- Why are CRDs "missing" from the "full" install.yaml? Is the "full" install actually full?
- Am I improperly duplicating my install with unnecessary stuff?
from k0smotron.
Hello!
- The k0smotron (both in full and in cluster-api installations) provides only its own CRDs. But, when you run
clusterctl init
the clusterctl installs also Cluster API core components and CAPI CRDs, includingclusters.cluster.x-k8s.io/v1beta1
- Potentially, it can cause some issues, since two controllers are watching the same resources. It's safe to just delete
k0smotron-controller-manager
deployment.
Also, we've updated the metadata.yaml file, so you can upgrade Cluster API components. I think, re-running the init command should be enough:
clusterctl init --bootstrap k0sproject-k0smotron \
--control-plane k0sproject-k0smotron \
--infrastructure k0sproject-k0smotron
from k0smotron.
Related Issues (20)
- Add service IP and FQDNs to the k0s config sans section for HCP
- Persistent volume resize
- how to use clusterapi provider to deploy multiple clusters HOT 5
- kosmotron + capd doesn't work at all HOT 1
- Config files for apiserver
- K0smotron CAPI BYOCNI HOT 1
- ControlPlane manager throwing segfaults (control plane does come up) HOT 1
- Integration with Kapitan and Commodore HOT 1
- Document k0s persistence
- k0smotron operator falls into CrashLoopBackOff HOT 1
- Seeking Advice on Setting Up a High Availability K0s and K0smotron Lab HOT 2
- Worker node is not registered in kubernetes HOT 1
- The managed-by annotation should be removed for AWS deployments HOT 5
- Unable to upgrade standalone k0s cluster on AWS HOT 4
- Not Able To Create More Than 2 Clusters HOT 4
- Add an ability to delete hosted cluster state HOT 1
- K0smotron controller freezes for some time before continue reconciling
- Expose k0s cluster ID in kosmotron API
- Add ContentFrom option for Files configuration in K0sConfigSpec and K0sWorkerConfigSpec
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from k0smotron.