Clean Install AirByte 64.1 helm
after 64.0 airbyte docker setup is deprecated.
https://docs.k3s.io/quick-start This Setup have some problem, can't read secrets for password and username.
Step 1:
Install Script​ K3s. K3s provides an installation script that is a convenient way to install it as a service on systemd or openrc based systems. This script is available at https://get.k3s.io. To install K3s using this method, just run:
curl -sfL https://get.k3s.io | sh -
After running this installation:
* The K3s service will be configured to automatically restart after node reboots or if the process crashes or is killed
* Additional utilities will be installed, including kubectl, crictl, ctr, k3s-killall.sh, and k3s-uninstall.sh
* A kubeconfig file will be written to /etc/rancher/k3s/k3s.yaml and the kubectl installed by K3s will automatically use it
Step 2:
Download install script for helm.
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
Make it execute
chmod 700 get_helm.sh
Start script:
./get_helm.sh
"Downloading https://get.helm.sh/helm-v3.15.4-linux-amd64.tar.gz
Verifying checksum... Done.
Preparing to install helm into /usr/local/bin
helm installed into /usr/local/bin/helm"
Step 3:
Add airbyte repo
helm repo add airbyte https://airbytehq.github.io/helm-charts
Update repo
helm repo update
"Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "airbyte" chart repository
Update Complete. ⎈Happy Helming!⎈"
check the repo airbyte
helm search repo airbyte
helm search repo airbyte
"NAME CHART VERSION APP VERSION DESCRIPTION
airbyte/airbyte 0.524.0 0.64.1 Helm chart to deploy airbyte
airbyte/airbyte-api-server 0.293.4 0.63.8 Helm chart to deploy airbyte-api-server
airbyte/airbyte-bootloader 0.524.0 0.64.1 Helm chart to deploy airbyte-bootloader
airbyte/airbyte-cron 0.40.37 0.40.17 Helm chart to deploy airbyte-cron
airbyte/airbyte-workload-api-server 0.49.18 0.50.33 Helm chart to deploy airbyte-api-server
airbyte/connector-builder-server 0.524.0 0.64.1 Helm chart to deploy airbyte-connector-builder-...
airbyte/cron 0.524.0 0.64.1 Helm chart to deploy airbyte-cron
airbyte/keycloak 0.524.0 0.64.1 Helm chart to deploy airbyte-keycloak
airbyte/keycloak-setup 0.524.0 0.64.1 Helm chart to deploy airbyte-keycloak-setup
airbyte/metrics 0.524.0 0.64.1 Helm chart to deploy airbyte-metrics
airbyte/pod-sweeper 0.524.0 0.64.1 Helm chart to deploy airbyte-pod-sweeper
airbyte/server 0.524.0 0.64.1 Helm chart to deploy airbyte-server
airbyte/temporal 0.524.0 0.64.1 Helm chart to deploy airbyte-temporal
airbyte/webapp 0.524.0 0.64.1 Helm chart to deploy airbyte-webapp
airbyte/worker 0.524.0 0.64.1 Helm chart to deploy airbyte-worker
airbyte/workload-api 0.50.3 0.50.35 Helm chart to deploy the workload-api service
airbyte/workload-api-server 0.524.0 0.64.1 Helm chart to deploy the workload-api service
airbyte/workload-launcher 0.524.0 0.64.1 Helm chart to deploy airbyte-workload-launcher "
Step 4:
after that we need to install airbyte.
helm install airbyte_64-1 airbyte/airbyte
Error: INSTALLATION FAILED: Kubernetes cluster unreachable: Get "http://localhost:8080/version": dial tcp 127.0.0.1:8080: connect: connection refused
if we get this error we need to change permissions.
kubectl cluster-info
WARN[0000] Unable to read /etc/rancher/k3s/k3s.yaml, please start server with --write-kubeconfig-mode or --write-kubeconfig-group to modify kube config permissions
sudo chmod 644 /etc/rancher/k3s/k3s.yaml
sudo chown $(whoami):$(whoami) /etc/rancher/k3s/k3s.yaml
kubectl cluster-info
Kubernetes control plane is running at https://127.0.0.1:6443
CoreDNS is running at https://127.0.0.1:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
Metrics-server is running at https://127.0.0.1:6443/api/v1/namespaces/kube-system/services/https:metrics-server:https/proxy
if you still get that error:
helm install airbyte_64-1 airbyte/airbyte
Error: INSTALLATION FAILED: Kubernetes cluster unreachable: Get "http://localhost:8080/version": dial tcp 127.0.0.1:8080: connect: connection refused
sudo cp /etc/rancher/k3s/k3s.yaml $HOME/.kube/config
sudo chown $(whoami):$(whoami) $HOME/.kube/config
export KUBECONFIG=$HOME/.kube/config
helm install airbyte-64-1 airbyte/airbyte
output:
WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /home/yuri/.kube/config
WARNING: Kubernetes configuration file is world-readable. This is insecure. Location: /home/yuri/.kube/config
NAME: airbyte-64-1
LAST DEPLOYED: Mon Sep 2 14:31:36 2024
NAMESPACE: default
STATUS: deployed
REVISION: 1
NOTES:
1. Get the application URL by running these commands:
export POD_NAME=$(kubectl get pods --namespace default -l "app.kubernetes.io/name=webapp" -o jsonpath="{.items[0].metadata.name}")
export CONTAINER_PORT=$(kubectl get pod --namespace default $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
echo "Visit http://127.0.0.1:8080 to use your application"
kubectl --namespace default port-forward $POD_NAME 8080:$CONTAINER_PORT
- Next command will expose the port and you can access locally, but for dedicated you need to make service of that pod.
kubectl --namespace default port-forward $POD_NAME 8080:$CONTAINER_PORT
Forwarding from 127.0.0.1:8080 -> 8080
Forwarding from [::1]:8080 -> 8080
Handling connection for 8080
Step 5:
Next we need to find name of airbyte-webapp.
kubectl get deployments
NAME READY UP-TO-DATE AVAILABLE AGE
airbyte-64-1-connector-builder-server 1/1 1 1 54m
airbyte-64-1-cron 1/1 1 1 54m
airbyte-64-1-pod-sweeper-pod-sweeper 1/1 1 1 54m
airbyte-64-1-server 1/1 1 1 54m
airbyte-64-1-temporal 1/1 1 1 54m
airbyte-64-1-webapp 1/1 1 1 54m
airbyte-64-1-worker 1/1 1 1 54m
airbyte-64-1-workload-api-server 1/1 1 1 54m
airbyte-64-1-workload-launcher 1/1 1 1 54m
we need to find airbyte-web
kubectl describe deployments airbyte-64-1-webapp
kubectl expose deployment airbyte-64-1-webapp --type=LoadBalancer --name=AirByte
kubectl get services airbyte
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
airbyte LoadBalancer 10.43.115.174 192.168.1.82 8080:31995/TCP 8s
kubectl get pods --output=wide