Skip to content

A Kubernetes CRD and controller pair for managing Bare Metal Cloud resources.

Notifications You must be signed in to change notification settings

phoenixnap/k8s-controller-bmc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


phoenixnap Bare Metal Cloud
Bare Metal Cloud Controller for Kubernetes

The Bare Metal Cloud Controller for Kubernetes allows developers to define, deploy, and manage Bare Metal Cloud servers in a unified way directly from a Kubernetes cluster.

Bare Metal CloudDevelopers PortalAPI DocumentationKnowledge BaseSupport

Creating a Bare Metal Cloud Account

You need to have a Bare Metal Cloud account to use this Kubernetes controller.

  1. Go to the Bare Metal Cloud signup page.
  2. Follow the prompts to set up your account.
  3. Use your credentials to log in to the Bare Metal Cloud portal.

▶️ Video tutorial: How to Create a Bare Metal Cloud Account
▶️ Video tutorial: Introduction to Bare Metal Cloud

Getting Started from Source

  1. Configure your environment to communicate with a Kubernetes cluster (1.18+).
  2. Install Kubebuilder
  3. Install Kustomize
  4. Clone this repository.
  5. Run make to build the source.
  6. Run make install to install the CRD on your cluster.
  7. Configure your BMC credentials in your environment.
  8. Run make run to run the controller locally.
  9. Add your BMC credentials to a secret and wire that secret .
  10. Run make deploy.

Pulling the Image

The controller is available as a Docker image here: docker.pkg.github.com/phoenixnap/k8s-bmc/bmc-server-controller:latest.

Testing and CI

  1. Set USE_EXISTING_CLUSTER=true to execute a build and test using an existing Kubernetes cluster, as specified by the active context.
  2. Set KUBEBUILDER_ASSETS=<KUBEBUILDER_BINS_LOCATION> to execute tests using the Kubebuilder and Kubernetes binaries at the specified location.

Retrieving BMC Credentials

  1. Log in to the Bare Metal Cloud portal.
  2. On the left side menu, click on API Credentials.
  3. Click the Create Credentials button.
  4. Fill in the Name and Description fields, select the permissions scope and click Create.
  5. In the table, click on Actions and select View Credentials from the dropdown.

💡 Tutorial: How to create and manage BMC credentials

Note to Maintainers

Be careful moving this repository. This project is written in Go and as such uses Git repo URLs as package identifiers. If the code URL is changed the code will need to be changed appropriately.

This is a kubebuilder project. Only minimal changes have been made to this codebase from the generated scaffolding so that maintainers can leverage as much off-the-shelf tooling and documentation as possible from the kubebuilder project. The bulk of the application code lives in the controller component at, controllers/server_controller.go. The API type definitions, defaulting and validating webhook logic live in the directory, api/v1.

Bare Metal Cloud Community

Become part of the Bare Metal Cloud community to get updates on new features, help us improve the platform, and engage with developers and other users.

Bare Metal Cloud Resources

Documentation

Contact phoenixNAP

Get in touch with us if you have questions or need help with Bare Metal Cloud.

TwitterFacebookLinkedInInstagramYouTubeEmail


phoenixnap Bare Metal Cloud

About

A Kubernetes CRD and controller pair for managing Bare Metal Cloud resources.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published