-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for Cloud-Init network-config file in 'nocloud' format #51
Comments
As I can see, you're trying to use Talos as a control-plane and bootstrap provider. |
Thanks for changing my submission with type 'support'. |
Hmmm, I don't know how Talos load the cloud-init iso, If you know something, I can help you add support for Talos. |
As far as I know, Talos expects cloud-init datasource to be in "nocloud" format. In this format, network-config file can't start with "network:". |
A couple of usefull links: |
Will check this out |
This is the console output of Talos NoCloud booting image regarding the issue:
|
I will check this if it works with other netplans distros, and then I will implement it |
I'm really looking forward to hearing good news from you. |
I will test it on ubuntu but can you tested on Talos, |
What am I supposed to test? Release 0.1.1? |
Currently, we support only Netplan-based distros, If someone wants to take effort and add this, it will be great. |
OK. It was expected. |
We will try to support this soon. |
I would like to share my experience about using CAPMOX with TALOS.
TALOS dislikes defining static routes in place of gateways and perhaps even defining nameservers for each device. |
Thanks for sharing, |
We have released a new version. |
I'm trying to make nocloud template string work like the netplan one as much as possible. But there is an issue. |
Oh, no |
I will create new issue, so we can take this as a feature to support multiple cloud-init network-config. However, DHCP will be included in the next release, i don't know if that helps you. |
Issue is added |
One workaround I've found is to add an illegal gateway (169.254.255.254 for example). Cluster-api-provider-ipam-in-cluster will accept this, and netplan will ignore it when applying with a warning. |
I have been trying to get the talos bootstrap provider and proxmox infrastructure provider together the whole morning. Running into the network-config metadata version=0 is not supported issue... So glad to finally find this github issue about it, meaning that I probably did nothing wrong in my configuration :) Has there been any progress on the topic since January? Could possibly some sort of variable be added that makes it generate the cidata in the nocloud format such that it is compatible with talos? |
Unfortunately not. We don't use Talos and as such we can't commit to adding support for it. Patches welcome, of course, and we are more than happy to accept additional maintainers :-) |
CAPMOX works well with TALOS. But it needs some patches to the CAPMOX's code.
It's not tested against vrf. My use case is two ethernets, public and private. |
Thanks! This patch appears to be working. I am now getting past the point where it was complaining that: "network-config metadata version=0 is not supported" :) On a related point, how are you setting up the initial network for the control plane using Talos and Proxmox? I am attempting to use the VIP solution built into Talos but it seems to not be working... If you don't mind it would be very nice to see an example of your TalosControlPlane and ProxmoxCluster objects |
For networking I use Cilium without kube-proxy.
|
@ricottatosta Thank you for this - can you submit it as a PR, please? |
After commenting PR #290, here is a recap of the issue. |
After reading the relative issue on Talos I guess there is no need for further discussion. Talos is going to support cloud-init format, isn't it? thanks to @ekarlso. |
Better. Talos 1.8.1 already supports it! Thank you all! |
̶I̶ ̶r̶e̶m̶o̶v̶e̶d̶ ̶y̶o̶u̶r̶ ̶p̶a̶t̶c̶h̶ ̶f̶r̶o̶m̶ ̶m̶y̶ ̶s̶e̶t̶u̶p̶ ̶a̶n̶d̶ ̶r̶e̶i̶n̶i̶t̶i̶a̶l̶i̶z̶e̶d̶ ̶t̶h̶e̶ ̶c̶l̶u̶s̶t̶e̶r̶ ̶w̶i̶t̶h̶ ̶t̶a̶l̶o̶s̶ ̶1̶.̶8̶.̶3̶ ̶a̶n̶d̶ ̶i̶t̶ ̶a̶l̶l̶ ̶j̶u̶s̶t̶ ̶a̶p̶p̶e̶a̶r̶s̶ ̶t̶o̶ ̶w̶o̶r̶k̶.̶ ̶N̶i̶c̶e̶ ̶f̶i̶n̶d̶!̶ ̶:̶+̶1̶:̶ ̶ Never mind, I have some issues related to the network setup. Maybe related to #291, the nodes appear to come up and start (no crash loop like we had before), however, it seems to fail at creating the vip for the control plane: |
@isZumpo try to add the skipCloudInitStatus and skipQemuGuestAgent |
Appears to be working 🥳 For those who run into the same issue, these are the fields which @mcbenjemaa mentions: apiVersion: infrastructure.cluster.x-k8s.io/v1alpha1
kind: ProxmoxMachineTemplate
metadata:
name: talos-cluster-worker
spec:
template:
spec:
...
checks:
skipQemuGuestAgent: true
skipCloudInitStatus: true However, there is one issue with the above solution, it is not bundled with any recent release of this provider yet. Perhaps time for a new release? Until then, getting it installed is quite tricky. I am using the cluster-api-operator to declaratively install everything cluster-api related. Had to make a release in my fork of this repo, tweak the release files a bit, and point my InfrastructureProvider towards it like this: apiVersion: operator.cluster.x-k8s.io/v1alpha2
kind: InfrastructureProvider
metadata:
name: proxmox
namespace: proxmox-infrastructure-system
spec:
version: v0.5.2
fetchConfig:
url: https://github.com/isZumpo/cluster-api-provider-proxmox/releases/latest/infrastructure-components.yaml Will make a PR soon which makes the fork release process a bit smoother for those who also use cluster-api-operator. |
@isZumpo do you have any example repos anywhere which show how you deploy Talos clusters using this provider? I'm currently using Sidero on Proxmox but I'd love to use CAPMOX as it would be cleaner - I'm just struggling a little to get my head around which components I need. |
@glitchcrab check this repo; it has some instructions, but it's not complete. I hope @ekarlso can finish it 😅 |
I have a working setup here: https://github.com/broersma-forslund/homelab/tree/main/apps/infrastructure |
What steps did you take and what happened:
Sorry I submit this as a bug, but maybe it isn't.
When deploying a cluster with Talos as provider for bootstrap and controlplane, Talos' init process finds a cloud-init drive, but then complains about network-config file. Talos' error says: "network-config metadata version=0 is not supported", maybe because it starts with "network:". Is it supported? Reading the manual, it shouldn't.
cloud-init manual
What did you expect to happen:
Maybe cluster deployment should generate a network-config file starting without a top level "network:".
Environment:
kubectl version
): 1.28.3/etc/os-release
): Talos 1.5.5The text was updated successfully, but these errors were encountered: