1- import { apiserverPrivateIp , apiserverPublicIp , nodes } from "../../_helpers .ts" ;
2- import { privateNetworks } from "../../_helpers .ts" ;
1+ import { apiserverPrivateIp , workers } from "../../helpers .ts" ;
2+ import { privateNetworks } from "../../helpers .ts" ;
33
44const yaml = String . raw ;
55
6- const privateIpRanges = "[" + privateNetworks . map ( ( pn ) => pn . cidr ) . join ( ", " ) + "]" ;
7- const publicIpRanges = "[" + nodes . map ( ( node ) => `${ node . publicIp } /32` ) . join ( ", " ) + "]" ;
6+ const internalIpRanges = "[" + privateNetworks . map ( ( pn ) => pn . cidr ) . join ( ", " ) + "]" ;
7+ const externalIpRanges = "[" + workers . map ( ( node ) => `${ node . publicIp } /32` ) . join ( ", " ) + "]" ;
88
99export default yaml `
1010---
@@ -16,13 +16,13 @@ export default yaml`
1616helm_enabled: false
1717
1818# Registry deployment
19- registry_enabled: false
19+ registry_enabled: false
2020# registry_namespace: kube-system
2121# registry_storage_class: ""
2222# registry_disk_size: "10Gi"
2323
2424# Metrics Server deployment
25- metrics_server_enabled: false
25+ metrics_server_enabled: true
2626# metrics_server_container_port: 10250
2727# metrics_server_kubelet_insecure_tls: true
2828# metrics_server_metric_resolution: 15s
@@ -31,7 +31,7 @@ metrics_server_enabled: false
3131# metrics_server_replicas: 1
3232
3333# Rancher Local Path Provisioner
34- local_path_provisioner_enabled: false
34+ local_path_provisioner_enabled: true
3535# local_path_provisioner_namespace: "local-path-storage"
3636# local_path_provisioner_storage_class: "local-path"
3737# local_path_provisioner_reclaim_policy: Delete
@@ -43,7 +43,7 @@ local_path_provisioner_enabled: false
4343# local_path_provisioner_helper_image_tag: "latest"
4444
4545# Local volume provisioner deployment
46- local_volume_provisioner_enabled: false
46+ local_volume_provisioner_enabled: true
4747# local_volume_provisioner_namespace: kube-system
4848# local_volume_provisioner_nodelabels:
4949# - kubernetes.io/hostname
@@ -110,21 +110,23 @@ gateway_api_enabled: true
110110# gateway_api_experimental_channel: false
111111
112112# Nginx ingress controller deployment
113- ingress_nginx_enabled: false
114- # ingress_nginx_host_network: false
115- # ingress_nginx_service_type: LoadBalancer
116- # ingress_nginx_service_annotations:
117- # example.io/loadbalancerIPs: 1.2.3.4
113+ ingress_nginx_enabled: true
114+ ingress_nginx_host_network: false
115+ ingress_nginx_service_type: LoadBalancer
116+ ingress_nginx_service_annotations:
117+ metallb.universe.tf/address-pool: external
118+ # example.io/loadbalancerIPs: 1.2.3.4
118119# ingress_nginx_service_nodeport_http: 30080
119120# ingress_nginx_service_nodeport_https: 30081
120121ingress_publish_status_address: ""
121122# ingress_nginx_nodeselector:
122123# kubernetes.io/os: "linux"
123- # ingress_nginx_tolerations:
124- # - key: "node-role.kubernetes.io/control-plane"
125- # operator: "Equal"
126- # value: ""
127- # effect: "NoSchedule"
124+ # Permit ingress traffic from control plane nodes
125+ ingress_nginx_tolerations:
126+ - key: "node-role.kubernetes.io/control-plane"
127+ operator: "Equal"
128+ value: ""
129+ effect: "NoSchedule"
128130# ingress_nginx_namespace: "ingress-nginx"
129131# ingress_nginx_insecure_port: 80
130132# ingress_nginx_secure_port: 443
@@ -217,16 +219,16 @@ metallb_config:
217219 # To use specific pool for services, you can annotate the service with the following annotation:
218220 # metallb.universe.tf/address-pool
219221 address_pools:
220- public :
221- ip_range: ${ publicIpRanges }
222+ internal :
223+ ip_range: ${ internalIpRanges }
222224 auto_assign: true
223- private :
224- ip_range: ${ privateIpRanges }
225+ external :
226+ ip_range: ${ externalIpRanges }
225227 auto_assign: true
226- # Contabo cannot use BGP, so we use Layer 2 mode
227228 layer2:
228- - public
229- - private
229+ # internal ip is for all services, external ip is for ingresses like nginx ingress controller
230+ - internal
231+ - external
230232 # layer3:
231233 # defaults:
232234 # peer_port: 179
@@ -270,11 +272,11 @@ krew_enabled: false
270272krew_root_dir: "/usr/local/krew"
271273
272274# Kube VIP
273- kube_vip_enabled: true
274- kube_vip_arp_enabled: true
275- kube_vip_lb_enable: true
275+ kube_vip_enabled: true
276+ kube_vip_arp_enabled: true
277+ kube_vip_lb_enable: false
276278kube_vip_controlplane_enabled: true
277- kube_vip_address: ${ apiserverPublicIp } # This becomes the VIP
279+ kube_vip_address: ${ apiserverPrivateIp } # This becomes the VIP
278280loadbalancer_apiserver:
279281 address: "{{ kube_vip_address }}"
280282 port: 6443
@@ -283,10 +285,10 @@ loadbalancer_apiserver:
283285# kube_vip_dns_mode: first
284286# kube_vip_cp_detect: false
285287# kube_vip_leasename: plndr-cp-lock
286- # kube_vip_enable_node_labeling: false
288+ kube_vip_enable_node_labeling: true
287289
288290# Node Feature Discovery
289- node_feature_discovery_enabled: false
291+ node_feature_discovery_enabled: true
290292# node_feature_discovery_gc_sa_name: node-feature-discovery
291293# node_feature_discovery_gc_sa_create: false
292294# node_feature_discovery_worker_sa_name: node-feature-discovery
0 commit comments