Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .cruft.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"template": "https://github.com/projectsyn/commodore-component-template.git",
"commit": "98d16f99766e6c6d97322dbe42e058f0e2bf73d0",
"commit": "8f2273cd8ab13c55eb0f6dd621c70c4c9e4786fd",
"checkout": "main",
"context": {
"cookiecutter": {
Expand All @@ -25,7 +25,7 @@
"github_name": "component-exoscale-cloud-controller-manager",
"github_url": "https://github.com/projectsyn/component-exoscale-cloud-controller-manager",
"_template": "https://github.com/projectsyn/commodore-component-template.git",
"_commit": "98d16f99766e6c6d97322dbe42e058f0e2bf73d0"
"_commit": "8f2273cd8ab13c55eb0f6dd621c70c4c9e4786fd"
}
},
"directory": null
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
fetch-depth: "0"
- name: Build changelog from PRs with labels
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,13 @@ jobs:
- lint_yaml
- lint_adoc
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Run ${{ matrix.command }}
run: make ${{ matrix.command }}
editorconfig:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: snow-actions/eclint@v1.0.1
with:
args: 'check'
Expand All @@ -38,7 +38,7 @@ jobs:
run:
working-directory: ${{ env.COMPONENT_NAME }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
path: ${{ env.COMPONENT_NAME }}
- name: Compile component
Expand All @@ -54,7 +54,7 @@ jobs:
run:
working-directory: ${{ env.COMPONENT_NAME }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
path: ${{ env.COMPONENT_NAME }}
- name: Golden diff
Expand Down
2 changes: 1 addition & 1 deletion Makefile.vars.mk
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ DOCKER_ARGS ?= run --rm -u "$$(id -u):$$(id -g)" --userns=$(DOCKER_USERNS) -w /$

JSONNET_FILES ?= $(shell find . -type f -not -path './vendor/*' \( -name '*.*jsonnet' -or -name '*.libsonnet' \))
JSONNETFMT_ARGS ?= --in-place --pad-arrays
JSONNET_IMAGE ?= docker.io/bitnami/jsonnet:latest
JSONNET_IMAGE ?= ghcr.io/projectsyn/jsonnet:latest
JSONNET_DOCKER ?= $(DOCKER_CMD) $(DOCKER_ARGS) $(root_volume) --entrypoint=jsonnetfmt $(JSONNET_IMAGE)

YAMLLINT_ARGS ?= --no-warnings
Expand Down
69 changes: 69 additions & 0 deletions docs/modules/ROOT/pages/how-tos/deploy_ocp.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
= Deploy on existing OpenShift cluster

This guide describes how to deploy the Exoscale cloud-controller-manager (CCM) on an existing cluster.

We recommend that you migrate your cluster to use https://kb.vshn.ch/oc4/how-tos/exoscale/migrate_to_instancepool.html[instancepools for the worker nodes] before deploying the CCM.


== Prerequisites
* cluster-admin access to the cluster to migrate
* `kubectl`
* Write access to the cluster's Syn tenant repository

Comment thread
HappyTetrahedron marked this conversation as resolved.
== Step-by-step guide

. Deploy component-exoscale-cloud-controller-manager.
Add the following to your cluster's Project Syn configuration:
+
[source,yaml]
----
applications:
- exoscale-cloud-controller-manager
----

. Patch infrastructure config
+
IMPORTANT: This step triggers node reboots to apply the Kubelet flag `--cloud-provider=external`.
+
[source,bash]
----
kubectl --as cluster-admin patch infrastructure.config cluster --type=merge -p '{"spec":{"platformSpec":{"external":{"platformName":"exoscale"},"type":"External"}}}'
----
+
[source,bash]
----
kubectl --as=cluster-admin patch infrastructure.config cluster --type=merge --subresource=status \
-p '{"status":{"platform":"External","platformStatus":{"external":{"cloudControllerManager":{"state":"External"}},"type":"External"}}}'
----

. Taint nodes with `node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule`
+
[source,bash]
----
kubectl --as cluster-admin taint node --all node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule
----

. Check if instance-type is applied
+
[source,bash]
----
kubectl get nodes -ocustom-columns='NAME:.metadata.name,INSTANCE_TYPE:.metadata.labels.node\.kubernetes\.io/instance-type'
----
+
[source,bash]
----
NAME INSTANCE_TYPE
infra-032a standard.extra-large
infra-7b8b standard.extra-large
infra-f8e1 standard.extra-large
infra-fa1a standard.extra-large
master-03b1 standard.extra-large
master-4386 standard.extra-large
master-a662 standard.extra-large
storage-11b9 cpu.extra-large
storage-2764 cpu.extra-large
storage-5d24 cpu.extra-large
worker-e6e75-drjgz standard.extra-large
worker-e6e75-ikhpr standard.extra-large
worker-e6e75-nypky standard.extra-large
----
1 change: 1 addition & 0 deletions docs/modules/ROOT/partials/nav.adoc
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
* xref:index.adoc[Home]
* xref:references/parameters.adoc[Parameters]
* xref:how-tos/deploy_ocp.adoc[Install on Existing OpenShift Cluster]