일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Prometheus
- 크롤링
- scraping
- 스크레이핑
- Resource
- CI/CD
- deploy
- gitlab ci
- Kubernetes
- sonarqube
- docker
- CD
- Jenkins
- eks
- 웹 취약점
- opentelemetry
- 모의해킹
- Monitoring
- helm
- Grafana
- Service Mesh
- argocd
- 웹 해킹
- gitlab cd
- linkerd
- Crawling
- GitLab
- CI
- ECR
- DevOps
- Today
- Total
목록CD (6)
ㅡ.ㅡ
Gitlat Repo Jenkinsfile 수정 Argocd에서 사용되는 Helm Repo에 저장된 이미지의 태그 값을 업데이트하여 ArgoCD에서 변경 사항을 감지하게하는 과정이다. Clone repository push된 저장소를 불러오는 과정으로 JenkinsAgent로 저장소의 파일들을 복사한다. 또한 이미지의 태그값으로 사용할 COMMIT_ID_SHORT값을 추출한다. Image Tag Update 기존에 불러온 APP의 저장소를 삭제하고 Gitlab credentials을 사용해 Helm저장소를 불러온다. Clone repository Stage에서 values.yaml파일에 저장된 tag값을 추출한 COMMIT_ID_SHORT 값으로 변경 후 push를한다. Gitlab credentials..
Gitlab app/springboot git 이미지를 통해 helm 리소스가 저장된 프로젝트를 클론하여 CI시 변경된 이미지 태그값과 커밋 메시지를 app이있는 저장소의 COMMIT_SHORT_SHA값으로 입력하여 변경된 리소스의 추적성을 확보할 수 있다. argocd쪽에서는 해당 프로젝트를 주기적으로 확인하다가 자동 배포를 사용할경우 변경된 리소스를 감지하여 배포하게 된다. helm-value-update: stage: deploy image: entrypoint: [''] name: alpine/git:latest script: - mkdir /helm-repo; cd /helm-repo - git clone http://아이디:비밀번호@프로젝트주소.git - git config --global u..
kubectl apply -f 링크 주소 형식으로 설치를 안하는 이유는 삭제하려고 할 때 설치했을 당시와 내용이 변경됬으면 삭제할 때 오류가 발생하는 부분을 방지하기위해 wget으로 파일을 다운로드 후 진행한다(정확히 테스트는 안해봤지만.. 이름, 버전 같은것들이 변경됬을경우 리소스를 찾을 수 없다고 나올 확률이 높음) 네임스페이스 생성 및 리소스 파일 다운로드 kubectl create namespace argocd wget https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml -O argocd.yaml argocd.yaml > NLB 설정 변경(aws lb controller - 2.2버전) Annotation..
이전에 생성한 gitlab-admin SA와 dtzar/helm-kubectl 이미지를 활용해 Gitlab에서 helm 을 사용하여 CD작업을 진행한다. helm_charts 저장소에 아래 이미지와 같이 helm_charts 폴더에 생성할 리소스 파일을 준비해놓는다. values.yaml에 정의된 값들이 templates에 잇는 K8S 리소스 파일에 매핑된다. .gitlab-ci.yml kubectl 명령어를 사용하기 위해 k8s api 서버에 인증할 값들을 CI/CD 변수로 등록한다. 배포시 변경되는값(이미지 파일의 태그 값과 환경 등)들을 values파일에 추가하여 배포를 진행한다. before_script: - export # 스크립트에서 사용할 변수 설정 variables: DOCKER_TLS_C..
이전에 생성한 gitlab-admin SA와 dtzar/helm-kubectl 이미지를 활용해 Gitlab에서 CD작업을 진행한다. k8s-conf/resource.yaml 저장소에 아래 이미지와 같이 k8s-conf에 생성할 리소스 파일을 준비해놓는다. # 내부 접근용 서비스(ClusterIP) - 셀렉터의 라벨과 파드의 라벨 매칭 apiVersion: v1 kind: Service metadata: name: springboot-svc-clusterip spec: ports: - name: springboot-web-clusterip port: 7070 targetPort: 8080 selector: app: springboot type: ClusterIP --- # 내/외부 접근용 서비스(Nodep..