Comments (7)
@FischerLGLN thank you very much. The problem comes from the automated setting of the nameservers from the hcloud cloud-init scripts. These are automatically executed by startup. These set a total of 4 nameservers. However, many libraries like glibc can only handle 3 nameservers and i think the kubelet is using it under the hood...
In Fedora, however we cannot change the /etc/resolv.conf directly as it's managed by systemd with the NetworkManager.
You have two options. Fixing it by providing a custom resolv.conf only for the kubelet and pointing to it by providing the kubelet flag --resolv-conf=/etc/kubernetes/resolv.conf
.
Therefore add something like this:
cat <<'EOF' >/etc/kubernetes/resolv.conf
nameserver 1.1.1.1
nameserver 1.0.0.1
nameserver 2606:4700:4700::1111
EOF
And/or by changing the node-wide dns settings.
You could use such a script:
cat <<'EOF' >/opt/set-dns-servers.sh
#!/usr/bin/env bash
nmcli -g name,type connection show --active | awk -F: '/ethernet/ { print $1 }' | while read connection
do
nmcli con mod "$connection" ipv6.ignore-auto-dns yes
nmcli con mod "$connection" ipv4.ignore-auto-dns yes
nmcli con mod "$connection" ipv4.dns "1.1.1.1 1.0.0.1"
nmcli con mod "$connection" ipv6.dns "2606:4700:4700::1111"
nmcli con down "$connection" && nmcli con up "$connection"
done
EOF
P.S. If you like the project please leave a ⭐ ;)
from cluster-api-provider-hetzner.
@FischerLGLN you're welcome! Also check out this helm chart for more "natural" usage of capi with hetzner: https://github.com/syself/charts/tree/main/charts/capi-cr
We will also release a new helm chart for hcloud CSI in the next days in the same mentioned repo.
from cluster-api-provider-hetzner.
@batistein Thanks for the quick fix!
I'll test more features like CSI and additional CNI like Calico and come back here for questions and providing ideas.
cluster-api feels more natural than using terraform.
from cluster-api-provider-hetzner.
@batistein okay, so I could use the helm chart to be more flexible in kinds of worker node names, versioning in git for multiple target hetzner accounts and would avoid the
clusterctl generate ...
loop.
Can't wait for autoscaling to integrate with cluster-api: kubernetes-sigs/cluster-api#5658
Regarding CSI, Hetzner is mentioning a limit here: https://www.hetzner.com/cloud
With our flexible scalable volumes, each cloud server can be expanded with additional SSD-based storage as needed. Volumes of up to 10TB and up to 16 volumes per cloud server means our volumes are suitable for memory-intensive applications.
Would you recommend to create more smaller nodes to allow more apps to reserve a PersistentVolume?
from cluster-api-provider-hetzner.
@FischerLGLN right this would avoid the clusterctl generate ;)
Autoscaling is already implemented see: https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/clusterapi/README.md
For the beginning more smaller nodes later if you have round about 30 nodes it makes more sense to have bigger ones. But only in terms of Volumes and HA. From price perspective that's not the best.
from cluster-api-provider-hetzner.
So Google points here. Hetzner seems to by default set 4 nameservers, that is two nameservers per IPv4 and IPv6 each. This is cleary mis-configuration but it's built into the Ubuntu22 image apparently?
Please fix? Or what am I not getting?
from cluster-api-provider-hetzner.
@MichaelVoelkel this is a mis-configuration in the base image. The above fix could be used in the configuration to avoid the error.
from cluster-api-provider-hetzner.
Related Issues (20)
- Show messages on the boot screen: For example if a partition can't get mounted.
- Link Checker Dashboard HOT 1
- add notes about having ccm and CNI installed
- Make list of Go imports that we use aliases for and update golangci-lint
- avoid warnings around finalizers HOT 1
- Advanced Baremetal guide HOT 1
- Guide how to upgrade clusters
- Document advanced configuration options
- Wrong condition is sometimes shown when HetznerBareMetalHost deprovisions
- HetznerBareMetalHost hangs in deprovisioning state if not fully provisioned
- Handle 403 error from Robot API when API credentials are wrong
- Multiple SSH key support for robot HOT 6
- I created a k8s cluster with cluster api and hezner provider, but the cluster never acheive the working state HOT 4
- unit-test for validateRootDeviceWwnsAreSubsetOfExistingWwns()
- Remove whitespace at the end of storage.vendor (hbmh)
- confusing hcloudmachinetemplate controller error when using k0s HOT 5
- HetznerBaremetalHosts stuck in: host is still provisioning - state "registering" HOT 7
- Add documentation for ssh secret name specified in secret after PR #1289
- How to enable basic Firewall settings for K8s Cluster, which was created using CAPI? HOT 3
- Network problem on node pool workloads-1 with access to the attached network HOT 3
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 cluster-api-provider-hetzner.