baremetal

module
v0.0.0-...-4b4ea8f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 23, 2024 License: Apache-2.0

README

Unikorn Baremetal Service

Unikorn Logo Unikorn Logo

Overview

The baremetal service is essentially a cut down version of the Kubernetes service that provisions its own baremetal servers using hardware abstraction provided by the Region service.

Where possible, as the Baremetal service is very similar to the Kubernetes service, we must maintain type and API parity to ease creation of UX tools and services.

Installation

Unikorn Prerequisites

To use the Baremetal service you first need to install:

Installing the Service
Installing Prerequisites

The Unikorn baremetal server component has a couple prerequisites that are required for correct functionality. If not installing the server component, skip to the next section.

You'll need to install:

  • cert-manager (used to generate keying material for JWE/JWS and for ingress TLS)
  • nginx-ingress (to perform routing, avoiding CORS, and TLS termination)
Installing the Baremetal Service
Helm

Create a values.yaml for the server component: A typical values.yaml that uses cert-manager and ACME, and external DNS might look like:

global:
  identity:
    host: https://identity.unikorn-cloud.org
  region:
    host: https://region.unikorn-cloud.org
  baremetal:
    host: https://baremetal.unikorn-cloud.org
helm install unikorn charts/unikorn --namespace unikorn --create-namespace --values values.yaml
ArgoCD
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: unikorn
  namespace: argocd
spec:
  project: default
  source:
    repoURL: https://unikorn-cloud.github.io/unikorn
    chart: unikorn
    targetRevision: v0.1.0
  destination:
    namespace: unikorn
    server: https://kubernetes.default.svc
  syncPolicy:
    automated:
      prune: true
      selfHeal: true
    syncOptions:
    - CreateNamespace=true
Configuring Service Authentication and Authorization

The Unikorn Identity Service describes how to configure a service organization, groups and role mappings for services that require them.

This service requires asynchronous access to the Unikorn Region API in order to poll cloud identity and physical network status during cluster creation, and delete those resources on cluster deletion.

This service defines the unikorn-baremetal user that will need to be added to a group in the service organization. It will need the built in role infra-manager-service that allows:

  • Read access to the region endpoints to access external networks
  • Read/delete access to the identites endpoints to poll and delete cloud identities
  • Read/delete access to the physicalnetworks endpoints to poll and delete physical networks
  • Create/Read/Delete access to the servers endpoints to manage baremetal instances

Directories

Path Synopsis
cmd
hack
pkg
apis/unikorn/v1alpha1
+k8s:deepcopy-gen=package,register +groupName=baremetal.unikorn-cloud.org
+k8s:deepcopy-gen=package,register +groupName=baremetal.unikorn-cloud.org
openapi
Package openapi provides primitives to interact with the openapi HTTP API.
Package openapi provides primitives to interact with the openapi HTTP API.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL