Testing & Development
In order to be able to test and develop the magnum-cluster-api
project, you
will need to have an existing Magnum deployment. You can use the following
steps to be able to test and develop the project.
- Start up a DevStack environment with all Cluster API dependencies
./hack/stack.sh
- Upload an image to use with Magnum and create cluster templates
pushd /tmp
source /opt/stack/openrc
export OS_DISTRO=ubuntu # you can change this to "flatcar" if you want to use Flatcar
for version in v1.24.16 v1.25.12 v1.26.7 v1.27.4; do \
[[ "${OS_DISTRO}" == "ubuntu" ]] && IMAGE_NAME="ubuntu-2204-kube-${version}" || IMAGE_NAME="flatcar-kube-${version}"; \
curl -LO https://object-storage.public.mtl1.vexxhost.net/swift/v1/a91f106f55e64246babde7402c21b87a/magnum-capi/${IMAGE_NAME}.qcow2; \
openstack image create ${IMAGE_NAME} --disk-format=qcow2 --container-format=bare --property os_distro=${OS_DISTRO} --file=${IMAGE_NAME}.qcow2; \
openstack coe cluster template create \
--image $(openstack image show ${IMAGE_NAME} -c id -f value) \
--external-network public \
--dns-nameserver 8.8.8.8 \
--master-lb-enabled \
--master-flavor m1.medium \
--flavor m1.medium \
--network-driver calico \
--docker-storage-driver overlay2 \
--coe kubernetes \
--label kube_tag=${version} \
k8s-${version};
done;
popd
- Spin up a new cluster using the Cluster API driver
openstack coe cluster create \
--cluster-template k8s-v1.25.12 \
--master-count 3 \
--node-count 2 \
k8s-v1.25.12
- Once the cluster reaches
CREATE_COMPLETE
state, you can interact with it:
eval $(openstack coe cluster config k8s-v1.25.12)