pi.yaml 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549
  1. version: v1alpha1 # Indicates the schema used to decode the contents.
  2. debug: false # Enable verbose logging to the console.
  3. persist: true # description: |
  4. # Provides machine specific configuration options.
  5. machine:
  6. type: worker # Defines the role of the machine within the cluster.
  7. token: u7240y.plogoeorz04f09sw # The `token` is used by a machine to join the PKI of the cluster.
  8. # The root certificate authority of the PKI.
  9. ca:
  10. crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJQakNCOGFBREFnRUNBaEFCdE5hMWNDcXBMUTl5RHh4Vm1hVmJNQVVHQXl0bGNEQVFNUTR3REFZRFZRUUsKRXdWMFlXeHZjekFlRncweU16QTVNRE14TmpNMk5UVmFGdzB6TXpBNE16RXhOak0yTlRWYU1CQXhEakFNQmdOVgpCQW9UQlhSaGJHOXpNQ293QlFZREsyVndBeUVBQW5qWmpDRmRpdTIvNUJNSlI2QWRWTWhwUEQ5MzgxTnYrWnA5Cm1mRndFTENqWVRCZk1BNEdBMVVkRHdFQi93UUVBd0lDaERBZEJnTlZIU1VFRmpBVUJnZ3JCZ0VGQlFjREFRWUkKS3dZQkJRVUhBd0l3RHdZRFZSMFRBUUgvQkFVd0F3RUIvekFkQmdOVkhRNEVGZ1FVMFU0OVEzK2lZY3k1TTBUSwphWnVBUjIwUlRNVXdCUVlESzJWd0EwRUF6TEtTdG1FQ1BHNzZpYUp5Z3Nmdzc1Z0tqVEVmODFCS0NOVFBBWkJzCnM2alRySktlRVA0SHpzOFIvZStyTGc4ZSszNDZWSXhoY1FMQWVKV21qc2VQRGc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
  11. key: ""
  12. # Extra certificate subject alternative names for the machine's certificate.
  13. certSANs: []
  14. # # Uncomment this to enable SANs.
  15. # - 10.0.0.10
  16. # - 172.16.0.10
  17. # - 192.168.0.10
  18. # Used to provide additional options to the kubelet.
  19. kubelet:
  20. image: ghcr.io/siderolabs/kubelet:v1.28.0 # The `image` field is an optional reference to an alternative kubelet image.
  21. defaultRuntimeSeccompProfileEnabled: true # Enable container runtime default Seccomp profile.
  22. disableManifestsDirectory: true # The `disableManifestsDirectory` field configures the kubelet to get static pod manifests from the /etc/kubernetes/manifests directory.
  23. # # The `ClusterDNS` field is an optional reference to an alternative kubelet clusterDNS ip list.
  24. # clusterDNS:
  25. # - 10.96.0.10
  26. # - 169.254.2.53
  27. # # The `extraArgs` field is used to provide additional flags to the kubelet.
  28. # extraArgs:
  29. # key: value
  30. # # The `extraMounts` field is used to add additional mounts to the kubelet container.
  31. # extraMounts:
  32. # - destination: /var/lib/example
  33. # type: bind
  34. # source: /var/lib/example
  35. # options:
  36. # - bind
  37. # - rshared
  38. # - rw
  39. # # The `extraConfig` field is used to provide kubelet configuration overrides.
  40. # extraConfig:
  41. # serverTLSBootstrap: true
  42. # # The `nodeIP` field is used to configure `--node-ip` flag for the kubelet.
  43. # nodeIP:
  44. # # The `validSubnets` field configures the networks to pick kubelet node IP from.
  45. # validSubnets:
  46. # - 10.0.0.0/8
  47. # - '!10.0.0.3/32'
  48. # - fdc7::/16
  49. # Provides machine specific network configuration options.
  50. network:
  51. # # `interfaces` is used to define the network interface configuration.
  52. # interfaces:
  53. # - interface: eth0 #np0s1 # The interface name.
  54. # # Assigns static IP addresses to the interface.
  55. # addresses:
  56. # - 192.168.2.0/24
  57. # # A list of routes associated with the interface.
  58. # routes:
  59. # - network: 0.0.0.0/0 # The route's network (destination).
  60. # gateway: 192.168.2.1 # The route's gateway (if empty, creates link scope route).
  61. # metric: 1024 # The optional metric for the route.
  62. # mtu: 1500 # The interface's MTU.
  63. #
  64. # # # Picks a network device using the selector.
  65. # # # select a device with bus prefix 00:*.
  66. # # deviceSelector:
  67. # # busPath: 00:* # PCI, USB bus prefix, supports matching by wildcard.
  68. # # # select a device with mac address matching `*:f0:ab` and `virtio` kernel driver.
  69. # # deviceSelector:
  70. # # hardwareAddr: '*:f0:ab' # Device hardware address, supports matching by wildcard.
  71. # # driver: virtio # Kernel driver, supports matching by wildcard.
  72. # # # select a device with bus prefix 00:*, a device with mac address matching `*:f0:ab` and `virtio` kernel driver.
  73. # # deviceSelector:
  74. # # - busPath: 00:* # PCI, USB bus prefix, supports matching by wildcard.
  75. # # - hardwareAddr: '*:f0:ab' # Device hardware address, supports matching by wildcard.
  76. # # driver: virtio # Kernel driver, supports matching by wildcard.
  77. # # # Bond specific options.
  78. # # bond:
  79. # # # The interfaces that make up the bond.
  80. # # interfaces:
  81. # # - enp2s0
  82. # # - enp2s1
  83. # # # Picks a network device using the selector.
  84. # # deviceSelectors:
  85. # # - busPath: 00:* # PCI, USB bus prefix, supports matching by wildcard.
  86. # # - hardwareAddr: '*:f0:ab' # Device hardware address, supports matching by wildcard.
  87. # # driver: virtio # Kernel driver, supports matching by wildcard.
  88. # # mode: 802.3ad # A bond option.
  89. # # lacpRate: fast # A bond option.
  90. # # # Bridge specific options.
  91. # # bridge:
  92. # # # The interfaces that make up the bridge.
  93. # # interfaces:
  94. # # - enxda4042ca9a51
  95. # # - enxae2a6774c259
  96. # # # A bridge option.
  97. # # stp:
  98. # # enabled: true # Whether Spanning Tree Protocol (STP) is enabled.
  99. # # # Indicates if DHCP should be used to configure the interface.
  100. # # dhcp: true
  101. # # # DHCP specific options.
  102. # # dhcpOptions:
  103. # # routeMetric: 1024 # The priority of all routes received via DHCP.
  104. # # # Wireguard specific configuration.
  105. # # # wireguard server example
  106. # # wireguard:
  107. # # privateKey: ABCDEF... # Specifies a private key configuration (base64 encoded).
  108. # # listenPort: 51111 # Specifies a device's listening port.
  109. # # # Specifies a list of peer configurations to apply to a device.
  110. # # peers:
  111. # # - publicKey: ABCDEF... # Specifies the public key of this peer.
  112. # # endpoint: 192.168.1.3 # Specifies the endpoint of this peer entry.
  113. # # # AllowedIPs specifies a list of allowed IP addresses in CIDR notation for this peer.
  114. # # allowedIPs:
  115. # # - 192.168.1.0/24
  116. # # # wireguard peer example
  117. # # wireguard:
  118. # # privateKey: ABCDEF... # Specifies a private key configuration (base64 encoded).
  119. # # # Specifies a list of peer configurations to apply to a device.
  120. # # peers:
  121. # # - publicKey: ABCDEF... # Specifies the public key of this peer.
  122. # # endpoint: 192.168.1.2:51822 # Specifies the endpoint of this peer entry.
  123. # # persistentKeepaliveInterval: 10s # Specifies the persistent keepalive interval for this peer.
  124. # # # AllowedIPs specifies a list of allowed IP addresses in CIDR notation for this peer.
  125. # # allowedIPs:
  126. # # - 192.168.1.0/24
  127. # # # Virtual (shared) IP address configuration.
  128. # # # layer2 vip example
  129. # # vip:
  130. # # ip: 172.16.199.55 # Specifies the IP address to be used.
  131. # # Used to statically set the nameservers for the machine.
  132. nameservers:
  133. - 192.168.1.87
  134. # # Allows for extra entries to be added to the `/etc/hosts` file
  135. # extraHostEntries:
  136. # - ip: 192.168.1.100 # The IP of the host.
  137. # # The host alias.
  138. # aliases:
  139. # - example
  140. # - example.domain.tld
  141. # # Configures KubeSpan feature.
  142. # kubespan:
  143. # enabled: true # Enable the KubeSpan feature.
  144. # Used to provide instructions for installations.
  145. install:
  146. disk: /dev/mmcblk0 # The disk used for installations.
  147. image: ghcr.io/siderolabs/installer:v1.5.1 # Allows for supplying the image used to perform the installation.
  148. wipe: false # false # Indicates if the installation disk should be wiped at installation time.
  149. # # Look up disk using disk attributes like model, size, serial and others.
  150. # diskSelector:
  151. # size: '<= 1TB' # Disk size.
  152. # model: WDC* # Disk model `/sys/block/<dev>/device/model`.
  153. # busPath: /pci0000:00/0000:00:17.0/ata1/host0/target0:0:0/0:0:0:0 # Disk bus path.
  154. # busPath: '*usb3*'
  155. # # Allows for supplying extra kernel args via the bootloader.
  156. extraKernelArgs:
  157. - usb-storage.quirks=174c:55aa:u
  158. # extraKernelArgs:
  159. # - talos.platform=metal
  160. # - reboot=k
  161. # # Allows for supplying additional system extension images to install on top of base Talos image.
  162. # extensions:
  163. # - image: ghcr.io/siderolabs/gvisor:20220117.0-v1.0.0 # System extension image.
  164. # Used to configure the machine's container image registry mirrors.
  165. registries: {}
  166. # # Specifies mirror configuration for each registry host namespace.
  167. # mirrors:
  168. # ghcr.io:
  169. # # List of endpoints (URLs) for registry mirrors to use.
  170. # endpoints:
  171. # - https://registry.insecure
  172. # - https://ghcr.io/v2/
  173. # # Specifies TLS & auth configuration for HTTPS image registries.
  174. # config:
  175. # registry.insecure:
  176. # # The TLS configuration for the registry.
  177. # tls:
  178. # insecureSkipVerify: true # Skip TLS server certificate verification (not recommended).
  179. #
  180. # # # Enable mutual TLS authentication with the registry.
  181. # # clientIdentity:
  182. # # crt: LS0tIEVYQU1QTEUgQ0VSVElGSUNBVEUgLS0t
  183. # # key: LS0tIEVYQU1QTEUgS0VZIC0tLQ==
  184. #
  185. # # # The auth configuration for this registry.
  186. # # auth:
  187. # # username: username # Optional registry authentication.
  188. # # password: password # Optional registry authentication.
  189. # Features describe individual Talos features that can be switched on or off.
  190. features:
  191. rbac: true # Enable role-based access control (RBAC).
  192. stableHostname: true # Enable stable default hostname.
  193. apidCheckExtKeyUsage: true # Enable checks for extended key usage of client certificates in apid.
  194. #diskQuotaSupport: true # Enable XFS project quota support for EPHEMERAL partition and user disks.
  195. # # Configure Talos API access from Kubernetes pods.
  196. # kubernetesTalosAPIAccess:
  197. # enabled: true # Enable Talos API access from Kubernetes pods.
  198. # # The list of Talos API roles which can be granted for access from Kubernetes pods.
  199. # allowedRoles:
  200. # - os:reader
  201. # # The list of Kubernetes namespaces Talos API access is available from.
  202. # allowedKubernetesNamespaces:
  203. # - kube-system
  204. # # Provides machine specific control plane configuration options.
  205. # # ControlPlane definition example.
  206. # controlPlane:
  207. # # Controller manager machine specific configuration options.
  208. # controllerManager:
  209. # disabled: false # Disable kube-controller-manager on the node.
  210. # # Scheduler machine specific configuration options.
  211. # scheduler:
  212. # disabled: true # Disable kube-scheduler on the node.
  213. # # Used to provide static pod definitions to be run by the kubelet directly bypassing the kube-apiserver.
  214. # # nginx static pod.
  215. # pods:
  216. # - apiVersion: v1
  217. # kind: pod
  218. # metadata:
  219. # name: nginx
  220. # spec:
  221. # containers:
  222. # - image: nginx
  223. # name: nginx
  224. # # Used to partition, format and mount additional disks.
  225. # # MachineDisks list example.
  226. # disks:
  227. # - device: /dev/sdb # The name of the disk to use.
  228. # # A list of partitions to create on the disk.
  229. # partitions:
  230. # - mountpoint: /var/mnt/extra # Where to mount the partition.
  231. #
  232. # # # The size of partition: either bytes or human readable representation. If `size:` is omitted, the partition is sized to occupy the full disk.
  233. # # # Human readable representation.
  234. # # size: 100 MB
  235. # # # Precise value in bytes.
  236. # # size: 1073741824
  237. # # Allows the addition of user specified files.
  238. # # MachineFiles usage example.
  239. # files:
  240. # - content: '...' # The contents of the file.
  241. # permissions: 0o666 # The file's permissions in octal.
  242. # path: /tmp/file.txt # The path of the file.
  243. # op: append # The operation to use
  244. # # The `env` field allows for the addition of environment variables.
  245. # # Environment variables definition examples.
  246. # env:
  247. # GRPC_GO_LOG_SEVERITY_LEVEL: info
  248. # GRPC_GO_LOG_VERBOSITY_LEVEL: "99"
  249. # https_proxy: http://SERVER:PORT/
  250. # env:
  251. # GRPC_GO_LOG_SEVERITY_LEVEL: error
  252. # https_proxy: https://USERNAME:PASSWORD@SERVER:PORT/
  253. # env:
  254. # https_proxy: http://DOMAIN\USERNAME:PASSWORD@SERVER:PORT/
  255. # # Used to configure the machine's time settings.
  256. # # Example configuration for cloudflare ntp server.
  257. # time:
  258. # disabled: false # Indicates if the time service is disabled for the machine.
  259. # # Specifies time (NTP) servers to use for setting the system time.
  260. # servers:
  261. # - time.cloudflare.com
  262. # bootTimeout: 2m0s # Specifies the timeout when the node time is considered to be in sync unlocking the boot sequence.
  263. # # Used to configure the machine's sysctls.
  264. # # MachineSysctls usage example.
  265. # sysctls:
  266. # kernel.domainname: talos.dev
  267. # net.ipv4.ip_forward: "0"
  268. # # Used to configure the machine's sysfs.
  269. # # MachineSysfs usage example.
  270. # sysfs:
  271. # devices.system.cpu.cpu0.cpufreq.scaling_governor: performance
  272. # # Machine system disk encryption configuration.
  273. # systemDiskEncryption:
  274. # # Ephemeral partition encryption.
  275. # ephemeral:
  276. # provider: luks2 # Encryption provider to use for the encryption.
  277. # # Defines the encryption keys generation and storage method.
  278. # keys:
  279. # - # Deterministically generated key from the node UUID and PartitionLabel.
  280. # nodeID: {}
  281. # slot: 0 # Key slot number for LUKS2 encryption.
  282. #
  283. # # # KMS managed encryption key.
  284. # # kms:
  285. # # endpoint: https://192.168.88.21:4443 # KMS endpoint to Seal/Unseal the key.
  286. #
  287. # # # Cipher kind to use for the encryption. Depends on the encryption provider.
  288. # # cipher: aes-xts-plain64
  289. # # # Defines the encryption sector size.
  290. # # blockSize: 4096
  291. # # # Additional --perf parameters for the LUKS2 encryption.
  292. # # options:
  293. # # - no_read_workqueue
  294. # # - no_write_workqueue
  295. # # Configures the udev system.
  296. udev:
  297. # List of udev rules to apply to the udev system
  298. rules:
  299. - SUBSYSTEM=="sound", KERNEL=="renderD*", GROUP="audio", MODE="0660"
  300. #SUBSYSTEM=="sound", GROUP="audio", \
  301. #OPTIONS+="static_node=snd/seq", OPTIONS+="static_node=snd/timer"
  302. # # Configures the logging system.
  303. # logging:
  304. # # Logging destination.
  305. # destinations:
  306. # - endpoint: tcp://1.2.3.4:12345 # Where to send logs. Supported protocols are "tcp" and "udp".
  307. # format: json_lines # Logs format.
  308. # # Configures the kernel.
  309. # kernel:
  310. # # Kernel modules to load.
  311. # modules:
  312. # - name: brtfs # Module name.
  313. # # Configures the seccomp profiles for the machine.
  314. # seccompProfiles:
  315. # - name: audit.json # The `name` field is used to provide the file name of the seccomp profile.
  316. # # The `value` field is used to provide the seccomp profile.
  317. # value:
  318. # defaultAction: SCMP_ACT_LOG
  319. # # Configures the node labels for the machine.
  320. # # node labels example.
  321. # Provides cluster specific configuration options.
  322. cluster:
  323. id: DnLy-yXXaIqQRaELsr5VZj-rnVj7jUxyyv69GkmgDIQ= # Globally unique identifier for this cluster (base64 encoded random 32 bytes).
  324. secret: ssgf5bbwHcen8w5i48nlDIdsUcTf9O3AoO3EQDTbpmo= # Shared secret of cluster (base64 encoded random 32 bytes).
  325. # Provides control plane specific configuration options.
  326. controlPlane:
  327. endpoint: https://talos-master-vm-01.dezendorf.net:6443 # Endpoint is the canonical controlplane endpoint, which can be an IP address or a DNS hostname.
  328. # Provides cluster specific network configuration options.
  329. network:
  330. dnsDomain: cluster.local # The domain used by Kubernetes DNS.
  331. # The pod subnet CIDR.
  332. podSubnets:
  333. - 10.244.0.0/16
  334. # The service subnet CIDR.
  335. serviceSubnets:
  336. - 10.96.0.0/12
  337. # # The CNI used.
  338. cni:
  339. name: flannel #custom # Name of CNI to use.
  340. # # URLs containing manifests to apply for the CNI.
  341. # urls:
  342. # - https://docs.projectcalico.org/archive/v3.20/manifests/canal.yaml
  343. token: zszgpu.9yqk443feyidmnx3 # The [bootstrap token](https://kubernetes.io/docs/reference/access-authn-authz/bootstrap-tokens/) used to join the cluster.
  344. # The base64 encoded root certificate authority used by Kubernetes.
  345. ca:
  346. crt: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJpekNDQVRDZ0F3SUJBZ0lSQUp4ZS9tbGpNUENkaXBFTDBrenZtNjB3Q2dZSUtvWkl6ajBFQXdJd0ZURVQKTUJFR0ExVUVDaE1LYTNWaVpYSnVaWFJsY3pBZUZ3MHlNekE1TURNeE5qTTJOVFZhRncwek16QTRNekV4TmpNMgpOVFZhTUJVeEV6QVJCZ05WQkFvVENtdDFZbVZ5Ym1WMFpYTXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CCkJ3TkNBQVMza29QWERNeFE5c2UyUlhnZklFZXZLR0N6alRjcjNLZ1hEYjBkaW9ueHlRSXJNWGpTOUFWNEJ2aE4KRldKTHpRLy9WTjZJRUdGTEZOb1NjUnpJaURVNG8yRXdYekFPQmdOVkhROEJBZjhFQkFNQ0FvUXdIUVlEVlIwbApCQll3RkFZSUt3WUJCUVVIQXdFR0NDc0dBUVVGQndNQ01BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0hRWURWUjBPCkJCWUVGS1F4eWVkOHdRUnplcFRwcFFZMkZIUHVOTTdjTUFvR0NDcUdTTTQ5QkFNQ0Ewa0FNRVlDSVFDNGFWTmoKN01ONEloMFdyNWcyK01oa1FBbzZUMzVYU0ZrVEozbjFaRDd1TGdJaEFJZC9PTGVFQkRQb2FQTUFMTk5Sc01hQQpTOWpSMHR5MTBCcTFzZVhuYVpJdAotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
  347. key: ""
  348. # Configures cluster member discovery.
  349. discovery:
  350. enabled: true # Enable the cluster membership discovery feature.
  351. # Configure registries used for cluster member discovery.
  352. registries:
  353. # Kubernetes registry uses Kubernetes API server to discover cluster members and stores additional information
  354. kubernetes:
  355. disabled: true # Disable Kubernetes discovery registry.
  356. # Service registry is using an external service to push and pull information about cluster members.
  357. service: {}
  358. # # External service endpoint.
  359. # endpoint: https://discovery.talos.dev/
  360. # # A key used for the [encryption of secret data at rest](https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/).
  361. # # Decryption secret example (do not use in production!).
  362. # aescbcEncryptionSecret: z01mye6j16bspJYtTB/5SFX8j7Ph4JXxM2Xuu4vsBPM=
  363. # # A key used for the [encryption of secret data at rest](https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/).
  364. # # Decryption secret example (do not use in production!).
  365. # secretboxEncryptionSecret: z01mye6j16bspJYtTB/5SFX8j7Ph4JXxM2Xuu4vsBPM=
  366. # # The base64 encoded aggregator certificate authority used by Kubernetes for front-proxy certificate generation.
  367. # # AggregatorCA example.
  368. # aggregatorCA:
  369. # crt: LS0tIEVYQU1QTEUgQ0VSVElGSUNBVEUgLS0t
  370. # key: LS0tIEVYQU1QTEUgS0VZIC0tLQ==
  371. # # The base64 encoded private key for service account token generation.
  372. # # AggregatorCA example.
  373. # serviceAccount:
  374. # key: LS0tIEVYQU1QTEUgS0VZIC0tLQ==
  375. # # API server specific configuration options.
  376. # apiServer:
  377. # image: registry.k8s.io/kube-apiserver:v1.28.0 # The container image used in the API server manifest.
  378. # # Extra arguments to supply to the API server.
  379. # extraArgs:
  380. # feature-gates: ServerSideApply=true
  381. # http2-max-streams-per-connection: "32"
  382. # # Extra certificate subject alternative names for the API server's certificate.
  383. # certSANs:
  384. # - 1.2.3.4
  385. # - 4.5.6.7
  386. # # Configure the API server admission plugins.
  387. # admissionControl:
  388. # - name: PodSecurity # Name is the name of the admission controller.
  389. # # Configuration is an embedded configuration object to be used as the plugin's
  390. # configuration:
  391. # apiVersion: pod-security.admission.config.k8s.io/v1alpha1
  392. # defaults:
  393. # audit: restricted
  394. # audit-version: latest
  395. # enforce: baseline
  396. # enforce-version: latest
  397. # warn: restricted
  398. # warn-version: latest
  399. # exemptions:
  400. # namespaces:
  401. # - kube-system
  402. # runtimeClasses: []
  403. # usernames: []
  404. # kind: PodSecurityConfiguration
  405. # # Configure the API server audit policy.
  406. # auditPolicy:
  407. # apiVersion: audit.k8s.io/v1
  408. # kind: Policy
  409. # rules:
  410. # - level: Metadata
  411. # # Controller manager server specific configuration options.
  412. # controllerManager:
  413. # image: registry.k8s.io/kube-controller-manager:v1.28.0 # The container image used in the controller manager manifest.
  414. # # Extra arguments to supply to the controller manager.
  415. # extraArgs:
  416. # feature-gates: ServerSideApply=true
  417. # # Kube-proxy server-specific configuration options
  418. proxy:
  419. # disabled: false # Disable kube-proxy deployment on cluster bootstrap.
  420. # image: registry.k8s.io/kube-proxy:v1.28.0 # The container image used in the kube-proxy manifest.
  421. mode: ipvs # proxy mode of kube-proxy.
  422. # # Extra arguments to supply to kube-proxy.
  423. extraArgs:
  424. ipvs-strict-arp: true
  425. proxy-mode: iptables
  426. # # Scheduler server specific configuration options.
  427. # scheduler:
  428. # image: registry.k8s.io/kube-scheduler:v1.28.0 # The container image used in the scheduler manifest.
  429. # # Extra arguments to supply to the scheduler.
  430. # extraArgs:
  431. # feature-gates: AllBeta=true
  432. # # Etcd specific configuration options.
  433. # etcd:
  434. # image: gcr.io/etcd-development/etcd:v3.5.9 # The container image used to create the etcd service.
  435. # # The `ca` is the root certificate authority of the PKI.
  436. # ca:
  437. # crt: LS0tIEVYQU1QTEUgQ0VSVElGSUNBVEUgLS0t
  438. # key: LS0tIEVYQU1QTEUgS0VZIC0tLQ==
  439. # # Extra arguments to supply to etcd.
  440. # extraArgs:
  441. # election-timeout: "5000"
  442. # # The `advertisedSubnets` field configures the networks to pick etcd advertised IP from.
  443. # advertisedSubnets:
  444. # - 10.0.0.0/8
  445. # # Core DNS specific configuration options.
  446. # coreDNS:
  447. # image: registry.k8s.io/coredns/coredns:v1.10.1 # The `image` field is an override to the default coredns image.
  448. # # External cloud provider configuration.
  449. # externalCloudProvider:
  450. # enabled: true # Enable external cloud provider.
  451. # # A list of urls that point to additional manifests for an external cloud provider.
  452. # manifests:
  453. # - https://raw.githubusercontent.com/kubernetes/cloud-provider-aws/v1.20.0-alpha.0/manifests/rbac.yaml
  454. # - https://raw.githubusercontent.com/kubernetes/cloud-provider-aws/v1.20.0-alpha.0/manifests/aws-cloud-controller-manager-daemonset.yaml
  455. # # A list of urls that point to additional manifests.
  456. # extraManifests:
  457. # - https://www.example.com/manifest1.yaml
  458. # - https://www.example.com/manifest2.yaml
  459. # # A map of key value pairs that will be added while fetching the extraManifests.
  460. # extraManifestHeaders:
  461. # Token: "1234567"
  462. # X-ExtraInfo: info
  463. # # A list of inline Kubernetes manifests.
  464. # inlineManifests:
  465. # - name: namespace-ci # Name of the manifest.
  466. # contents: |- # Manifest contents as a string.
  467. # apiVersion: v1
  468. # kind: Namespace
  469. # metadata:
  470. # name: ci
  471. # # Settings for admin kubeconfig generation.
  472. # adminKubeconfig:
  473. # certLifetime: 1h0m0s # Admin kubeconfig certificate lifetime (default is 1 year).
  474. # # Allows running workload on control-plane nodes.
  475. # allowSchedulingOnControlPlanes: true