Refactor wild-cluster-config-generate script; remove --force option and improve cluster secrets generation. Add wild-cluster-node-boot-assets-download script for downloading Talos installer images and assets. Update wild-setup-cluster to integrate new boot asset download process and adjust configuration steps. Clean up wild-setup-services and update documentation for clarity on new processes.

This commit is contained in:
2025-07-06 14:34:58 -07:00
parent d1912af913
commit 93240f6300
8 changed files with 190 additions and 251 deletions

View File

@@ -27,7 +27,16 @@ cd ~
mkdir ~/my-wild-cloud
cd my-wild-cloud
wild-init
wild-setup-scaffold
```
## Download Cluster Node Boot Assets
We use Talos linux for node operating systems. Run this script to download the OS for use in the rest of the setup.
```bash
# Generate node boot assets (PXE, iPXE, ISO)
wild-cluster-node-boot-assets-download
```
## Dnsmasq
@@ -36,54 +45,70 @@ wild-init
- Ensure it is accessible with ssh.
```bash
wild-dnsmasq-install
# Install dnsmasq with PXE boot support
wild-dnsmasq-install --install
```
## Cluster Setup
### Cluster Infrastructure Setup
```bash
# ONE-TIME CLUSTER INITIALIZATION (run once per cluster)
./init-cluster.sh
# Configure network, cluster settings, and register nodes
wild-setup-cluster
```
### Join control nodes
This interactive script will:
- Configure network settings (router IP, DNS, DHCP range)
- Configure cluster settings (Talos version, schematic ID, MetalLB pool)
- Help you register control plane and worker nodes by detecting their hardware
- Generate machine configurations for each node
- Apply machine configurations to nodes
- Bootstrap the cluster after the first node.
Boot each nodes with Talos ISO in maintenance mode.
### Install Cluster Services
```bash
./detect-node-hardware.sh <maintenance-ip> <node-number>
./generate-machine-configs.sh
talosctl apply-config --insecure -n 192.168.8.168 --file final/controlplane-node-1.yaml
wild-setup-services
```
### Cluster bootstrap
After all control plane nodes are configured.
```bash
# Bootstrap the cluster using any control node
talosctl bootstrap --nodes 192.168.8.31 --endpoint 192.168.8.31
# Get kubeconfig
talosctl kubeconfig
# Verify cluster is ready
kubectl get nodes
```
### Cluster services
```bash
./setup/cluster/setup-all.sh
./setup/cluster/validate-setup.sh
```
## Installing Wild Cloud apps
## Installing Wild Cloud Apps
```bash
# List available applications
wild-apps-list
wild-app-fetch <app>
wild-app-config <app>
wild-app-deploy <app>
# Optional: Check in app templates.
# Deploy an application
wild-app-deploy <app-name>
# Check app status
wild-app-doctor <app-name>
# Remove an application
wild-app-delete <app-name>
```
## Individual Node Management
If you need to manage individual nodes:
```bash
# Generate patch for a specific node
wild-cluster-node-patch-generate <node-ip>
# Generate final machine config (uses existing patch)
wild-cluster-node-machine-config-generate <node-ip>
# Apply configuration with options
wild-cluster-node-up <node-ip> [--insecure] [--skip-patch] [--dry-run]
```
## Asset Management
```bash
# Download/cache boot assets (kernel, initramfs, ISO, iPXE)
wild-cluster-node-boot-assets-download
# Install dnsmasq with specific schematic
wild-dnsmasq-install --schematic-id <id> --install
```