Bootstrap a Talos Linux cluster for Cozystack using talos-bootstrap

Bootstrap a Talos Linux cluster for Cozystack using talos-bootstrap

talos-bootstrap is an interactive script for bootstrapping Kubernetes clusters on Talos OS.

It was created by Ænix to simplify the installation of Talos Linux on bare metal nodes in a user-friendly manner.

Install dependencies:

  • talosctl
  • dialog
  • nmap

Preparation

Create a new directory for holding your cluster configuration

mkdir cluster1
cd cluster1

Write configuration for Cozystack:

cat > patch.yaml <<\EOT
machine:
  kubelet:
    nodeIP:
      validSubnets:
      - 192.168.100.0/24
    extraConfig:
      maxPods: 512
  kernel:
    modules:
    - name: openvswitch
    - name: drbd
      parameters:
        - usermode_helper=disabled
    - name: zfs
    - name: spl
  install:
    image: ghcr.io/aenix-io/cozystack/talos:v1.8.3
  files:
  - content: |
      [plugins]
        [plugins."io.containerd.grpc.v1.cri"]
          device_ownership_from_security_context = true
        [plugins."io.containerd.cri.v1.runtime"]
          device_ownership_from_security_context = true      
    path: /etc/cri/conf.d/20-customization.part
    op: create

cluster:
  network:
    cni:
      name: none
    dnsDomain: cozy.local
    podSubnets:
    - 10.244.0.0/16
    serviceSubnets:
    - 10.96.0.0/16
EOT

cat > patch-controlplane.yaml <<\EOT
cluster:
  allowSchedulingOnControlPlanes: true
  controllerManager:
    extraArgs:
      bind-address: 0.0.0.0
  scheduler:
    extraArgs:
      bind-address: 0.0.0.0
  apiServer:
    certSANs:
    - 127.0.0.1
  proxy:
    disabled: true
  discovery:
    enabled: false
  etcd:
    advertisedSubnets:
    - 192.168.100.0/24
EOT

Run talos-bootstrap to deploy the first node in a cluster:

talos-bootstrap install

Repeat the step for the other nodes in a cluster.

Now follow Get Started guide starting from the Install Cozystack section, to continue the installation.

Last modified 2024-12-04: add keycloak doc (#51) (0a8e373)