diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index f5456af..6341c10 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -132,6 +132,7 @@ export default withMermaid({ text: "Kubernetes Integration", collapsed: false, items: [ + { text: 'Overview', link: '/baremetal/kubernetes/' }, { text: 'Cloud Controller Manager', link: '/baremetal/kubernetes/cloud-controller-manager' }, { text: 'Metal Loadbalancer Controller', link: '/baremetal/kubernetes/metal-loadbalancer-controller' }, { text: 'Cluster API Provider', link: '/baremetal/kubernetes/capi' }, diff --git a/docs/baremetal/kubernetes/cloud-controller-manager.md b/docs/baremetal/kubernetes/cloud-controller-manager.md index 14fd487..e1f0c0c 100644 --- a/docs/baremetal/kubernetes/cloud-controller-manager.md +++ b/docs/baremetal/kubernetes/cloud-controller-manager.md @@ -1,4 +1,4 @@ -# Cloud Controller Manager +# Cloud Controller Manager (Bare Metal) [Cloud-Controller-Manager](https://kubernetes.io/docs/concepts/architecture/cloud-controller) (CCM) is the bridge between Kubernetes and a cloud-provider. CCM uses the cloud-provider (IronCore Bare Metal API in this case) API to manage these diff --git a/docs/baremetal/kubernetes/index.md b/docs/baremetal/kubernetes/index.md new file mode 100644 index 0000000..b1e44b5 --- /dev/null +++ b/docs/baremetal/kubernetes/index.md @@ -0,0 +1,30 @@ +# Kubernetes Integration + +This section provides an overview of how you can run Kubernetes clusters on top of the Bare Metal API of IronCore. + +## Provider Specific Integrations + +The typical provider-specific integration points in Kubernetes are the following: + +- **CNI**: Container Network Interface, used for networking in Kubernetes. +- **CSI**: Container Storage Interface, used for storage in Kubernetes. +- **CRI**: Container Runtime Interface, used for container runtimes in Kubernetes. +- **Loadbalancing**: Load balancing for services in Kubernetes. +- **Other Infrastructure specific Integrations**: This includes any other provider-specific integrations such as `Node` topology information. + +As for CNI and CRI you can use almost any implementation that is compatible with Kubernetes. + +For CSI, there is no IronCore bare metal-specific implementation of the CSI interface as we do not at the moment provide +a dynamic provisioning of volumes for bare metal servers. However, you could use +the [local](https://kubernetes.io/docs/concepts/storage/volumes/#local) volume type to use local storage on the bare metal servers. +Alternatively, any local storage implementation that is compatible with Kubernetes can be used. + +Additionally, the IronCore [Cloud Controller Manager](/baremetal/kubernetes/cloud-controller-manager) provides the necessary +integration points of handling the `Node` lifecycle and topology information. + +Load balancing for `Services` of type `LoadBalancer` is done by the [metal-load-balancer-controller](/baremetal/kubernetes/metal-loadbalancer-controller). + +## Gardener Integration + +IronCore is also integrated with [Gardener](https://gardener.cloud/), a Kubernetes-native project for managing Kubernetes clusters at scale. +The section on [Gardener Integration](/baremetal/kubernetes/gardener) provides more details on how to use IronCore with Gardener. diff --git a/docs/iaas/kubernetes/cloud-controller-manager.md b/docs/iaas/kubernetes/cloud-controller-manager.md index 24b3f01..387c262 100644 --- a/docs/iaas/kubernetes/cloud-controller-manager.md +++ b/docs/iaas/kubernetes/cloud-controller-manager.md @@ -1,4 +1,4 @@ -# Cloud Controller Manager +# Cloud Controller Manager (IaaS) [Cloud-Controller-Manager](https://kubernetes.io/docs/concepts/architecture/cloud-controller) (CCM) is the bridge between Kubernetes and a cloud-provider. CCM is responsible for managing cloud-specific infrastructure resources such diff --git a/docs/iaas/kubernetes/index.md b/docs/iaas/kubernetes/index.md index 324ca69..41765ce 100644 --- a/docs/iaas/kubernetes/index.md +++ b/docs/iaas/kubernetes/index.md @@ -5,13 +5,13 @@ of IronCore. ## Provider Specific Integrations -The typical provider specific integration points in Kubernetes are the following: +The typical provider-specific integration points in Kubernetes are the following: - **CNI**: Container Network Interface, used for networking in Kubernetes. - **CSI**: Container Storage Interface, used for storage in Kubernetes. - **CRI**: Container Runtime Interface, used for container runtimes in Kubernetes. - **Loadbalancing**: Load balancing for services in Kubernetes. -- **Other Infrastructure specific Integrations**: This includes any other provider specific integrations such as `Node` topology information. +- **Other Infrastructure specific Integrations**: This includes any other provider-specific integrations such as `Node` topology information. As for CNI and CRI you can use almost any implementation that is compatible with Kubernetes.