Skip to content

Ability to manage Kubernetes supportable hosts in OpenShift on AWS

License

Notifications You must be signed in to change notification settings

openshift/cluster-api-provider-aws

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kubernetes cluster-api-provider-aws Project

This repository hosts an implementation of a provider for AWS for the cluster-api project.

Note: The additionals PRs are applied on top of vendored https://sigs.k8s.io/cluster-api:

Community, discussion, contribution, and support

Learn how to engage with the Kubernetes community on the community page.

You can reach the maintainers of this project at:

Code of conduct

Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.

How to build the images in the RH infrastructure

The Dockerfiles use as builder in the FROM instruction which is not currently supported by the RH's docker fork (see kubernetes-sigs/kubebuilder#268). One needs to run the imagebuilder command instead of the docker build.

Note: this info is RH only, it needs to be backported every time the README.md is synced with the upstream one.

How to deploy and test the machine controller with minikube

  1. Install kvm

    Depending on your virtualization manager you can choose a different driver. In order to install kvm, you can run (as described in the drivers documentation):

    $ sudo yum install libvirt-daemon-kvm qemu-kvm libvirt-daemon-config-network
    $ systemctl start libvirtd
    $ sudo usermod -a -G libvirt $(whoami)
    $ newgrp libvirt

    To install to kvm2 driver:

    curl -Lo docker-machine-driver-kvm2 https://storage.googleapis.com/minikube/releases/latest/docker-machine-driver-kvm2 \
    && chmod +x docker-machine-driver-kvm2 \
    && sudo cp docker-machine-driver-kvm2 /usr/local/bin/ \
    && rm docker-machine-driver-kvm2
  2. Deploying the cluster

    Because of cluster-api#475 the minikube version can't be higher than 0.28.0. To install minikube v0.28.0, you can run:

    $ curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.28.0/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/
    

    To deploy the cluster:

    minikube start --vm-driver kvm2
    eval $(minikube docker-env)
    
  3. Building the machine controller

    $ make -C cmd/machine-controller
    
  4. Deploying the cluster-api stack manifests

    Add your AWS credentials to the addons.yaml file (in base64 format). You can either do this manually or use the examples/render-aws-secrets.sh.

    The easy deployment is:

    ./examples/render-aws-secrets.sh examples/addons.yaml | kubectl apply -f -

    The manual deployment is:

    $ echo -n 'your_id' | base64
    $ echo -n 'your_key' | base64
    $ kubectl apply -f examples/addons.yaml

    Deploy the components:

    $ kubectl apply -f examples/cluster-api-server.yaml
    $ kubectl apply -f examples/provider-components.yml

    Deploy the cluster manigest:

    $ kubectl apply -f examples/cluster.yaml

    Deploy the machines:

    $ kubectl apply -f examples/machine.yaml --validate=false

    or alternatively:

    $ kubectl apply -f examples/machine-set.yaml --validate=false

About

Ability to manage Kubernetes supportable hosts in OpenShift on AWS

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 97.4%
  • Shell 1.3%
  • Makefile 0.9%
  • Python 0.3%
  • Dockerfile 0.1%
  • Starlark 0.0%