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 |