Skip to content

Instantly share code, notes, and snippets.

@a5r0n
Created March 7, 2022 16:29
Show Gist options
  • Select an option

  • Save a5r0n/70e49c9cbfb774d95cbdc8548ca2f105 to your computer and use it in GitHub Desktop.

Select an option

Save a5r0n/70e49c9cbfb774d95cbdc8548ca2f105 to your computer and use it in GitHub Desktop.
apiVersion: cluster.x-k8s.io/v1beta1
kind: Cluster
metadata:
name: talos
namespace: default
spec:
clusterNetwork:
pods:
cidrBlocks:
- 10.244.0.0/16
controlPlaneRef:
apiVersion: controlplane.cluster.x-k8s.io/v1alpha3
kind: TalosControlPlane
name: talos-control-plane
infrastructureRef:
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
kind: HetznerCluster
name: talos
---
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
kind: HetznerCluster
metadata:
name: talos
namespace: default
spec:
controlPlaneEndpoint:
host: ""
port: 443
controlPlaneLoadBalancer:
region: fsn1
controlPlaneRegions:
- fsn1
hcloudNetwork:
enabled: true
hcloudPlacementGroups:
- name: control-plane
type: spread
- name: md-0
type: spread
hetznerSecretRef:
key:
hcloudToken: hcloud
name: hetzner
sshKeys:
hcloud:
- name: aaron@aaron-laptop
---
apiVersion: controlplane.cluster.x-k8s.io/v1alpha3
kind: TalosControlPlane
metadata:
name: talos-control-plane
namespace: default
spec:
controlPlaneConfig:
controlplane:
configPatches:
- op: add
path: /cluster/externalCloudProvider
value:
enabled: true
manifests:
- https://github.com/hetznercloud/hcloud-cloud-controller-manager/releases/latest/download/ccm-networks.yaml
generateType: controlplane
talosVersion: v0.14
infrastructureTemplate:
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
kind: HCloudMachineTemplate
name: talos-control-plane
replicas: 2
version: v1.23.4
---
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
kind: HCloudMachineTemplate
metadata:
name: talos-control-plane
namespace: default
spec:
template:
spec:
imageName: talos_hetzner
placementGroupName: control-plane
type: cpx21
---
apiVersion: cluster.x-k8s.io/v1beta1
kind: MachineHealthCheck
metadata:
name: talos-control-plane-unhealthy-5m
namespace: default
spec:
clusterName: talos
maxUnhealthy: 100%
selector:
matchLabels:
cluster.x-k8s.io/control-plane: ""
unhealthyConditions:
- status: Unknown
timeout: 300s
type: Ready
- status: "False"
timeout: 300s
type: Ready
---
apiVersion: cluster.x-k8s.io/v1beta1
kind: MachineDeployment
metadata:
labels:
nodepool: talos-md-0
name: talos-md-0
namespace: default
spec:
clusterName: talos
replicas: 1
selector:
matchLabels: null
template:
spec:
bootstrap:
configRef:
apiVersion: bootstrap.cluster.x-k8s.io/v1beta1
kind: TalosConfigTemplate
name: talos-md-0
clusterName: talos
failureDomain: fsn1
infrastructureRef:
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
kind: HCloudMachineTemplate
name: talos-md-0
version: v1.23.4
---
apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
kind: HCloudMachineTemplate
metadata:
name: talos-md-0
namespace: default
spec:
template:
spec:
imageName: talos_hetzner
placementGroupName: md-0
type: cpx11
---
apiVersion: bootstrap.cluster.x-k8s.io/v1alpha3
kind: TalosConfigTemplate
metadata:
name: talos-md-0
namespace: default
spec:
template:
spec:
configPatches:
- op: add
path: /cluster/externalCloudProvider
value:
enabled: true
generateType: worker
talosVersion: v0.14
---
apiVersion: cluster.x-k8s.io/v1beta1
kind: MachineHealthCheck
metadata:
name: talos-md-0-unhealthy-5m
namespace: default
spec:
clusterName: talos
maxUnhealthy: 100%
nodeStartupTimeout: 10m
selector:
matchLabels:
nodepool: talos-md-0
unhealthyConditions:
- status: Unknown
timeout: 300s
type: Ready
- status: "False"
timeout: 300s
type: Ready
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment