2 minute read
--- apiVersion: extensions.gardener.cloud/v1alpha1 kind: Network metadata: name: calico-network namespace: shoot--core--test-01 spec: type: calico clusterCIDR: 192.168.0.0/24 serviceCIDR: 10.96.0.0/24 providerConfig: apiVersion: calico.networking.extensions.gardener.cloud/v1alpha1 kind: NetworkConfig ipam: type: host-local cidr: usePodCIDR ebpfDataplane: enabled: false ipv4: mode: Always backend: bird typha: enabled: true
Please find a concrete example in the
example folder. All the
Calico specific configuration
should be configured in the
providerConfig section. If additional configuration is required, it should be added to
networking-calico chart in
controllers/networking-calico/charts/internal/calico/values.yaml and corresponding code
parts should be adapted (for example in
Once the network resource is applied, the
networking-calico controller would then create all the necessary
managed-resources which should be picked
up by the gardener-resource-manager which will then apply all the
network extensions resources to the shoot cluster.
Finally after successful reconciliation an output similar to the one below should be expected.
status: lastOperation: description: Successfully reconciled network lastUpdateTime: "..." progress: 100 state: Succeeded type: Reconcile observedGeneration: 1 providerStatus: apiVersion: calico.networking.extensions.gardener.cloud/v1alpha1 kind: NetworkStatus
How to start using or developing this extension controller locally
You can run the controller locally on your machine by executing
make start. Please make sure to have the
kubeconfig pointed to the cluster you want to connect to.
Static code checks and tests can be executed by running
make verify. We are using Go modules for Golang package dependency management and Ginkgo/Gomega for testing.
Feedback and Support
Please find further resources about out project here: