blob: eb5535dac24d44bcd5b3a9c12a0969b7974f7e27 [file] [log] [blame]
---
# This template allows you to configure networking for servers
# of the management cluster of Mirantis Container Cloud. Network
# configuration requires the following resources.
# WARNING: Since Container Cloud 2.24, the default networking
# definition schema has been significantly changed.
# Older templates will not work for 2.24+ release bootstrap deployment.
# For details, see
# https://docs.mirantis.com/container-cloud/latest/deployment-guide/deploy-bm-mgmt.html
# The 'mgmt-lb-pxe' Subnet object defines the range of IP addresses
# used by MetalLB to expose services in the PXE network. This
# includes Ironic API (bare metal provisioning server), HTTP server
# that provides images for network boot and server provisioning,
# and the caching server for accessing the Container Cloud artifacts
# deployed on the hosts.
apiVersion: "ipam.mirantis.com/v1alpha1"
kind: Subnet
metadata:
name: mgmt-lb-pxe
namespace: default
labels:
kaas.mirantis.com/provider: baremetal
cluster.sigs.k8s.io/cluster-name: kaas-mgmt
ipam/SVC-MetalLB: "presents"
metallb/address-pool-auto-assign: "false"
metallb/address-pool-name: services-pxe
metallb/address-pool-protocol: layer2
spec:
cidr: 172.16.180.0/23
includeRanges:
- 172.16.181.10-172.16.181.13
---
apiVersion: "ipam.mirantis.com/v1alpha1"
kind: Subnet
metadata:
name: mgmt-pxe
namespace: default
labels:
kaas.mirantis.com/provider: baremetal
ipam/SVC-dhcp-range: "presents"
spec:
cidr: 172.16.180.0/23
includeRanges:
- 172.16.181.14-172.16.181.30
---
# The 'mgmt-pxe-nics' Subnet object defines the range of IP addresses
# for NIC IPs, from the PXE range that will be allocated on the nodes NICs
# in the PXE network after nodes provisioning.
# Required to elliminate prossible dhcp routing issues.
apiVersion: "ipam.mirantis.com/v1alpha1"
kind: Subnet
metadata:
name: mgmt-pxe-nics
namespace: default
labels:
kaas.mirantis.com/provider: baremetal
cluster.sigs.k8s.io/cluster-name: kaas-mgmt
# Label 'ipam/SVC-pxe-nics' is mandatory for this type of network.
ipam/SVC-pxe-nics: "presents"
spec:
cidr: 172.16.180.0/23
gateway: 172.16.180.1
includeRanges:
- 172.16.181.31-172.16.181.50
---
apiVersion: "ipam.mirantis.com/v1alpha1"
kind: Subnet
metadata:
name: mgmt-k8s-api-lb
namespace: default
labels:
kaas.mirantis.com/provider: baremetal
cluster.sigs.k8s.io/cluster-name: kaas-mgmt
ipam/SVC-LBhost: "presents"
spec:
cidr: 172.16.181.3/32
useWholeCidr: true
---
# The 'mgmt-nics' Subnet defines the range of IP addresses to be allocated
# to the nodes in the management/LCM network. The IP address of Kubernetes
# API endpoint for the cluster is excluded from that range. The
# MetalLB address pools are also excluded from that range.
apiVersion: "ipam.mirantis.com/v1alpha1"
kind: Subnet
metadata:
name: mgmt-nics
namespace: default
labels:
kaas.mirantis.com/provider: baremetal
cluster.sigs.k8s.io/cluster-name: kaas-mgmt
ipam/SVC-k8s-lcm: "presents"
spec:
cidr: 172.16.180.0/23
gateway: 172.16.180.1
nameservers:
- 172.18.176.6
- 8.8.8.8
includeRanges:
- 172.16.181.51-172.16.181.100
---
# The 'mgmt-k8s-lb' Subnet object defines the range of IP addresses
# used by MetalLB to expose services in the LCM/Management network.
# It defines the same MetalLB address pool that was previously defined
# in MetalLB chart values configInline parameter (which is deprecated).
# These services include Keycloak, MCC UI, Stacklight services,
# and the caching server for accessing the Container Cloud artifacts
# deployed on the hosts.
apiVersion: "ipam.mirantis.com/v1alpha1"
kind: Subnet
metadata:
name: mgmt-k8s-lb
namespace: default
labels:
kaas.mirantis.com/provider: baremetal
cluster.sigs.k8s.io/cluster-name: kaas-mgmt
ipam/SVC-MetalLB: "presents"
metallb/address-pool-auto-assign: "true"
metallb/address-pool-name: default
metallb/address-pool-protocol: layer2
spec:
cidr: 172.16.180.0/23
includeRanges:
- 172.16.181.101-172.16.181.140
---
apiVersion: ipam.mirantis.com/v1alpha1
kind: MetalLBConfigTemplate
metadata:
labels:
kaas.mirantis.com/provider: baremetal
cluster.sigs.k8s.io/cluster-name: kaas-mgmt
name: kaas-mgmt-metallb
namespace: default
spec:
templates:
l2Advertisements: |
- name: default
spec:
ipAddressPools:
- default
- services-pxe
---
# L2Template allows you to create advanced host networking
# configurations for your management cluster. For example,
# you can create bond interfaces on top of physical interfaces
# on the host, or use multiple subnets to separate different
# types of network traffic.
# More elaborate network configurations for the management cluster
# require changes in this resource template and potential
# adding of more Subnet resources for other networks.
# For more details, see
# https://docs.mirantis.com/container-cloud/latest/deployment-guide/deploy-bm-mgmt.rst
apiVersion: ipam.mirantis.com/v1alpha1
kind: L2Template
metadata:
name: default
namespace: default
labels:
kaas.mirantis.com/provider: baremetal
cluster.sigs.k8s.io/cluster-name: kaas-mgmt
ipam/DefaultForCluster: "1"
spec:
autoIfMappingPrio:
- provision
- enp
- eno
- ens
# The 'l3Layout' section defines the list of subnets to be used in the
# 'npTemplate' field.
l3Layout:
- scope: namespace
# 'subnetName' defines the name of the subnet that is used
# to refer to it throughout the 'npTemplate' below.
subnetName: kaas-mgmt
# 'labelSelector' is the combination of labels that allows
# detecting a unique subnet. These labels refer to the Subnet object.
labelSelector:
kaas.mirantis.com/provider: baremetal
ipam/SVC-k8s-lcm: "presents"
- scope: namespace
subnetName: mgmt-pxe
labelSelector:
kaas.mirantis.com/provider: baremetal
ipam/SVC-pxe-nics: "presents"
# The following is the template used to generate a netplan configuration
# file for Ubuntu. It contains an example of the definition of ethernet
# interfaces, with assigned addresses from the subnets defined in the 'l3Layout'
# field above. The gateway and nameservers are also
# taken from the subnet using the L2Temlpate-specific macros.
npTemplate: |
version: 2
renderer: networkd
ethernets:
{{nic 0}}:
dhcp4: false
dhcp6: false
addresses:
- {{ip "0:kaas-mgmt"}}
gateway4: {{gateway_from_subnet "kaas-mgmt"}}
nameservers:
addresses: {{nameservers_from_subnet "kaas-mgmt"}}
match:
macaddress: {{mac 0}}
set-name: {{nic 0}}