No description
- Go 86.5%
- Makefile 7.7%
- Smarty 3.8%
- Dockerfile 1.5%
- Shell 0.5%
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.33.0 to 0.36.0. - [Commits](https://github.com/golang/net/compare/v0.33.0...v0.36.0) --- updated-dependencies: - dependency-name: golang.org/x/net dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|---|---|---|
| .github | ||
| .reuse | ||
| cmd/machine-controller | ||
| docs | ||
| hack | ||
| kubernetes | ||
| LICENSES | ||
| pkg | ||
| .gitignore | ||
| .golangci.yaml | ||
| CODE_OF_CONDUCT.md | ||
| CODEOWNERS | ||
| CONTRIBUTING.md | ||
| Dockerfile | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
machine-controller-manager-provider-ironcore
Out of tree (controller based) implementation for ironcore as a new provider.
About
- The
ironcoreOut Of Tree provider implements the interface defined at MCM OOT driver.
Fundamental Design Principles:
Following are the basic principles kept in mind while developing the external plugin.
- Communication between this Machine Controller (MC) and Machine Controller Manager (MCM) is achieved using the Kubernetes native declarative approach.
- Machine Controller (MC) behaves as the controller used to interact with the cloud provider
ironcoreand manage the resources corresponding to the machine objects. - Machine Controller Manager (MCM) deals with higher level objects such as machine-set and machine-deployment objects.
Support for a new provider
- Steps to be followed while implementing/testing a new provider are mentioned here
Testing the IronCore OOT
-
Open terminal pointing to
$GOPATH/src/github.com/gardener. Clone this repository. -
Navigate to
$GOPATH/src/github.com/ironcore-dev/machine-controller-manager-provider-ironcore.- In the
MAKEFILEmake sure$TARGET_KUBECONFIGpoints to the cluster where you wish to manage machines.$CONTROL_NAMESPACErepresents the namespaces where MCM is looking for machine CR objects, and$CONTROL_KUBECONFIGpoints to the cluster which holds these machine CRs. - Run the machine controller (driver) using the command below.
make start
- In the
-
On the second terminal pointing to
$GOPATH/src/github.com/gardener,- Clone the latest MCM code
git clone git@github.com:gardener/machine-controller-manager.git - Navigate to the newly created directory.
cd machine-controller-manager - Deploy the required CRDs from the machine-controller-manager repo,
kubectl apply -f kubernetes/crds.yaml - Run the machine-controller-manager in the
cmi-clientbranchmake start
- Clone the latest MCM code
-
On the third terminal pointing to
$GOPATH/src/github.com/gardener/machine-controller-manager-provider-ironcore- Fill in the object files given below and deploy them as described below.
- Deploy the
machine-classkubectl apply -f kubernetes/machine-class.yaml - Deploy the
kubernetes secretif required.kubectl apply -f kubernetes/secret.yaml - Deploy the
machineobject and make sure it joins the cluster successfully.kubectl apply -f kubernetes/machine.yaml - Once machine joins, you can test by deploying a machine-deployment.
- Deploy the
machine-deploymentobject and make sure it joins the cluster successfully.kubectl apply -f kubernetes/machine-deployment.yaml - Make sure to delete both the
machineandmachine-deploymentobject after use.kubectl delete -f kubernetes/machine.yaml kubectl delete -f kubernetes/machine-deployment.yaml