kubernetes/terraform: several updates

This commit is contained in:
Jan Novak
2026-01-14 14:49:19 +01:00
parent 90a44bd59f
commit 76e3ff9d03
9 changed files with 74 additions and 10 deletions

View File

@@ -0,0 +1,13 @@
```bash
flux bootstrap gitea \
--owner=kacerr \
--repository=home-kubernetes \
--branch=main \
--path=gitops/home-kubernetes \
--hostname=gitea.home.hrajfrisbee.cz \
--personal \
--token-auth
flux token: 0917566fe2c7d11cb7b46618f076003f92477352
```

View File

@@ -0,0 +1,3 @@
```bash
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
```

View File

@@ -34,8 +34,8 @@ driver:
targetGroupInitiatorGroup: 1 targetGroupInitiatorGroup: 1
targetGroupAuthType: "None" targetGroupAuthType: "None"
zfs: zfs:
datasetParentName: "pool-6g/tank/k8s/vols" datasetParentName: "raid-1-4g/tank/k8s/vols"
detachedSnapshotsDatasetParentName: "pool-6g/tank/k8s/snaps" detachedSnapshotsDatasetParentName: "raid-1-4g/tank/k8s/snaps"
storageClasses: storageClasses:
- name: freenas-iscsi - name: freenas-iscsi

View File

@@ -27,8 +27,8 @@ driver:
targetGroupInitiatorGroup: 1 targetGroupInitiatorGroup: 1
targetGroupAuthType: "None" targetGroupAuthType: "None"
zfs: zfs:
datasetParentName: "pool-6g/tank/k8s/vols" datasetParentName: "raid-1-4g/tank/k8s/vols"
detachedSnapshotsDatasetParentName: "pool-6g/tank/k8s/snaps" detachedSnapshotsDatasetParentName: "raid-1-4g/tank/k8s/snaps"
storageClasses: storageClasses:
- name: freenas-iscsi - name: freenas-iscsi

View File

@@ -229,9 +229,9 @@ resource "libvirt_volume" "cloudinit" {
resource "libvirt_domain" "master" { resource "libvirt_domain" "master" {
provider = libvirt.kvm-homer provider = libvirt.kvm-homer
name = local.master_vm_name name = local.master_vm_name
memory = "2048" memory = "4096"
memory_unit = "MiB" memory_unit = "MiB"
vcpu = 2 vcpu = 3
type = "kvm" type = "kvm"
autostart = true autostart = true
running = true running = true

View File

@@ -133,6 +133,17 @@ locals {
source <(kubectl completion bash) source <(kubectl completion bash)
complete -o default -F __start_kubectl k complete -o default -F __start_kubectl k
- path: /etc/systemd/system/kubelet.service.d/10-containerd.conf
content: |
[Unit]
After=containerd.service
Requires=containerd.service
[Service]
ExecStartPre=/bin/bash -c 'until [ -S /var/run/containerd/containerd.sock ]; do sleep 1; done'
ExecStartPre=/usr/bin/crictl info
runcmd: runcmd:
- systemctl enable --now qemu-guest-agent - systemctl enable --now qemu-guest-agent
- systemctl enable --now ssh - systemctl enable --now ssh
@@ -151,6 +162,16 @@ locals {
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
- echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list - echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list
- apt-get update && apt-get install -y containerd.io - apt-get update && apt-get install -y containerd.io
- |
cat > /etc/containerd/config.toml <<'CONTAINERD'
version = 2
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
runtime_type = "io.containerd.runc.v2"
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
SystemdCgroup = true
[plugins."io.containerd.grpc.v1.cri".registry]
config_path = "/etc/containerd/certs.d"
CONTAINERD
- systemctl restart containerd - systemctl restart containerd
# kubeadm/kubelet/kubectl v1.32 # kubeadm/kubelet/kubectl v1.32
@@ -215,6 +236,10 @@ resource "libvirt_domain" "node_02" {
autostart = true autostart = true
running = true running = true
cpu = {
mode = "host-passthrough"
}
os = { os = {
type = "hvm" type = "hvm"
type_arch = "x86_64" type_arch = "x86_64"

View File

@@ -133,6 +133,17 @@ locals {
source <(kubectl completion bash) source <(kubectl completion bash)
complete -o default -F __start_kubectl k complete -o default -F __start_kubectl k
- path: /etc/systemd/system/kubelet.service.d/10-containerd.conf
content: |
[Unit]
After=containerd.service
Requires=containerd.service
[Service]
ExecStartPre=/bin/bash -c 'until [ -S /var/run/containerd/containerd.sock ]; do sleep 1; done'
ExecStartPre=/usr/bin/crictl info
runcmd: runcmd:
- systemctl enable --now qemu-guest-agent - systemctl enable --now qemu-guest-agent
- systemctl enable --now ssh - systemctl enable --now ssh
@@ -151,6 +162,15 @@ locals {
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
- echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list - echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list
- apt-get update && apt-get install -y containerd.io - apt-get update && apt-get install -y containerd.io
- cat > /etc/containerd/config.toml <<'xEOF'
version = 2
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
runtime_type = "io.containerd.runc.v2"
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
SystemdCgroup = true
[plugins."io.containerd.grpc.v1.cri".registry]
config_path = "/etc/containerd/certs.d"
xEOF
- systemctl restart containerd - systemctl restart containerd
# kubeadm/kubelet/kubectl v1.32 # kubeadm/kubelet/kubectl v1.32
@@ -215,6 +235,9 @@ resource "libvirt_domain" "node_01" {
autostart = true autostart = true
running = true running = true
cpu = {
mode = "host-passthrough"
}
os = { os = {
type = "hvm" type = "hvm"
type_arch = "x86_64" type_arch = "x86_64"

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long