반응형

CI/CD 툴 종류 및 비교 (Jenkins, AWS CodeBuild, ArgoCD, Github Actions)

CI/CD(Continuous Integration/Continuous Deployment) => 소프트웨어 개발 프로세스에서 자동화된 빌드, 테스트 배포를 통해 개발자들이 더욱 빠르고 안정적인 소프트웨어를 제공할 수 있도록 해줌 대표적인 CI/CD 툴 1. Jenkins 특징: Jenkins는 오픈소스 CI/CD 도구로서 매우 유연하고 확장 가능한 플러그인 시스템을 가지고 있습니다. 다양한 플러그인을 통해 다양한 작업들을 지원하며, 커뮤니티의 활발한 지원과 풍부한 자료가 있습니다. 장점: 커스텀 가능성이 높고, 다양한 통합 및 확장 기능을 제공합니다. 대부분의 환경과 툴들과 통합이 가능합니다. 단점: 설정 및 관리가 복잡할 수 있고, 초기 설정에 시간이 걸릴 수 있습니다. 2. AWS CodeBuild..

DevOps 2023.08.17 0

ArgoCD 란?

ArgoCD ArgoCD는 GitOps 기반의 Continuous Delivery(CD) 도구로, Kubernetes 클러스터 내의 애플리케이션 배포 및 관리를 자동화합니다. 애플리케이션의 상태를 Git 저장소에 정의하고, GitOps 워크플로우를 통해 클러스터에 반영됩니다. 강력한 UI와 CLI를 제공하여 애플리케이션의 배포, 롤백, 상태 확인 등을 간편하게 수행할 수 있습니다. ArgoCD 사용을 위한 기본 지식 Kubernetes(K8s) => ArgoCD는 Kubernetes 클러스터 내에서 동작하므로, Pod, Deployment, Service 등의 기본 용어와 개념 이해 GitOps 워크플로우와 Git의 기본 사용 => 애플리케이션의 원하는 상태를 Git 저장소에 정의하고, GitOps 워크..

DevOps 2023.08.17 0

FTP와 TFTP: 파일 전송 프로토콜 비교 및 장단점

FTP와 TFTP란? FTP(파일 전송 프로토콜)와 TFTP(간단한 파일 전송 프로토콜)는 네트워크 상에서 파일을 전송하기 위해 사용되는 프로토콜입니다. 각각의 특징과 용도를 비교해보겠습니다. FTP(파일 전송 프로토콜)의 특징 FTP는 TCP/IP 프로토콜을 기반으로 동작합니다. 파일 및 디렉토리를 전송하고 관리하기 위해 사용됩니다. 일반적으로 인증이 필요하며, 사용자 계정과 비밀번호로 접속합니다. FTP는 명령(command) 채널과 데이터(data) 채널을 사용하여 제어와 데이터 전송을 분리합니다. 보안성에 취약할 수 있으며, 데이터가 암호화되지 않아 도청의 위험이 있습니다. 파일 전송에 대한 기능이 다양하고 복잡한 기능을 지원합니다. TFTP(간단한 파일 전송 프로토콜)의 특징 TFTP는 UDP ..

미들웨어 2023.07.23 0

[Ubuntu 20.04] Low Disk Space on Filesystem root 오류

VMware에 Ubuntu 20.04 를 설치하고 이것저것 해보던 도중 'Low DIsk Space on Filesystem root' 라는 오류가 떴다. 저장 공간이 부족하다고 한다. VMware Settings 에서 Hard Disk -> Disk utilities -> Expand 를 통해 원하는 만큼 증설해준다. df -h 명령어로 확인해보니 /dev/sda5의 용량이 거의 다 차버려서 그런것 같다. 처음에 10GB로 했다가 zabbix-server 깔던도중에 계속 알람뜨던데... 너무 작게했나보다. 그 VMware 저장 경로로 가서 .vmdk 를 백업해준다. 파일 찾기 프로그램으로 찾다보면 여러개 있는데 해당 .vmdk 파일을 잘 백업해둔다. 파일시스템 증설할때 데이터가 손실될 수 있어서 잘 백..

리눅스 2023.07.19 0

[Ubuntu20.04] ec2 생성 및 putty ec2 연결 (AWS)

구축 환경 - AWS EC2 (t2.micro) - Ubuntu 20.04 프리티어 사용을 위해 계정을 신규생성하였다. EC2에서 인스턴스 생성을 먼저하자 Ubuntu 20.04 LTS 선택 (프리티어 사용가능 꼭 확) 인스턴스도 프리티어 사용가능한 t2.micro 선택 벌써 기억이 가물가물하긴한데 EC2 로그인시 필요한 키페어 생성 네트워크 설정에서 방화벽에 대한 보안그룹 생성 (launch-wizard-1 이 기본 이름) 프리티어 조건 잘 읽어보기 (인스턴스 사용량 750 시간 등) 아 그리고 우측 상단에 리전 서울인거 확인하고 진행 (무슨 서비스를 만들던간에) 인스턴스 생성확인 Putty에 EC2 연결 #1. Putty Key Generator 를 통해 EC2 키페어 생성 Key Generator ..

