Install GitPod

GitPod 설치

2020년에 출시되었으며, '즉시 개발 가능한' 환경을 자동화하는 오픈소스 플랫폼

  • 설치 문서

1. https://www.gitpod.io/docs/configure/self-hosted/helm-deprecated/installation/on-kubernetes
2. https://www.gitpod.io/docs/configure/self-hosted/latest/installing-gitpod
  • 설치 환경 요구사항

- linux kernel > 5.4
- ubuntu 20.04 and 22.04
- kubernetes version 1.23.10
- orchestration Platform : k3s
- containerd 1.5 and 1.6
- cni: calico vxlan
- cert-manager > 1.5
- database : mysql
- image repository : minio aws s3
- At least 4 vCPU and 16GB of RAM
- Load Balancer
- k8s cluster (do not use docker)
  • 사전 준비 작업 (내부 pod를 dns를 통해 호출 )

coredns 설정 변경

$ kubectl -n kube-system edit cm coredns # ready 와 kubernetes cluster.local 사이
apiVersion: v1
data:
  Corefile: |
    .:53 {
        errors
        health {
           lameduck 5s
        }
        ready
        rewrite stop {
           name regex registry.gitpod.handymes.com proxy.gitpod.svc.cluster.local
           answer name prox.gitpod.svc.cluster.local registry.gitpod.handymes.com
        }
        kubernetes cluster.local in-addr.arpa ip6.arpa {
           pods insecure
           fallthrough in-addr.arpa ip6.arpa
           ttl 30
        }
        prometheus :9153
        forward . /etc/resolv.conf {
           max_concurrent 1000
        }
        cache 30
        loop
        reload
        loadbalance
    }
kind: ConfigMap
metadata:
  name: coredns
  namespace: kube-system

node label (모든 worker node)

$ kubectl label node node1 gitpod.io/workload_meta=true gitpod.io/workload_ide=true gitpod.io/workload_workspace_services=true gitpod.io/workload_workspace_regular=true gitpod.io/workload_workspace_headless=true
$ kubectl label node node2 gitpod.io/workload_meta=true gitpod.io/workload_ide=true gitpod.io/workload_workspace_services=true gitpod.io/workload_workspace_regular=true gitpod.io/workload_workspace_headless=true
$ kubectl label node node3 gitpod.io/workload_meta=true gitpod.io/workload_ide=true gitpod.io/workload_workspace_services=true gitpod.io/workload_workspace_regular=true gitpod.io/workload_workspace_headless=true

gitpod 설치도구 kots 설치 (root 사용자)

sudo -i
curl https://kots.io/install | bash
kubectl kots install gitpod

dns 서버에 아래sodyd A record로 등록 (gitpod proxy loadbalancer IP)

gitlab.handymes.com
@.gitpod.handymes.com
*.gitpod.handymes.com
*.ws.gitpod.handymes.co

gitpod 설정 콘솔

kubectl kots admin-console --namespace gitpod

Last updated