일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 웹 해킹
- deploy
- CI/CD
- Resource
- gitlab cd
- gitlab ci
- ECR
- 크롤링
- Monitoring
- helm
- GitLab
- sonarqube
- 스크레이핑
- linkerd
- CI
- CD
- 모의해킹
- Kubernetes
- DevOps
- argocd
- Grafana
- opentelemetry
- scraping
- Prometheus
- Service Mesh
- 웹 취약점
- eks
- docker
- Jenkins
- Crawling
- Today
- Total
목록분류 전체보기 (57)
ㅡ.ㅡ
이전에 생성한 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..
ECR 주소 변수 생성 AWS CLI + Docker 이미지 생성 아래 이미지와 같이 ECR 내 저장소에 들어가면 푸시 명령어가 작성되어있다. CI 작업 진행시 사용할 도커 이미지와 ECR에 로그인할 AWS-CLI 이미지를 병합한 이미지를 생성한다. # Dockerfile FROM amazon/aws-cli as initial FROM docker.io/library/docker:19.03.15 COPY --from=initial / / # 생성된 IMAGE ECR push(Dockerfile이 있는 경로에서 진행) aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin docker b..
소스코드를 변경 후 Gitlab 저장소에 push했을 때 gradle을 통해 빌드 후 생성된 jar를 파일을 openjdk-jre11 docker image에 옮긴 후 해당 이미지를 Gitlab Registry에 저장하는 방법이다. Deploy Token Gitlab Registyr에 사용할 토큰을 생성 후 CI/CD 변수에 토큰명과 값을 등록하여 CI 작업시 Gitlab Registry 접근 시 해당 값으로 인증한다. Dockerfile # 빌드 작업 FROM openjdk:11-jdk as builder COPY gradlew . COPY gradle gradle COPY build.gradle . COPY settings.gradle . COPY src src RUN chmod +x ./gradle..
CI/CD 진행 시 해당 Runner를 통해 작업을 지시한다. helm gitlab-runner 설치 helm repo add gitlab https://charts.gitlab.io helm pull gitlab/gitlab-runner tar -xvzf gitlab-runner.tgz values.yaml파일 수정 40 gitlabUrl: 주소 41 42 ## The Registration Token for adding new Runners to the GitLab Server. This must 43 ## be retrieved from your GitLab Instance. 44 ## ref: https://docs.gitlab.com/ce/ci/runners/README.html 45 ## 46..
gitlab과 K8S를 연동하여 CI/CD 환경을 구성하여 준다. sa&rabc 생성 gitlab에서 k8s 리소스를 제어하기위해 계정과 권한을 추가해준다. kubectl get sa -n kube-system | grep gitlab-admin 생성 확인 명령어 : ktl get sa -n kube-system | grep gitlab-admin apiVersion: v1 kind: ServiceAccount metadata: name: gitlab-admin namespace: kube-system --- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: name: gitlab-admin roleRef: a..
파이프라인을 통한 워크플로우 자동화, 이슈 관리, 소스코드 저장소 등을 사용할 수 있는 시스템이다. 볼륨을 호스트에 공유하여 도커를 통한 gitlab버전 업그레이드(이미지 변경)시 데이터를 보존할수있다. 계정 정보 : root/docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
Nginx 컨트롤러 생성 설치 파일 wget -O aws_nlb_nginx_ingress_controller.yaml https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/aws/deploy.yaml프라이빗 서브넷에 로드밸런서 생성 설정 추가 프라이빗 서브넷 태그 추가 KEY : kubernetes.io/role/elb Value : 1, KEY : kubernetes.io/role/internal-elb Value : 1 퍼블릭 서브넷에 생성 시 service.beta.kubernetes.io/aws-load-balancer-internal: "true" 항목 제거 271 # Source: ingr..
서비스별 사용 포트 SNMP(Inbound) : 161/UDP (snmp_exporter 설치 서버) snmp_exporter(Inbound) : 9116/TCP (Prometheus서버에 설치 시 미 필요) go 설치 wget https://dl.google.com/go/go1.12.5.linux-amd64.tar.gz tar -xvzf go1.12.5.linux-amd64.tar.gz mv go /usr/local 환경 변수 등록 vi ~/.bashrc export GOROOT=/usr/local/go export GOPATH=$HOME/go export PATH=$GOPATH/bin:$GOROOT/bin:$PATH export MIBDIRS=mibs source ~/.bahsrc snmp_expor..