AWS 2023.07.18 0

[Ubuntu20.04] Zabbix6.4 - Server 설치 (PostgreSQL 13.0, PHP 7.4, Apache 2.4, Zabbix Dashboard)

구축 환경 - Ubuntu 20.04 - PostgreSQL 13.0 이상 버전 - PHP 7.4 이상 버전 - Apache 2.4 - Zabbix 6.4 * Ubuntu 20.04 는 Vmware 에 설치 되어있음. (이부분은 각자 알아서 설치) 1. PostgreSQL 13.0 이상 버전 설치 sudo apt update sudo apt install postgresql sudo systemctl status postgresql // 서비스 시작 되었는지 확인 psql --version // Postgre 버전 확인 Postgre 버전이 13.0 이하 버전으로 설치됐을 경우 13 버전으로 업그레이드 // Ubuntu 20.04 기본 저장소에서는 Postgre 12 버전이 제공 됨 // PostgreS..

Zabbix 2023.07.18 0

리눅스 로그 파일 종류 (Apache, nginx, tomcat 등 기본 로그)

리눅스 로그 파일 종류에 대한 정리 로그 파일 종류 설명 /var/log/syslog 시스템 및 애플리케이션 로그를 기록하는 파일입니다. 시스템 이벤트, 서비스 동작, 오류 및 경고 메시지 등을 포함합니다. /var/log/auth.log 인증 관련 로그를 기록하는 파일입니다. 사용자 로그인, 로그아웃, 패스워드 인증 시도 등과 관련된 정보를 포함합니다. /var/log/kernel.log 커널 메시지와 경고를 기록하는 파일입니다. 하드웨어, 드라이버, 시스템 오류 등과 관련된 정보를 포함합니다. /var/log/nginx/error.log Nginx 웹 서버의 에러 로그를 기록하는 파일입니다. 웹 서버 동작 중 발생하는 오류와 예외 상황에 대한 정보를 담고 있습니다. /var/log/apache2/er..

리눅스 2023.07.17 0

쉘 스크립트의 if 문과 옵션

쉘 스크립트의 if 문과 옵션 쉘 스크립트에서 if 문을 사용하여 조건에 따른 작업을 수행할 수 있습니다. 아래는 주요한 옵션들의 예시와 함께 if 문을 사용하는 방법을 설명합니다. 옵션 옵션 설명 -f 파일 파일이 존재하는지 확인 -d 디렉토리 디렉토리가 존재하는지 확인 -r 파일 파일이 읽기 가능한지 확인 -w 파일 파일이 쓰기 가능한지 확인 -x 파일 파일이 실행 가능한지 확인 -z 문자열 문자열이 비어 있는지 확인 -n 문자열 문자열이 비어 있지 않은지 확인 문자열1 = 문자열2 두 문자열이 같은지 확인 문자열1 != 문자열2 두 문자열이 다른지 확인 정수1 -eq 정수2 두 정수가 같은지 확인 정수1 -ne 정수2 두 정수가 다른지 확인 정수1 -lt 정수2 정수1이 정수2보다 작은지 확인 정수..

Shell Script 2023.07.17 0

DNS 레코드: CNAME과 A 레코드의 차이점

DNS DNS(Domain Name System)은 인터넷에서 도메인 이름을 해당 도메인의 IP 주소로 변환하는 시스템입니다. 이를 통해 사용자는 도메인 이름을 사용하여 웹 사이트에 접속할 수 있습니다. DNS는 계층적인 구조로 이루어져 있으며, 도메인 이름을 계층적인 구조로 분할하여 관리합니다. CNAME 레코드 CNAME 레코드는 Canonical Name의 약자로, 도메인의 별칭을 설정하는 데 사용됩니다. 이 레코드를 사용하여 한 도메인을 다른 도메인으로 매핑할 수 있습니다. 예를 들어, "www.example.com" 도메인을 "example.com"으로 매핑하고 싶다면, "www.example.com"에 대한 CNAME 레코드를 "example.com"으로 설정하면 됩니다. 예시: 도메인: ww..

미들웨어 2023.07.17 0

[Ubuntu 20.04] VMware SSH 설정 및 실행 (Putty)

