Engineering/DevOps

[minikube] 형상관리(Gitea) 설치

망고v 2025. 1. 3. 14:55

 

Github에 업로드하기 애매한 소스가 생겨 Local 형상관리를 구성하고자 한다.

 

[참고] https://docs.gitea.com/installation/install-on-kubernetes

 

Install on Kubernetes | Gitea Documentation

Gitea provides a Helm Chart to allow for installation on kubernetes.

docs.gitea.com

 

doc 자료와 거의 동일하게 진행되며, 향후 편의성을 위해 namespace(cicd)만 별도 구분하여 수행한다.

➜  ~ helm repo add gitea-charts https://dl.gitea.com/charts/
"gitea-charts" has been added to your repositories

➜  ~ k create namespace cicd
namespace/cicd created

➜  ~ helm install gitea gitea-charts/gitea -n cicd
NAME: gitea
LAST DEPLOYED: Thu Jan  2 17:24:51 2025
NAMESPACE: cicd
STATUS: deployed
REVISION: 1
NOTES:
1. Get the application URL by running these commands:
  echo "Visit http://127.0.0.1:3000 to use your application"
  kubectl --namespace cicd port-forward svc/gitea-http 3000:3000

 

설치는 너무 간단하다. 

 

최적화

불필요한 자원 낭비 방지하기 위해 일부 설정을 수정하도록 한다. 하단 Statefulsets의 replicas를 3 -> 1로 조정.

  • Statefulsets/gitea-postgresql-ha-postgresql
  • Statefulsets/gitea-redis-cluster
    • 주의: Cluster에 다시 접속할 때 관련 pod가 정상 running되지 않는 경우가 있다. replicas를 3으로 원복 후, 줄여주자. 해당 pod가 정상 running 안될 경우, 로그인시 500 응답을 확인하게 된다.

 

설치 최종 현황은 아래와 같다.

➜  ~ k get all -n cicd
NAME                                              READY   STATUS    RESTARTS       AGE
pod/gitea-65c895c857-7dmf4                        1/1     Running   0              8m10s
pod/gitea-postgresql-ha-pgpool-74dbfbcc78-k8xwd   1/1     Running   0              8m10s
pod/gitea-postgresql-ha-postgresql-0              1/1     Running   0              8m10s
pod/gitea-redis-cluster-0                         1/1     Running   1 (7m7s ago)   8m10s

NAME                                              TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)              AGE
service/gitea-http                                ClusterIP   None             <none>        3000/TCP             8m10s
service/gitea-postgresql-ha-pgpool                ClusterIP   10.107.202.42    <none>        5432/TCP             8m10s
service/gitea-postgresql-ha-postgresql            ClusterIP   10.109.67.112    <none>        5432/TCP             8m10s
service/gitea-postgresql-ha-postgresql-headless   ClusterIP   None             <none>        5432/TCP             8m10s
service/gitea-redis-cluster                       ClusterIP   10.111.230.234   <none>        6379/TCP             8m10s
service/gitea-redis-cluster-headless              ClusterIP   None             <none>        6379/TCP,16379/TCP   8m10s
service/gitea-ssh                                 ClusterIP   None             <none>        22/TCP               8m10s

NAME                                         READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/gitea                        1/1     1            1           8m10s
deployment.apps/gitea-postgresql-ha-pgpool   1/1     1            1           8m10s

NAME                                                    DESIRED   CURRENT   READY   AGE
replicaset.apps/gitea-65c895c857                        1         1         1       8m10s
replicaset.apps/gitea-postgresql-ha-pgpool-74dbfbcc78   1         1         1       8m10s

NAME                                              READY   AGE
statefulset.apps/gitea-postgresql-ha-postgresql   1/1     8m10s
statefulset.apps/gitea-redis-cluster              1/1     8m10s

 

 

Gitea admin 계정과 초기 Password

초반에 secrets을 살폈으나 불필요한 과정이었고, Deployment에 env를 참고하면 된다.

│ apiVersion: apps/v1
│ kind: Deployment
│ metadata:
..생략..
│   name: gitea
│   namespace: cicd
..생략..
│     spec:
│       containers:
│       - command:
│         - /usr/sbin/configure_gitea.sh
│         env:
..생략..
│         - name: GITEA_ADMIN_USERNAME
│           value: gitea_admin
│         - name: GITEA_ADMIN_PASSWORD
│           value: r8sA8CPHD9!bt6d

 

 

이제 Repository 구성 후, 형상관리를 시작해보자.

 

'Engineering > DevOps' 카테고리의 다른 글

[CICD] Jenkins 설치하기  (0) 2025.04.21
[형상관리] Gitea repository 생성  (0) 2025.01.07
Tekton 설치(minikube)  (0) 2024.06.11
Gradle 적용 및 Maven과 비교  (0) 2024.04.25
Grafana 설치 (kubernetes/aws)  (0) 2024.03.21