Add templates/k0sctl.yaml

This commit is contained in:
2026-01-14 15:39:50 +00:00
parent 296091fe26
commit 7922d8bd1e

117
templates/k0sctl.yaml Normal file
View File

@@ -0,0 +1,117 @@
apiVersion: k0sctl.k0sproject.io/v1beta1
kind: Cluster
metadata:
name: k0s-cluster
k0s:
version: [K0S-VERSION]
versionChannel: stable
dynamicConfig: false
config:
apiVersion: k0s.k0sproject.io/v1beta1
kind: ClusterConfig
metadata:
name: k0s
spec:
api:
address: [K0S-API-IP]
k0sApiPort: 9443
port: 6443
externalAddress: [K0S-API-IP]
sans:
- [K0S-API-IP]
controllerManager: {}
scheduler: {}
extensions:
helm:
concurrencyLevel:
repositories:
- name: metallb
url: https://metallb.github.io/metallb
charts:
- name: metallb
chartname: metallb/metallb
namespace: metallb
version: [METALLB-VERSION]
storage:
create_default_storage_class: false
type: external_storage
installConfig:
users:
etcdUser: etcd
kineUser: kube-apiserver
konnectivityUser: konnectivity-server
kubeAPIserverUser: kube-apiserver
kubeSchedulerUser: kube-scheduler
konnectivity:
adminPort: 8133
agentPort: 8132
network:
primaryAddressFamily: IPv4
clusterDomain: cluster.local
podCIDR: 10.244.0.0/16
serviceCIDR: 10.96.0.0/12
provider: calico
dualStack:
enabled: true
IPv6podCIDR: "fd00::/108"
IPv6serviceCIDR: "fd01::/108"
calico:
mode: bird
overlay: Always
vxlanPort: 4789
vxlanVNI: 4090
mtu: 0
wireguard: false
ipAutodetectionMethod: "cidr=[NODES-IP-CIDR-RANGE]"
envVars:
#CALICO_DISABLE_FILE_LOGGING: "true"
#FELIX_HEALTHENABLED: "true"
#FELIX_FEATUREDETECTOVERRIDE: "ChecksumOffloadBroken=true"
CALICO_IPV4POOL_NAT_OUTGOING: "true"
#IP_AUTODETECTION_METHOD: "interface=enp6s18"
#CALICO_IPV4POOL_CIDR: "10.240.0.0/16"
#FELIX_IPV6SUPPORT: "true"
CALICO_IPV6POOL_NAT_OUTGOING: "true"
#IP6_AUTODETECTION_METHOD: "interface=enp6s18"
#CALICO_IPV6POOL_CIDR: "fd00::/108"
kubeProxy:
disabled: false
metricsBindAddress: 0.0.0.0:10249
mode: iptables
ipvs:
strictARP: true
nodeLocalLoadBalancing:
enabled: false
storage:
type: etcd
etcd:
externalCluster: null
peerAddress: [K0S-API-IP]
telemetry:
enabled: true
spec:
hosts:
- role: controller
privateInterface: eth0
privateAddress: [CONTROLLER-X1-IP]
ssh:
address: [CONTROLLER-X1-IP]
user: root
port: 22
keyPath: [CONTROLLER-SSH-KEYPATH]
bastion:
address: [BASTION-SSH-HOST]
user: [BASTION-SSH-USER]
keyPath: [BASTION-SSH-KEYPATH]
- role: worker
privateInterface: eth0
privateAddress: [WORKER-X1-IP]
ssh:
address: [WORKER-X1-IP]
user: root
port: 22
keyPath: [WORKER-SSH-KEYPATH]
bastion:
address: [BASTION-SSH-HOST]
user: [BASTION-SSH-USER]
keyPath: [BASTION-SSH-KEYPATH]