moadqassem / cloud-provider-kubevirt

KubeVirt cloud controller manager - fork

Home Page:https://kubevirt.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cloud-provider-kubevirt

Build Status Go Report Card

The KubeVirt cloud-provider allows you to use KubeVirt and Kubernetes as a "cloud" to run Kubernetes clusters on top. This project contains the kubevirt-cloud-controller-manager, an implementation of the cloud controller manager (see Concepts Underlying the Cloud Controller Manager for more details).

Introduction

The KubeVirt cloud-provider allows a Kubernetes cluster running in KubeVirt VMs (lets call this cluster "OverKube") to interact with KubeVirt and Kubernetes ("UnderKube") to provision, manage and clean up resources. For example, the cloud-provider ensures that zone and region labels of nodes in the OverKube are set based on the zone and region of the KubeVirt VMs in the UnderKube. The cloud-provider also ensures that OverKube services of type LoadBalancer are properly exposed through services in the UnderKube.

How to run kubevirt-cloud-controller-manager

See Running cloud-controller-manager for general information on how to configure your OverKube cluster to run kubevirt-cloud-controller-manager. You can find example manifests for kubevirt-cloud-controller-manager in the manifests directory for static Pod, Deployment and DaemonSet configurations.

To get it to run, you'll need to provide a kubeconfig for the UnderKube to the kubevirt-cloud-controller-manager as a secret. You can create the secret with the following command: kubectl -n kube-system create secret generic cloud-config --from-file=cloud-config=kubeconfig.yaml, where kubeconfig.yaml contains a valid configuration to access the UnderKube. After the secret is in place, you can deploy kubevirt-cloud-controller-manager using:

kubectl apply -f https://raw.githubusercontent.com/kubevirt/cloud-provider-kubevirt/master/cluster/manifests/kubevirt-cloud-controller-manager-ds.yaml

Development

You can build kubevirt-cloud-controller-manager using make build. It will put the finished binary in bin/kubevirt-cloud-controller-manager. With make image you can build a Docker image containing kubevirt-cloud-controller-manager.

This project currently uses Glide for dependency management. Dependencies are automatically installed when running make build. If you need to update dependencies, run make deps-update.

About

KubeVirt cloud controller manager - fork

https://kubevirt.io

License:Apache License 2.0


Languages

Language:Go 98.8%Language:Makefile 1.0%Language:Dockerfile 0.2%