VMware 로 ubuntu 환경을 구축하고 ssh를 이용하여 여러가지 테스트를 해보고자 한다. Ubuntu 20.04에서 SSH 환경 설치하는 방법 1. SSH 서버 설치: sudo apt update sudo apt install openssh-server 2. SSH 구성: # sshd_config 파일 편집 sudo nano /etc/ssh/sshd_config 원하는 변경 사항을 적용한 후, 파일을 저장하고 종료합니다. # SSH 서비스 재시작 sudo service ssh restart 3. 방화벽 설정: # UFW (Uncomplicated Firewall)를 사용하는 경우 sudo ufw allow ssh sudo ufw enable 또는 방화벽 도구에 따라 SSH 포트를 허용해야 합니다...

리눅스 2023.07.16 0

CRC32, MD5, SHA-256 란? (vfs.file.cksum mode 종류)

CRC32, MD5, SHA-256 암호화 해시 함수 설명 CRC32 (순환 중복 검사 32비트) CRC32는 무결성 검사 등에 주로 사용되는 암호화 해시 함수입니다. 데이터의 일관성을 확인하기 위해 32비트 체크섬을 생성합니다. CRC32는 비교적 빠르고 간단한 알고리즘으로, 데이터 무결성을 확인하는 용도로 많이 사용됩니다. 그러나 보안적인 보호 기능은 제공하지 않습니다. MD5 (메시지 다이제스트 알고리즘 5) MD5는 널리 사용되는 해시 함수 중 하나입니다. 입력 데이터의 고정 길이 해시 값을 생성합니다. 이 값은 입력 데이터의 고유한 지문으로 사용됩니다. MD5는 충돌 공격에 취약한 알고리즘으로 알려져 있으며, 보안적인 요구사항이 높은 환경에서는 사용이 권장되지 않습니다. 그러나 일반적인 체크섬 ..

Zabbix 2023.07.14 0

CentOS 7 에서 Openstack 설치하기 (train 버전, PackStack)

구성환경 CentOS7 으로 VMware 만들어 둔게 있어서 여기에 OpenStack 을 구축해보기로 함 처음에 메모리 2GB, 디스크 15GB로 했다가 설치중에 메모리 오류 떠서 증가시키고 다시 구축함 Memory는 6GB 이상으로 해주는 것이 좋을듯함 (타 블로그 참고) 많은 블로그들을 참고하였는데 다들 방화벽과 NetworkManager를 disable 시켰다. 이유는 OpenStack 서비스의 원활한 동작을 위해서다. 1. 방화벽 - 서비스 간 통신 제한으로 인해 서비스 동작이 원활하지 않을 수 있다. 2. NetworkManager - OpenStack은 자체적인 네트워크 인터페이스를 설정하고 관리한다. - NetworkManager가 개입하게되면 예기치 않은 동작이 발생할 수 있다. (서버용도..

openstack 2023.07.13 0

리눅스 graceful 이란?

graceful 이란? => 리눅스에서의 "graceful"은 서버 프로세스나 데몬을 정상적으로 종료하거나 재시작하는 방법을 의미 => Graceful한 종료와 재시작은 시스템의 안정성과 서비스의 지속성을 유지하기 위해 중요한 요소 => 프로세스는 종료 시그널을 수신하면 새로운 요청을 받지 않고, 현재 처리 중인 요청을 완료한 뒤에 종료 => 데이터의 손실이나 서비스 중단을 최소화 => Graceful한 재시작은 프로세스나 데몬을 다시 시작하면서 현재 연결된 클라이언트나 서비스에 영향을 최소화하는 방법 => Graceful한 종료와 재시작은 시스템 관리자나 서버 운영자가 서비스 유지와 안정성을 위해 자주 활용하는 개념 shutdown 과의 차이점 => shutdown 은 시스템 전체를 종료하는 명령어이며..

미들웨어 2023.07.09 1

ELK 란? (Elasticsearch, logstash, kibana)

ELK 란? => Elasticsearch, Logstash, Kibana 세가지로 구성되어 있음 => 사용자에게 시스템과 어플리케이션에서의 로그 집계 및 분석 => 어플리케이션 및 인프라 모니터링 시각화 Elasticsearch => 검색 및 분석 엔진 => JSON 문서로 로그분석 및 검색 Logstash => 다양한 소스로부터 데이터 수집 및 전환하여 원하는 대상에 전송할 수 있도록 하는 오픈 소스 데이터 수집 도구 Kibana => 로그 및 이벤트 검토에 사용하는 데이터 시각화 및 탐색 도구 => Elasticsearch에 저장된 데이터를 시각화 함 ELK 작동 방식 1. Logstash는 데이터 수집 및 변환 후 올바른 대상으로 전송 2. Elasticsearch는 수집된 데이터 인덱싱, 분석,..

미들웨어 2023.06.19 2
반응형