Commit Graph

285 Commits

Author SHA1 Message Date
Khue Doan
0a7aa2e6d7 chore(cilium): upgrade to v1.16.1 2024-09-05 01:37:48 +07:00
Khue Doan
c14729cc4a chore(pxe): remove deprecated Docker Compose version field 2024-09-05 01:37:15 +07:00
Khue Doan
eceebec57c chore(k3s): upgrade to Kubernetes 1.30 2024-09-02 12:18:36 +07:00
Khue Doan
84bd288b6f refactor(pxe): switch Docker Compose module to v2 2024-09-02 12:07:44 +07:00
Khue Doan
9966e23a03 perf(metal): increase root partition size
32GiB gets filled fairly quickly.
2024-03-26 23:34:54 +07:00
Khue Doan
4d6c67183e feat(cilium): enable Hubble UI
Use kubectl port-forward instead of Ingress to access the UI to
avoid chicken and eggs issues, since ingress controller will be
installed after Cilium.
2024-03-25 20:01:04 +07:00
Khue Doan
b4ba7ea6e2 refactor!: replace Longhorn with Rook Ceph
Longhorn is too unreliable for some reason.
2024-03-12 07:55:24 +07:00
Khue Doan
4a4828f20b chore(deps): update all non-major dependencies 2024-03-03 00:20:54 +07:00
Khue Doan
6a2fa43e34 chore(metal): upgrade to latest stable Cilium 2024-02-16 23:17:26 +07:00
Khue Doan
ce868c27dc chore(cilium): upgrade to v1.15 RC1
For l2announcer bug fix.
2024-02-04 10:07:44 +07:00
Khue Doan
0ceb426cd5 fix(k3s): re-enable cloud controller manager
Otherwise the first node will use kube-vip's IP as its InternalIP,
causing issues with Kube API certificate due to an incorrect IP.

K3s's CCM does more than I thought, it not only handles Klipper LB but
also sets node InternalIP/ExternalIP and clears the uninitialized taint.

https://github.com/k3s-io/docs/blob/main/docs/networking.md#deploying-an-external-cloud-controller-manager
2024-01-18 17:48:31 +07:00
Khue Doan
376f0e1b92 perf(metal): tune some kernel params for Kubernetes
The default values are too low, you may get an error in some cases
after a while (like viewing logs)
2024-01-18 17:31:23 +07:00
Khue Doan
23f695b8fb feat(k3s): install kube-vip for HA control plane 2024-01-16 12:34:22 +07:00
Khue Doan
d2dd44920f refactor(cilium): disable Cilium Ingress
Missing some L7 features compare to NGINX.
2024-01-04 09:30:52 +07:00
Khue Doan
66a7ea04ce fix(cilium): upgrade to v1.15 pre-release
For L2 Announcements bug fix, older version stops working after a
while.
2024-01-04 09:30:52 +07:00
Khue Doan
9f0d389abc feat!: install Cilium
Installed using Ansible instead of ArgoCD because Cilium replaces
the default CNI, so ArgoCD pod cannot be scheduled before Cilium
is installed.
2023-12-22 00:31:16 +07:00
Khue Doan
7c0a784501 fix(k3s): move stargz config to all nodes
Instead of just master nodes.
2023-12-21 12:14:23 +07:00
Khue Doan
774e6086b4 perf(k3s): enable image lazy pulling with eStargz
Note that this is experimental.

https://docs.k3s.io/advanced#enabling-lazy-pulling-of-estargz-experimental
2023-11-19 12:11:13 +07:00
Khue Doan
f4ee4be035 chore(k3s): upgrade to Kubernetes 1.28 2023-11-19 12:00:52 +07:00
Khue Doan
a361fe3b57 chore(metal): update OS image to Fedora 39 2023-11-19 11:00:58 +07:00
Khue Doan
c7c8f79dd9 feat(metal): add staging inventory 2023-05-31 19:07:14 +07:00
Khue Doan
a5ecaafe50 refactor(metallb)!: use CRD instead of ConfigMap
Deprecated https://metallb.universe.tf/configuration/migration_to_crds
2023-05-19 11:54:07 +07:00
Khue Doan
99651ecb2f fix: sync k3s version in system upgrade controller and k3d 2023-05-19 02:17:05 +07:00
Khue Doan
fa6322d4f5 chore(k3s)!: upgrade to Kubernetes 1.27 2023-05-18 11:58:33 +07:00
Khue Doan
ed4ef0bac4 chore(metal): upgrade Fedora to version 38 2023-05-18 11:58:15 +07:00
Khue Doan
f3eda41596 chore(metal): upgrade to Fedora 37 2023-02-22 18:33:31 +07:00
Khue Doan
3aef027670 perf(metal): don't restart PXE server on every run 2023-02-22 18:33:17 +07:00
Khue Doan
a8d1eb4412 chore(metal): reorder server list
Moved them in the rack
2023-02-22 18:32:57 +07:00
Khue Doan
6f7bff689a fix(k3s): go back to v1.24
Longhorn does not support v1.25 yet
2022-12-29 10:32:42 +07:00
Khue Doan
8e54f134de style(metal): clean up variable
Thanks to https://www.reddit.com/r/selfhosted/comments/s9otm7/comment/htqcwxn/?utm_source=share&utm_medium=web2x&context=3
2022-12-24 14:25:19 +07:00
Khue Doan
0e3394910c chore(metal): upgrade to k3s 1.25 2022-12-24 14:23:17 +07:00
Khue Doan
2aa84b7b56 fix(metal): fix deprecated ipaddr and ipsubnet 2022-12-24 14:21:54 +07:00
Khue Doan
005840c6e1 chore: update k3d config from dev branch 2022-10-22 12:35:16 +07:00
Khue Doan
4bf068b7f6 fix(pxe): ensure the controller is running on a supported OS 2022-10-21 23:53:13 +07:00
Khue Doan
12143551c7 fix(metal): always generate SSH key without passphrase
https://github.com/khuedoan/homelab/issues/92

