본문 바로가기

반응형

devops

(12)
Grafana Loki 성능 이슈 & 튜닝 모니터링을 하다 보니 한 노드가 100% peak를 치고 있는 것을 파악하였다.. kubectl describe node dev-k8s-np01-w-2gns 특이 사항은 describe에서는 타나자지 않는다.. 여기서는 파드들이 그저 할당량만 보여지지 현재 얼마를 사용하고 있는지는 표현되지 않는 것 같다. kubectl top node top 명령어에서는 현재 노드들의 사용량을 확인할 수 있었고, 위에 그라파나에 타나난 그래프와 유사하게 뜬다. 현재 node가 vCPU 2 코어인데… 2gns node는 모조리 100% 다 쓰고 있는 것을 확인할 수 있엇음.. 이제 어떤 파드인지 확인해야한다.. kubectl top pod --all-namespaces 다들 거의 조금 밖에 사용하지 않는데… loki가 1..
Database용 TCP Reverse-Proxy Database에 직접 접근하지말고 Reverse-Proxy를 둔다면 접근제어나 방화벽이 소용없게?...할 수도 있다. 방화벽 입장에서는 Proxy가 연결되는 것으로 보이니까... 여기서는 오라클 데이터에비스에 붙지만 어느 데이터베이스를 하더라도 상관없다. 포트랑 IP만 변경하면 거기에 맞게 붙어서 작동함. Kubernetes 서비스로 Nginx를 배포하나 배포한다.. 쿠버를 사용하지않고 도커로도 conf를 동일하게 작성하면 사용할 수 있다. Nginx-Proxy.yaml apiVersion: v1 kind: ConfigMap metadata: name: nginx-conf data: nginx-main.conf: | user nginx; worker_processes auto; error_log /va..
하나의 SSLVPN 여러 VPC 접근하도록 Reverse-Proxy 구성 현재 SSLVPN이 Prod VPC에는 직접 연결할 수 없음. SSLVPN은 Dev VPC에만 붙어있기 때문이다. 원래 같으면 VPC당 SSLVPN을 사용해야함.클라우드비용도 비용이지만... 개발자가 각 VPC에 접근할 때 매번 로그인과 문자인증을 해야함... 하루에 얼마나 많이 왔다갔다하는데... Reverse-Proxy 구성 docker-compose를 이용하여 nginx를 설치함. (리버시 프록시 특성상 80포트를 사용해야함.) docker-compose.yaml version: '3' services: nginx: image: nginx:latest ports: - 80:80 volumes: - ./proxy/nginx.conf:/etc/nginx/nginx.conf container_name: ..
Docker-compose 설치하기 Docker 최신버전 설치하기 (이미 최신 Docker 설치되었다면 스킵) https://intpd.tistory.com/entry/Docker-설치하기 Docker-Compose 최신 버전 설치하기 https://github.com/docker/compose GitHub - docker/compose: Define and run multi-container applications with Docker Define and run multi-container applications with Docker - GitHub - docker/compose: Define and run multi-container applications with Docker github.com 1) Docker Compose 최신버..
Docker 설치하기 공식 홈페이지에서 보고하는 것이 최고다. Cent OS 기준 https://docs.docker.com/engine/install/centos/ Install Docker Engine on CentOS docs.docker.com 다른 OS도 위의 링크에 들어가서 왼쪽 메뉴에 보면 있다. 다른 OS에 설치하는 경우도 공식 홈페이지를 참조. 주절주절 설명필요없고 그냥 아래 스크립트 하나씩 실행하면 설치완료 sudo yum remove docker \\ docker-client \\ docker-client-latest \\ docker-common \\ docker-latest \\ docker-latest-logrotate \\ docker-logrotate \\ docker-engine sudo yum..
GitLab 레포지토리 마이그레이션 as-is Gitlab → to-be Gitlab 마이그레이션 스크립트 작성 일일이 신규 gitlab으로 옮기기 귀찮아서 쉘스크립트 작성 gitlab-repo-migration.sh #!/bin/bash echo "All params = $@" for i in $@ do echo "$i ################################################" git clone https://gitlab-original-domain.com/gitlab-group-name/$i.git cd ./$i git branch -r | grep -v '\->' | sed "s,\x1B\[[0-9;]*[a-zA-Z],,g" | while read remote; do git branch --track "..
네이버클라우드 서버에 스토리지 추가 및 초기화 작업 목차 1. NCP 콘솔에서 스토리지 생성 2. fdisk를 이용한 디스크 파티션 생성 3. 파티션 포맷 4. 스토리지 마운트 5. 마운트 정보 유지 설정 6. 권한 이슈 해결하기 1. NCP 콘솔에서 스토리지 생성 스토리지를 부여할 서버를 선택한다. 상단에 “서버 관리 및 설정 변경” → “스토리지 생성” 클릭 위의 캡처와 같이 스토리지 이름과 용량을 입력하고 추가를 누르면 스토리지가 추가된다. 마지막으로 내용을 확인하고 확인 버튼을 클릭한다. 아래의 캡처를 보면 콘솔에 서버 상세내역을 보면 스토리지 부분에 생성한 스토리지가 보인다. 서버에 연결은 되어있지만 파티션이나 파일시스템이 만들어지지 않은 상태라 사용할 수가 없기 때문에 따로 작업을 해줘야 정상적으로 사용할 수 있다. 여기서 연결정보 /dev/x..
GitLab-Runner Helm Installation Intro GitLab 서버 자체는 VM서버 위에 docker-compose로 구성하였음. GitLab-Runner는 쿠버 안에다가 설치를 진행하여 GitLab main 서버와 연동해보겠음. 왜 둘다 쿠버에 안올리냐구??.. GitLab을 처음에 네이버클라우드 NKS위에 올려서 사용했는데... 네이버 쪽에서 DNS 장애가 난적이 있어서... 개발자들이 아예 푸쉬를 못하는 상황이 발생한 적이 있음... 당시 네이버도 따로 통보를 안해줬고.. 우리들은 당연히 쿠버에 설치된 GitLab이 오류난 줄 알고 GitLab 로그를 잔뜩보고 쿠버 로그를 보고 있었지... GitLab Helmchart가 워낙 복잡하게 yaml 코드가 복잡해서.. 이걸 쿠버에 운영하는 것이 과연 맞을까.... 비지니스 로직만 쿠버에 올리..
docker-compose Gitlab 백업 구축하기 현재 docker-compose로 GitLab이 실행중에 있다고 보자.. 기존에 정의된 docker-compose에 아래의 빨간 부분을 추가한다. 그리고 컨테이너 재실행 docker-compose up -d 매일매일 cron job으로 해당 스크립트를 실행되도록 쉘 스크립트를 작성한다. "~/scripts" 경로에 gitlab-backup.sh를 생성하고 다음과 같이 작성한다. #!/bin/sh BACKUP_DIR='/mnt/bds/gitlab_home/backups' BACKUP_LIFETIME=30 #30일 저장 TZ=Asia/Seoul docker exec gitlab gitlab-backup create CRON=1 BACKUP_FILE=`ls -t $BACKUP_DIR | head -n 1` e..
docker-compose Gitlab Installation docker, docker-compose는 설치되어있다고 가정하고 진행함. docker-compose.yml을 정의하기 전에 필요한 디렉토리를 생성해야한다. gitlab을 데이터를 담기위한 볼륨은 로컬 또는 아래와 같이 NAS를 마운트된 경로를 지정하여 gitlab_home을 생성하고 data, logs, config 디렉토리를 만들어둔다. 그리고 소유권 및 권한을 설정하였다. cd /mnt/bds #bds NCP NAS가 mnt/bds에 현재 마운트되어진 상태, 입맛에 맞게 로컬 경로 어딘가도 상관없음. sudo mkdir gitlab_home #GitLab 작업 디렉터리 생성 cd gitlab_home sudo mkdir data #어플리케이션 데이터 저장용 sudo mkdir logs #로그 저장용..

반응형