longhorn
k3sup
Our great sponsors
longhorn | k3sup | |
---|---|---|
59 | 48 | |
4,386 | 5,019 | |
3.2% | - | |
8.2 | 6.9 | |
7 days ago | about 1 month ago | |
Shell | Go | |
Apache License 2.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
longhorn
-
Just finished migrating my old tower servers to a Kubernetes cluster on my new rack!
For my primary CSI provider, I use Longhorn, and to administrate my clusters, I use the Kubernetes Dashboard. In front of all of my private dashboards, I use Traefik Forward Auth to limit who can access them.
-
NAS on a cluster
Maybe with https://longhorn.io
-
TopoLVM to provide local storage
For data must be protected, I use Longhorn https://longhorn.io/ which is basically iSCSI/NFS with replication.
-
Homelab and Long Term Data Integrity?
Backups are definitely necessary. The problem though is that you cant detect by default if you are backing up corrupted data. By now i found three approaches: 1. Use a filesystem that detects and fixes errors (e. g. btrfs or zfs) 2. Use par2 (parchive) to generate checksums on your files manually 3. I found the following issue on the k8s storage solution I currently use: https://github.com/longhorn/longhorn/issues/3198 For now I am waiting for option 3 getting merged. In the long run I will upgrade my laptop to btrfs and for now use par2. Hope that provides a starting point. Feel free to add your ideas!
-
Change SSH port
You can use the Longhorn iSCSI installer script as an example. https://github.com/longhorn/longhorn/blob/master/deploy/prerequisite/longhorn-iscsi-installation.yaml
-
Learning with K3s at home. "Best" storage option for a single-node cluster?
Rancher's Longhorn (even though it's only a single-node)
-
Running Kubernetes cluster locally to self host a bunch of applications along with a DNS server
Application storage now: yes, NAS is probably the best way to go about it. I believe k3s uses some kind of "local storage" by default but there's plenty of alternative Container Storage Interfaces (CSI) out there. Longhorn worked well for me and it covers most uses cases I care about: snapshots, backups, and replication. I don't know about any "NAS providers" though, and once again there will be performance drawbacks with having your storage that externalized.
-
Advice on system design best practices?
For me longhorn works really well as my storage backend.
-
Install and configure a high available Kubernetes cluster with Ansible
Longhorn is a lightweight, reliable, and powerful distributed block storage system for Kubernetes.
-
What selfhosted packages are you using?
You mentioned storage... That's always tricky but provisioning persistent volumes with https://longhorn.io is really simple... It's also easy to setup, the helm chart is wonderful
k3sup
-
Despliega un clúster de Kubernetes en segundos con k3sup
$ curl -sLS https://get.k3sup.dev | sh x86_64 Downloading package https://github.com/alexellis/k3sup/releases/download/0.12.12/k3sup as /home/ec2-user/k3sup Download complete. ============================================================ The script was run as a user who is unable to write to /usr/local/bin. To complete the installation the following commands may need to be run manually. ============================================================ sudo cp k3sup /usr/local/bin/k3sup ================================================================ alexellis's work on k3sup needs your support https://github.com/sponsors/alexellis ================================================================ No nos devolverá nada, pero podremos correr lo siguiente para saber si k3sup efectivamente se instalo:
-
I rewrote my tool to create clusters in Hetzner in Crystal
I am used to k3sup https://github.com/alexellis/k3sup, this project seems to provide more tuning configs.
-
Accéder à l’ensemble du cluster Kubernetes avec Tailscale …
[email protected]:~# curl -sLS https://get.k3sup.dev | sh x86_64 Downloading package https://github.com/alexellis/k3sup/releases/download/0.12.12/k3sup as /tmp/k3sup Download complete. Running with sufficient permissions to attempt to move k3sup to /usr/local/bin New version of k3sup installed to /usr/local/bin _ _____ | | _| ___/___ _ _ _ __ | |/ / |_ \/ __| | | | '_ \ | < ___) \__ \ |_| | |_) | |_|\_\ ____/|___ /\ __,_| .__ / |_| bootstrap K3s over SSH in < 60s 🚀 🐳 k3sup needs your support: https://github.com/sponsors/alexellis Version: 0.12.12 Git Commit: 02c7a775b9914b9dcf3b90fa7935eb347b7979e7 ================================================================ alexellis's work on k3sup needs your support https://github.com/sponsors/alexellis ================================================================ [email protected]:~# k3sup --help Usage: k3sup [flags] k3sup [command] Examples: # Install k3s on a server with embedded etcd k3sup install \ --cluster \ --host $SERVER_1 \ --user $SERVER_1_USER \ --k3s-channel stable # Join a second server k3sup join \ --server \ --host $SERVER_2 \ --user $SERVER_2_USER \ --server-host $SERVER_1 \ --server-user $SERVER_1_USER \ --k3s-channel stable # Join an agent to the cluster k3sup join \ --host $SERVER_1 \ --user $SERVER_1_USER \ --k3s-channel stable 🐳 k3sup needs your support: https://github.com/sponsors/alexellis Available Commands: completion Generate the autocompletion script for the specified shell help Help about any command install Install k3s on a server via SSH join Install the k3s agent on a remote host and join it to an existing server ready Check if a cluster is ready using kubectl. update Print update instructions version Print the version Flags: -h, --help help for k3sup Use "k3sup [command] --help" for more information about a command. [email protected]:~# export IP=10.137.67.183 [email protected]:~# k3sup install --ip $IP --user ubuntu Running: k3sup install 2022/12/25 14:30:07 10.137.67.183 Public IP: 10.137.67.183 [INFO] Finding release for channel stable [INFO] Using v1.25.4+k3s1 as release [INFO] Downloading hash https://github.com/k3s-io/k3s/releases/download/v1.25.4+k3s1/sha256sum-amd64.txt [INFO] Downloading binary https://github.com/k3s-io/k3s/releases/download/v1.25.4+k3s1/k3s [INFO] Verifying binary download [INFO] Installing k3s to /usr/local/bin/k3s [INFO] Skipping installation of SELinux RPM [INFO] Creating /usr/local/bin/kubectl symlink to k3s [INFO] Creating /usr/local/bin/crictl symlink to k3s [INFO] Creating /usr/local/bin/ctr symlink to k3s [INFO] Creating killall script /usr/local/bin/k3s-killall.sh [INFO] Creating uninstall script /usr/local/bin/k3s-uninstall.sh [INFO] env: Creating environment file /etc/systemd/system/k3s.service.env [INFO] systemd: Creating service file /etc/systemd/system/k3s.service [INFO] systemd: Enabling k3s unit Created symlink /etc/systemd/system/multi-user.target.wants/k3s.service → /etc/systemd/system/k3s.service. [INFO] systemd: Starting k3s Result: [INFO] Finding release for channel stable [INFO] Using v1.25.4+k3s1 as release [INFO] Downloading hash https://github.com/k3s-io/k3s/releases/download/v1.25.4+k3s1/sha256sum-amd64.txt [INFO] Downloading binary https://github.com/k3s-io/k3s/releases/download/v1.25.4+k3s1/k3s [INFO] Verifying binary download [INFO] Installing k3s to /usr/local/bin/k3s [INFO] Skipping installation of SELinux RPM [INFO] Creating /usr/local/bin/kubectl symlink to k3s [INFO] Creating /usr/local/bin/crictl symlink to k3s [INFO] Creating /usr/local/bin/ctr symlink to k3s [INFO] Creating killall script /usr/local/bin/k3s-killall.sh [INFO] Creating uninstall script /usr/local/bin/k3s-uninstall.sh [INFO] env: Creating environment file /etc/systemd/system/k3s.service.env [INFO] systemd: Creating service file /etc/systemd/system/k3s.service [INFO] systemd: Enabling k3s unit [INFO] systemd: Starting k3s Created symlink /etc/systemd/system/multi-user.target.wants/k3s.service → /etc/systemd/system/k3s.service. Saving file to: /root/kubeconfig # Test your cluster with: export KUBECONFIG=/root/kubeconfig kubectl config use-context default kubectl get node -o wide 🐳 k3sup needs your support: https://github.com/sponsors/alexellis [email protected]:~# export AGENT1_IP=10.137.67.177 [email protected]:~# k3sup join --ip $AGENT1_IP --server-ip $IP --user ubuntu Running: k3sup join Server IP: 10.137.67.183 K107122269d6d9c54733f9c835439e668a98b6b0a9c5b9cc7ce7272b0cc9b294b09::server:ccc6e02aac3498cabc1b8ab7b3f334c1 [INFO] Finding release for channel stable [INFO] Using v1.25.4+k3s1 as release [INFO] Downloading hash https://github.com/k3s-io/k3s/releases/download/v1.25.4+k3s1/sha256sum-amd64.txt [INFO] Downloading binary https://github.com/k3s-io/k3s/releases/download/v1.25.4+k3s1/k3s [INFO] Verifying binary download [INFO] Installing k3s to /usr/local/bin/k3s [INFO] Skipping installation of SELinux RPM [INFO] Creating /usr/local/bin/kubectl symlink to k3s [INFO] Creating /usr/local/bin/crictl symlink to k3s [INFO] Creating /usr/local/bin/ctr symlink to k3s [INFO] Creating killall script /usr/local/bin/k3s-killall.sh [INFO] Creating uninstall script /usr/local/bin/k3s-agent-uninstall.sh [INFO] env: Creating environment file /etc/systemd/system/k3s-agent.service.env [INFO] systemd: Creating service file /etc/systemd/system/k3s-agent.service [INFO] systemd: Enabling k3s-agent unit Created symlink /etc/systemd/system/multi-user.target.wants/k3s-agent.service → /etc/systemd/system/k3s-agent.service. [INFO] systemd: Starting k3s-agent Logs: Created symlink /etc/systemd/system/multi-user.target.wants/k3s-agent.service → /etc/systemd/system/k3s-agent.service. Output: [INFO] Finding release for channel stable [INFO] Using v1.25.4+k3s1 as release [INFO] Downloading hash https://github.com/k3s-io/k3s/releases/download/v1.25.4+k3s1/sha256sum-amd64.txt [INFO] Downloading binary https://github.com/k3s-io/k3s/releases/download/v1.25.4+k3s1/k3s [INFO] Verifying binary download [INFO] Installing k3s to /usr/local/bin/k3s [INFO] Skipping installation of SELinux RPM [INFO] Creating /usr/local/bin/kubectl symlink to k3s [INFO] Creating /usr/local/bin/crictl symlink to k3s [INFO] Creating /usr/local/bin/ctr symlink to k3s [INFO] Creating killall script /usr/local/bin/k3s-killall.sh [INFO] Creating uninstall script /usr/local/bin/k3s-agent-uninstall.sh [INFO] env: Creating environment file /etc/systemd/system/k3s-agent.service.env [INFO] systemd: Creating service file /etc/systemd/system/k3s-agent.service [INFO] systemd: Enabling k3s-agent unit [INFO] systemd: Starting k3s-agent 🐳 k3sup needs your support: https://github.com/sponsors/alexellis [email protected]:~# export AGENT2_IP=10.137.67.222 [email protected]:~# k3sup join --ip $AGENT2_IP --server-ip $IP --user ubuntu Running: k3sup join Server IP: 10.137.67.183 K107122269d6d9c54733f9c835439e668a98b6b0a9c5b9cc7ce7272b0cc9b294b09::server:ccc6e02aac3498cabc1b8ab7b3f334c1 [INFO] Finding release for channel stable [INFO] Using v1.25.4+k3s1 as release [INFO] Downloading hash https://github.com/k3s-io/k3s/releases/download/v1.25.4+k3s1/sha256sum-amd64.txt [INFO] Downloading binary https://github.com/k3s-io/k3s/releases/download/v1.25.4+k3s1/k3s [INFO] Verifying binary download [INFO] Installing k3s to /usr/local/bin/k3s [INFO] Skipping installation of SELinux RPM [INFO] Creating /usr/local/bin/kubectl symlink to k3s [INFO] Creating /usr/local/bin/crictl symlink to k3s [INFO] Creating /usr/local/bin/ctr symlink to k3s [INFO] Creating killall script /usr/local/bin/k3s-killall.sh [INFO] Creating uninstall script /usr/local/bin/k3s-agent-uninstall.sh [INFO] env: Creating environment file /etc/systemd/system/k3s-agent.service.env [INFO] systemd: Creating service file /etc/systemd/system/k3s-agent.service [INFO] systemd: Enabling k3s-agent unit Created symlink /etc/systemd/system/multi-user.target.wants/k3s-agent.service → /etc/systemd/system/k3s-agent.service. [INFO] systemd: Starting k3s-agent Logs: Created symlink /etc/systemd/system/multi-user.target.wants/k3s-agent.service → /etc/systemd/system/k3s-agent.service. Output: [INFO] Finding release for channel stable [INFO] Using v1.25.4+k3s1 as release [INFO] Downloading hash https://github.com/k3s-io/k3s/releases/download/v1.25.4+k3s1/sha256sum-amd64.txt [INFO] Downloading binary https://github.com/k3s-io/k3s/releases/download/v1.25.4+k3s1/k3s [INFO] Verifying binary download [INFO] Installing k3s to /usr/local/bin/k3s [INFO] Skipping installation of SELinux RPM [INFO] Creating /usr/local/bin/kubectl symlink to k3s [INFO] Creating /usr/local/bin/crictl symlink to k3s [INFO] Creating /usr/local/bin/ctr symlink to k3s [INFO] Creating killall script /usr/local/bin/k3s-killall.sh [INFO] Creating uninstall script /usr/local/bin/k3s-agent-uninstall.sh [INFO] env: Creating environment file /etc/systemd/system/k3s-agent.service.env [INFO] systemd: Creating service file /etc/systemd/system/k3s-agent.service [INFO] systemd: Enabling k3s-agent unit [INFO] systemd: Starting k3s-agent 🐳 k3sup needs your support: https://github.com/sponsors/alexellis
-
Building The Cluster: First Steps
There is a convenience utility for K3S called k3sup.
-
K3s Knative Ubuntu Raspberry Pi
From my laptop, not one of the Raspberry Pi nodes, run k3sup, it's super easy. If you haven't figured it out by now, I'm a big fan of k3sup.
-
Best way to install and use kubernetes for learning
Best way to install it is ketchup: https://github.com/alexellis/k3sup
-
Spin up a bare metal cluster in 2022
Personal preference, Terraform the relevant Ubuntu VM's (spec according to requirements) and then use K3 sup (https://github.com/alexellis/k3sup) and remove klipper and traefik using the relevant switches
-
Kubernetes Cluster with Cluster-API on Hetzner
it works fine for me. I use k3sup https://github.com/alexellis/k3sup and some terraform provisioning scripts.
-
Move to K8s for hosting at home?
I have enjoyed using k3s and k3sup for running my at home cluster.
-
Bare Metal Solutions
I use https://k3s.io and it's super simple. You will have a basic cluster running in less than 5 minutes. There's even an unofficial installer for it (https://github.com/alexellis/k3sup) which makes the bootstrapping even easier.
What are some alternatives?
rook - Storage Orchestration for Kubernetes
nfs-subdir-external-provisioner - Dynamic sub-dir volume provisioner on a remote NFS server.
zfs-localpv - CSI Driver for dynamic provisioning of Persistent Local Volumes for Kubernetes using ZFS.
k3d - Little helper to run CNCF's k3s in Docker
k3s-ansible
truecharts - Community App Catalog for TrueNAS SCALE [Moved to: https://github.com/truecharts/charts]
postgres-operator - Production PostgreSQL for Kubernetes, from high availability Postgres clusters to full-scale database-as-a-service.
k3s - Lightweight Kubernetes
nfs-ganesha-server-and-external-provisioner - NFS Ganesha Server and Volume Provisioner.
multipass - Multipass orchestrates virtual Ubuntu instances
loki - Like Prometheus, but for logs.
metallb - A network load-balancer implementation for Kubernetes using standard routing protocols