Using SSH key with passphrase requires ssh-agent, which the tools
container doesn't have
https://stackoverflow.com/questions/50277495/how-to-run-an-ansible-playbook-with-a-passphrase-protected-ssh-private-key
2022-10-12 09:24:15 +07:00
Khue Doan
4ec027a1bc perf(metal): install just OpenSSH server
Instead of the entire Headless Management group
2022-07-27 19:05:14 +07:00
Khue Doan
022b8169db
refactor(metal): migrate to Fedora 36 for newer packages (#73) 2022-07-20 22:49:12 +07:00
Bourne-ID
f650c894b0
refactor(pxe)!: combine dhcpd and tftpd to dnsmasq (#69)
* Add DNSMasq as an opt-in option

* Default to original

* Remove commented commands

* Remove dhcpd, replaced with dnsmasq

* Remove dhcpd, replaced with dnsmasq

* Move to dnsmasq

* dnsmasq output to stdout

* dnsmasq

* dnsmasq

* Remove unused code, update tag

* Correct title

Co-authored-by: Khue Doan <khuedoan98@gmail.com>

* Remove TFTP

Co-authored-by: Khue Doan <khuedoan98@gmail.com>

* rename to Dnsmasq

Moving to use proxy by default

Co-authored-by: Khue Doan <khuedoan98@gmail.com>

* Rename for consistency

Co-authored-by: Khue Doan <khuedoan98@gmail.com>

* Correct terminology

Co-authored-by: Khue Doan <khuedoan98@gmail.com>

* formatting

Co-authored-by: Khue Doan <khuedoan98@gmail.com>

* Additional logging

* proxy-by-default

* naming consistency

* naming consistency

* Revert Dnsmasq proxy ask

* proxy enabled by default

* naming consistency

* naming consistency

* Formatting

Co-authored-by: Robin Bourne <robin.bourne@onepeloton.com>
Co-authored-by: Khue Doan <khuedoan98@gmail.com>
2022-07-18 01:39:02 +07:00
Khue Doan
cd41343580
refactor(docs): migrate to mkdocs (#68)
* refactor(docs): migrate to mkdocs

* More markdown

* Admonitions
2022-07-06 12:33:35 +07:00
Khue Doan
3b0b934df4 fix(metal): disable root password login
https://github.com/khuedoan/homelab/issues/63

Rocky Linux 8.6 requires root password to be set
2022-06-08 20:27:28 +07:00
Khue Doan
d4189337a8 Revert "fix(metal): temporarily revert to Rocky Linux 8.5"
This reverts commit 0e1ff60b10.
2022-06-08 20:27:12 +07:00
Khue Doan
0e1ff60b10 fix(metal): temporarily revert to Rocky Linux 8.5 2022-06-03 19:47:05 +07:00
Khue Doan
606c7ab46b
fix(metal): upgrade Rocky Linux to 8.6 and pin permanent URL
Fix https://github.com/khuedoan/homelab/issues/62
2022-05-19 00:18:29 +07:00
Khue Doan
cb87bbc690 style(metal): fix Ansible lint 2022-05-14 21:24:39 +07:00
Khue Doan
d16f56981b style(metal): forces color mode in Ansible 2022-05-14 21:01:32 +07:00
Khue Doan
0fadfaaf5e chore(k3s): upgrade to v1.23.6 2022-05-14 14:23:25 +07:00
Khue Doan
132cd58c90 chore(k3s): ugprade to latest patch 1.23.5 2022-04-28 11:51:44 +07:00
Khue Doan
062cdd5376 refactor!: switch dev environment from Vagrant to k3d 2022-04-04 03:21:42 +07:00
Renovate Bot
bda1382704 chore(deps): update dependency alpine to v20220316 2022-03-23 13:33:53 +00:00
Khue Doan
a7d3045150 chore(k3s): upgrade to 1.23.4 2022-03-14 20:38:01 +07:00