export ENV=dev
helm repo add harbor https://helm.goharbor.io
helm install eden-harbor harbor/harbor --namespace harbor --create-namespace -f values-${ENV}.yaml
expose:
type: nodePort
tls:
enabled: false
# external-ip 는 get nodes -o wide
externalURL: http://198.19.249.2:30011
harborAdminPassword: "1234"
persistence:
persistentVolumeClaim:
registry:
size: 5Gi
jobservice:
size: 1Gi
database:
size: 1Gi
redis:
size: 1Gi
trivy:
size: 1Gi
helm repo add jenkinsci https://charts.jenkins.io/
helm install eden-jenkins jenkinsci/jenkins --version 5.8.43 --namespace jenkins --create-namespace -f values-${ENV}.yaml
controller:
admin:
username: admin
password: "1234"
resources:
requests:
cpu: "100m"
memory: "256Mi"
limits:
cpu: "500m"
memory: "512Mi"
replicaCount: 1
serviceType: NodePort
servicePort: 8080
nodePort: 30012
persistence:
enabled: true
size: 2Gi
storageClass: "local-path"
installPlugins: []
securityRealm: "jenkins.security.HudsonPrivateSecurityRealm"
authorizationStrategy: "jenkins.security.FullControlOnceLoggedInAuthorizationStrategy"
javaOpts: "-Djenkins.install.runSetupWizard=false"
k create ns argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
kubectl patch svc argocd-server -n argocd \
-p '{"spec": {"type": "NodePort", "ports": [{"port": 443, "targetPort": 8080, "protocol": "TCP", "nodePort": 30013}]}}'
kubectl get secret argocd-initial-admin-secret -n argocd \
-o jsonpath="{.data.password}" | base64 -d && echo
1. GitHub에서 토큰 만들기
GitHub 접속 → 우측 상단 프로필 > Settings
좌측 메뉴에서 Developer settings → Personal access tokens → Fine-grained tokens 또는 Classic tokens
Generate new token
권한:
repo (private이라면)
또는 read-only로 충분
유효기간: 30일 또는 무제한 선택
🔑 복사된 토큰은 한 번만 보여지니 꼭 메모!
2. Jenkins에 자격 증명 추가
Jenkins → Manage Jenkins → Credentials → (global) 클릭
"Add Credentials" 클릭
| 항목 | 값 |
|---|---|
| Kind | Username with password |
| Username | GitHub 아이디 |
| Password | 위에서 복사한 Token |
| ID (중요) | 예: github-creds |
| Description | GitHub Personal Access Token 등 |
github 토큰 생성시 contentsㄹ랑 metadata 올려야된
https://argocd.example.comhttps://argocd.example.com/auth/callbackOAuth App을 4개 각각 생성하거나, redirect URI만 다르게 등록해서 한 개로 다 써도 됨.
GitHub Authentication plugin 설치https://github.comhttps://api.github.comread:org (조직 제한 가능)argocd-cm ConfigMap 수정apiVersion: v1
kind: ConfigMap
metadata:
name: argocd-cm
namespace: argocd
data:
dex.config: |
connectors:
- type: github
id: github
name: GitHub
config:
clientID: YOUR_CLIENT_ID
clientSecret: YOUR_CLIENT_SECRET
orgs:
- name: MadungAI
kubectl apply -f argocd-cm.yaml
kubectl rollout restart deployment argocd-server -n argocd
Harbor는 GitHub OAuth를 OIDC로 간접 연동 (Keycloak or Auth0 중계 사용)해야 했지만, 최근 버전은 직접 OIDC 연동 가능
https://github.comopenid profile emailhttps://harbor.example.com/c/oidc/callback필요 시
/etc/harbor/harbor.yml내 auth 설정 변경 후 재시작
[auth.github]
enabled = true
allow_sign_up = true
client_id = YOUR_CLIENT_ID
client_secret = YOUR_CLIENT_SECRET
scopes = user:email,read:org
auth_url = https://github.com/login/oauth/authorize
token_url = https://github.com/login/oauth/access_token
api_url = https://api.github.com/user
allowed_organizations = MadungAI
또는 Docker 환경변수로:
GF_AUTH_GITHUB_ENABLED=true
GF_AUTH_GITHUB_CLIENT_ID=YOUR_CLIENT_ID
GF_AUTH_GITHUB_CLIENT_SECRET=YOUR_CLIENT_SECRET
GF_AUTH_GITHUB_ALLOWED_ORGANIZATIONS=MadungAI
allowed_organizations: MadungAI) 설정 완료grafana:
grafana.ini:
server:
root_url: "%(protocol)s://%(domain)s/grafana/"
serve_from_sub_path: true
104 apt update
105 curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64/3bf863cc.pub | sudo gpg --dearmor -o /usr/share/keyrings/nvidia.gpg
106 curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64/3bf863cc.pub | gpg --dearmor -o /usr/share/keyrings/nvidia.gpg
107 echo "deb [signed-by=/usr/share/keyrings/nvidia.gpg] https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64 /" | tee /etc/apt/sources.list.d/nvidia-cuda.list
108 apt update
109 apt install nvidia-mig-manager
110 apt install nvidia-mig-manager
111 ls -l /proc/driver/nvidia/capabilities/*
112 nvidia-smi mig -lgipp
113 sudo nvidia-smi mig -cgi 0 -C
114 nvidia-smi mig -cgi 0 -C
115 nvidia-smi
116 nvidia-smi mig -dci --gpu-instance-id=0
117 nvidia-smi mig -dgi --id=0
118 nvidia-smi mig -cgi 14 -C -i 0
119 nvidia-smi mig -cgi 9 -C -i 0
120 nvidia-smi mig -cgi 5 -C -i 0
121 nvidia-smi
122 nvidia-smi -L
123 history