2 minute read
apiVersion: extensions.gardener.cloud/v1alpha1 kind: Network metadata: name: cilium-network namespace: shoot--foo--bar spec: type: cilium podCIDR: 10.244.0.0/16 serviceCIDR: 10.96.0.0/24 providerConfig: apiVersion: cilium.networking.extensions.gardener.cloud/v1alpha1 kind: NetworkConfig # hubble: # enabled: true # store: kubernetes
Please find a concrete example in the
example folder. All the
cilium specific configuration
should be configured in the
providerConfig section. If additional configuration is required, it should be added to
networking-cilium chart in
controllers/networking-cilium/charts/internal/cilium/values.yaml and corresponding code
parts should be adapted (for example in
Once the network resource is applied, the
networking-cilium 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
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:
- Our landing page gardener.cloud
- “Gardener, the Kubernetes Botanist” blog on kubernetes.io
- “Gardener Project Update” blog on kubernetes.io
- Gardener Extensions Golang library
- GEP-1 (Gardener Enhancement Proposal) on extensibility
- Extensibility API documentation
- Docs for
Was this page helpful?