All Projects → vultr → vultr-cloud-controller-manager

vultr / vultr-cloud-controller-manager

Licence: Apache-2.0 license
Kubernetes Cloud Controller Manager for Vultr

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to vultr-cloud-controller-manager

terraform-vultr-condor
Kubernetes Deployment Tool for Vultr
Stars: ✭ 60 (+17.65%)
Mutual labels:  vultr, vultr-kubernetes
vultr-csi
Container Storage Interface (CSI) Driver for Vultr Block Storage
Stars: ✭ 22 (-56.86%)
Mutual labels:  vultr, vultr-kubernetes
golang-health-checker
A simple package to allow you to track your application healthy
Stars: ✭ 12 (-76.47%)
Mutual labels:  k8s
nodejs-health-checker
This is a Node package that allows you to track the health of your application providing readiness and liveness functionalities.
Stars: ✭ 34 (-33.33%)
Mutual labels:  k8s
kubernetes-workshop
Kubernetes Workshop
Stars: ✭ 20 (-60.78%)
Mutual labels:  k8s
balanced
BalanceD is a Layer-4 Linux Virtual Server (LVS) based load balancing platform for Kubernetes.
Stars: ✭ 34 (-33.33%)
Mutual labels:  k8s
scheduled-scaler
No description or website provided.
Stars: ✭ 68 (+33.33%)
Mutual labels:  k8s
conference
A WebRTC signaling server with support of MQTT and WebSocket as transport protocols, token based authentication (JSON Web Token) and external policy based authorization.
Stars: ✭ 27 (-47.06%)
Mutual labels:  k8s
configurator
Synchronize and Version Control ConfigMaps & Secrets across Deployment Rollouts.
Stars: ✭ 68 (+33.33%)
Mutual labels:  k8s
terraform-provider-carvel
Carvel Terraform provider with resources for ytt and kapp to template and deploy to Kubernetes
Stars: ✭ 40 (-21.57%)
Mutual labels:  k8s
tezos-k8s
Deploy a Tezos Blockchain on Kubernetes
Stars: ✭ 43 (-15.69%)
Mutual labels:  k8s
codis-operator
Codis Operator creates and manages codis clusters(proxy based Redis cluster solution) running in kubernetes.(WIP)
Stars: ✭ 21 (-58.82%)
Mutual labels:  k8s
distributed-jmeter-docker
No description or website provided.
Stars: ✭ 56 (+9.8%)
Mutual labels:  k8s
MLab
“云上炼丹师”中的云
Stars: ✭ 54 (+5.88%)
Mutual labels:  k8s
Vultr-Dynamic-DNS
Dynamically update IP addresses in Vultr DNS without services like No-IP
Stars: ✭ 18 (-64.71%)
Mutual labels:  vultr
kube-toolkit
Toolkit for creating gRPC-based CLI and web tools for Kubernetes
Stars: ✭ 74 (+45.1%)
Mutual labels:  k8s
eks-anywhere
Run Amazon EKS on your own infrastructure 🚀
Stars: ✭ 1,633 (+3101.96%)
Mutual labels:  k8s
evolution
Evolution process of The Falco Project
Stars: ✭ 37 (-27.45%)
Mutual labels:  k8s
kube-lineage
A CLI tool to display all dependencies or dependents of an object in a Kubernetes cluster.
Stars: ✭ 238 (+366.67%)
Mutual labels:  k8s
kubernetes-reading-notes
Kubernetes源码阅读笔记
Stars: ✭ 96 (+88.24%)
Mutual labels:  k8s

Unit Tests

Kubernetes Cloud Controller Manager for Vultr

The Vultr Cloud Controller Manager (ccm) provides a fully supported experience of Vultr features in your Kubernetes cluster.

  • Node resources are assigned their respective Vultr instance hostnames, Region, PlanID and public/private IPs.
  • Node resources get put into their proper state if they are shutdown or removed. This allows for Kubernetes to properly reschedule pods
  • Vultr LoadBalancers are automatically deployed when a LoadBalancer service is deployed.

This plugin is in active development and you can track progress in the Milestones.

Getting Started

More information about running Vultr cloud controller manager can be found here

Examples can also be found here

Note: do not modify vultr load-balancers manually

When a load-balancer is created through the CCM (Loadbalancer service type), you should not modify the load-balancer. Your changes will eventually get reverted back due to the CCM validating state.

Any changes to the load-balancer should be done through the service object.

Development

Go minimum version 1.16.0

The vultr-cloud-controller-manager uses go modules for its dependencies.

Building the Binary

Since the vultr-cloud-controller-manager is meant to run inside a kubernetes cluster you will need to build the binary to be Linux specific.

GOOS=linux GOARCH=amd64 go build -o dist/vultr-cloud-controller-manager .

or by using our Makefile

make build-linux

This will build the binary and output it to a dist folder.

Note However if you wish to build the binary with the OS you are using you can run make build

Building the Docker Image

To build a docker image of the vultr-cloud-controller-manager you can use the docker-build entry in the make file. Take note that it requires 2 variables

  • Version
  • REGISTRY (dockerhub registry name)

an example could be

VERSION=v0.1.0 REGISTRY=vultr make docker-build

or if you chose to run it manually

docker build . -t vultr-cloud-controller-manager

Running the image

docker run -ti vultr/vultr-cloud-controller-manager

Deploying to a kubernetes cluster

You will need to make sure that your kubernetes cluster is configured to interact with a external cloud provider

More can be read about this in the Running Cloud Controller

To deploy the versioned CCM that Vultr providers you will need to apply two yaml files to your cluster which can be found here.

  • Secret.yml will take in the region ID in which your cluster is deployed in and your API key.

  • v0.X.X.yml is a preconfigured set of kubernetes resources which will help get the CCM installed.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].