Created
April 23, 2025 20:12
-
-
Save qjoly/749efd2897e7d78bf829aafbe1d5b643 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha1 | |
kind: ProxmoxCluster | |
metadata: | |
name: proxmox-cluster | |
namespace: default | |
spec: | |
schedulerHints: | |
memoryAdjustment: 0 | |
allowedNodes: | |
- homelab-proxmox-02 | |
controlPlaneEndpoint: | |
host: 192.168.1.220 | |
port: 6443 | |
dnsServers: | |
- 8.8.8.8 | |
- 8.8.4.4 | |
ipv4Config: | |
addresses: | |
- 192.168.1.210-192.168.1.219 | |
gateway: 192.168.1.254 | |
prefix: 24 | |
--- | |
apiVersion: cluster.x-k8s.io/v1beta1 | |
kind: Cluster | |
metadata: | |
name: coffee-cluster | |
namespace: default | |
spec: | |
controlPlaneRef: | |
apiVersion: controlplane.cluster.x-k8s.io/v1alpha3 | |
kind: TalosControlPlane | |
name: talos-cp | |
infrastructureRef: | |
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha1 | |
kind: ProxmoxCluster | |
name: proxmox-cluster | |
--- | |
apiVersion: controlplane.cluster.x-k8s.io/v1alpha3 | |
kind: TalosControlPlane | |
metadata: | |
name: talos-cp | |
spec: | |
version: v1.32.0 | |
replicas: 1 | |
infrastructureTemplate: | |
kind: ProxmoxMachineTemplate | |
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha1 | |
name: control-plane-template | |
namespace: default | |
controlPlaneConfig: | |
controlplane: | |
generateType: controlplane | |
strategicPatches: | |
- | | |
- op: replace | |
path: /machine/install | |
value: | |
disk: /dev/sda | |
- op: add | |
path: /machine/kubelet/extraArgs | |
value: | |
cloud-provider: external | |
- op: add | |
path: /machine/features/kubernetesTalosAPIAccess | |
value: | |
enabled: true | |
allowedRoles: | |
- os:reader | |
allowedKubernetesNamespaces: | |
- kube-system | |
- op: add | |
path: /cluster/externalCloudProvider | |
value: | |
enabled: true | |
manifests: | |
- https://raw.githubusercontent.com/siderolabs/talos-cloud-controller-manager/main/docs/deploy/cloud-controller-manager.yml | |
- https://raw.githubusercontent.com/alex1989hu/kubelet-serving-cert-approver/main/deploy/standalone-install.yaml | |
- op: add | |
path: /machine/kubelet/extraArgs/rotate-server-certificates | |
value: "true" | |
- op: add | |
path: /machine/install/extraKernelArgs | |
value: | |
- net.ifnames=0 | |
- op: add | |
path: /machine/network/interfaces | |
value: | |
- interface: eth0 | |
dhcp: false | |
vip: | |
ip: 192.168.1.220 | |
--- | |
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha1 | |
kind: ProxmoxMachineTemplate | |
metadata: | |
name: control-plane-template | |
namespace: default | |
spec: | |
template: | |
spec: | |
disks: | |
bootVolume: | |
disk: scsi0 | |
sizeGb: 40 | |
format: qcow2 | |
full: true | |
memoryMiB: 2048 | |
network: | |
default: | |
bridge: vmbr0 | |
model: virtio | |
numCores: 2 | |
numSockets: 1 | |
sourceNode: homelab-proxmox-02 | |
templateID: 104 | |
checks: | |
skipCloudInitStatus: true | |
skipQemuGuestAgent: true | |
metadataSettings: | |
providerIDInjection: true | |
--- | |
apiVersion: cluster.x-k8s.io/v1beta1 | |
kind: MachineDeployment | |
metadata: | |
name: machinedeploy-workers | |
namespace: default | |
annotations: | |
cluster.x-k8s.io/cluster-api-autoscaler-node-group-min-size: "2" | |
cluster.x-k8s.io/cluster-api-autoscaler-node-group-max-size: "4" | |
spec: | |
clusterName: coffee-cluster | |
replicas: 2 | |
selector: | |
matchLabels: null | |
template: | |
spec: | |
bootstrap: | |
configRef: | |
apiVersion: bootstrap.cluster.x-k8s.io/v1alpha3 | |
kind: TalosConfigTemplate | |
name: talosconfig-workers | |
clusterName: coffee-cluster | |
infrastructureRef: | |
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha1 | |
kind: ProxmoxMachineTemplate | |
name: worker-template | |
version: v1.32.0 | |
--- | |
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha1 | |
kind: ProxmoxMachineTemplate | |
metadata: | |
name: worker-template | |
namespace: default | |
spec: | |
template: | |
spec: | |
disks: | |
bootVolume: | |
disk: scsi0 | |
sizeGb: 40 | |
format: qcow2 | |
full: true | |
memoryMiB: 2048 | |
network: | |
default: | |
bridge: vmbr0 | |
model: virtio | |
numCores: 2 | |
numSockets: 1 | |
sourceNode: homelab-proxmox-02 | |
templateID: 104 | |
checks: | |
skipCloudInitStatus: true | |
skipQemuGuestAgent: true | |
metadataSettings: | |
providerIDInjection: true | |
--- | |
apiVersion: bootstrap.cluster.x-k8s.io/v1alpha3 | |
kind: TalosConfigTemplate | |
metadata: | |
name: talosconfig-workers | |
spec: | |
template: | |
spec: | |
generateType: worker | |
talosVersion: v1.9 | |
configPatches: | |
- op: replace | |
path: /machine/install | |
value: | |
disk: /dev/sda | |
- op: add | |
path: /machine/kubelet/extraArgs | |
value: | |
cloud-provider: external |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment