Skip to main content
Version: 1.4.0

Install konnector without klutch-bind CLI

When provisioning an App Cluster from an automated CI flow, it may be desirable to avoid additional dependencies like the kubectl bind CLI binary or the anynines helper CLI.

For those cases it is possible to deploy the konnector component using a plain kubernetes manifest.

note

These steps will only install the generic konnector component. They will not bind the App Cluster to the Control Plane Cluster yet.

First time installation

The manifests to apply can be found in the codeblock below.

Before applying them, make sure replace the image with the latest one if necessary. The latest one can always be found in this documentation.

apiVersion: v1
kind: Namespace
metadata:
name: kube-bind
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: klutch-bind-konnector
rules:
- apiGroups:
- "*"
resources:
- "*"
verbs:
- "*"
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: klutch-bind-konnector
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: klutch-bind-konnector
subjects:
- kind: ServiceAccount
name: konnector
namespace: kube-bind
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: konnector
namespace: kube-bind
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: konnector
namespace: kube-bind
labels:
app: konnector
spec:
replicas: 2
selector:
matchLabels:
app: konnector
template:
metadata:
labels:
app: konnector
spec:
restartPolicy: Always
serviceAccountName: konnector
containers:
- name: konnector
# Make sure to use the latest image version here:
image: public.ecr.aws/w5n9a2g2/anynines/konnector:v1.4.0
env:
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace

Updating konnector

In order to update an existing konnector installation with a new version, simply reapply the Deployment manifest, with the new image version.

Example (fictional image version):

apiVersion: apps/v1
kind: Deployment
metadata:
name: konnector
namespace: kube-bind
labels:
app: konnector
spec:
replicas: 2
selector:
matchLabels:
app: konnector
template:
metadata:
labels:
app: konnector
spec:
restartPolicy: Always
serviceAccountName: konnector
containers:
- name: konnector
# Replace this with the new image version:
image: public.ecr.aws/w5n9a2g2/anynines/konnector:v3.141.59
env:
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace