Comments (4)
@a13x5 thanks for detailed analysis. You are absolutely correct it's using wrong node names in this case.
The only thing I'm wondering, why do we even need to specify node names in the Plan
, couldn't we just use empty selector? @makhov WDYT?
What if we're running controller-only nodes as the CP, in that case there will be no nodename and hence the same logic would not apply. AFAIK we could also cover this case using just empty selector.
from k0smotron.
Interesting. We use AUTOPILOT_HOSTNAME
to prevent this kind of situations, but looks like, it doesn't always work as expected.
@a13x5 could you show us cluster configuration to run some tests?
The only thing I'm wondering, why do we even need to specify node names in the Plan, couldn't we just use empty selector?
We can't use empty selector, because sometimes there some "leftover" ControlNode objects in the workload cluster from the controllers that don't exist anymore. Autopilot will get stuck and the Plan
will never succeed.
It can be addressed by another reconciler, that will maintain ControlNode
list up to date, but for now I created #673 to use nodeRef
if it exists to fix the issue.
from k0smotron.
@makhov Sure thing here is a full yaml (.txt because of GH rules): k0s-standalone-aws.txt
I also should add that the ControlNode
has wrong hostname as well (IP is correct though)
apiVersion: autopilot.k0sproject.io/v1beta2
kind: ControlNode
metadata:
annotations:
autopilot.k0sproject.io/mode: controller+worker
creationTimestamp: "2024-08-12T17:13:06Z"
generation: 1
labels:
kubernetes.io/arch: amd64
kubernetes.io/hostname: aws-cl-1-cp-0
kubernetes.io/os: linux
name: aws-cl-1-cp-0
resourceVersion: "470"
uid: 1c3b5b23-2fd6-4a41-b935-e05bf013cba5
status:
addresses:
- address: 10.0.67.254
type: InternalIP
- address: aws-cl-1-cp-0
type: Hostname
from k0smotron.
@a13x5 thanks, now I understand, what's going on here. You are using controller+worker
node with --hostname-override
, which triggers a bug in k0s autopilot.
I've created an issue in k0s repo: k0sproject/k0s#4857
Unfortunately, this also means, that it can't be fixed just by using .status.nodeRef.name
. I'll try to figure out a proper solution for the issue.
from k0smotron.
Related Issues (20)
- Add service IP and FQDNs to the k0s config sans section for HCP
- Persistent volume resize
- RemoteMachine Setup: K0smotronControlPlane Etcd stuck restarting due to Rampant Reconciles HOT 4
- 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
- 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.