IaC란 Infrastructure as a Code로 코드를 작성하여 인프라를 구성하는것을 의미ex: 퍼블릭 클라우드의 경우, 직접 콘솔에 접속하여 VPC 생성 / Subnet 생성 / SG생성 / Instance 생성을 진행하지만 IaC를 사용하면 코드를 이용하여 콘솔에 접속하지 않고 간단하게 인프라 구성 및 클라우드 자원을 생성 할 수 있음 Terraform이란하시코프사에서 공개한 IaC(Infrastructure as a Code) 도구로, 현재 IaC 도구로 가장 널리 사용되고 있는 플랫폼다양한 Provider를 제공하여 테라폼 문법 하나로 다양한 클라우드 인프라 및 리소스를 생성Provider를 통해 각 Target에 API를 호출하여 리소스를 생성하기 때문에 속도가 매우 빠름 실습 환경 ..
pipeline이란 소스코드 통합 / 빌드 / TEST / 배포 프로세스를 자동화 프로세스를 의미한다. jenkis pipeline 용어 파이프라인 : 전체 빌드 프로세스를 정의하는 코드. 노드 node : 파이프라인을 실행하는 시스템. 스테이지 stage : 특정 단계에서 수행되는 작업들의 정의. 스텝 step : 파이프라인의 특정 단계에서 수행되는 단일 작업을 의미. 구성 형태 pipeline script: 일반적인 방식이며 jenkins 파이프라인을 생성하여 shell script를 직접 생성하여 빌드 pipeline script from SCM: 가장 많이 사용하는 방식으로, 사전 작성한 jenkinsfile을 형상관리시스템에 저장 / 빌드 시작 시 파이프라인 프로젝트에서 호출 Blue Ocean..
Jenkins란 소프트웨어 개발 프로세스의 다양한 단계를 자동화하는 도구로서 중앙 소스 코드 리포지터리에서 최신 코드 가져오기, 소스 코드 컴파일, 단위 테스트 실행, 산출물을 다양한 유형으로 패키징, 산출물을 여러 종류의 환경으로 배포하기 등의 기능을 제공 젠킨스는 아파치 톰캣처럼 서블릿 컨테이너 내부에서 실행되는 서버 시스템이다. 자바로 작성됐고, 소프트웨어 개발과 관련된 다양한 도구를 지원 젠킨스는 파이프라인이라고 부르는 스크립트를 작성할 수 있는데, 이를 사용해서 각 빌드 단계마다 젠킨스가 수행할 태스트 및 하위 태스크의 순서를 정의 다양한 Plugins 연동 설치 # 실습 편리를 위해서 root 계정 전환 sudo su - # Add required dependencies for the jenk..
ArgoCD란 ArgoCD는 쿠버네티스를 위한 CD(Continuous Delivery)도구로 GitOps방식으로 관리되는 Mainfest(yaml)파일의 변경사항을 감시하여, 현재 배포되어 있는 환경의 상태와 / Git Manifest파일에 정의된 상태를 동일하게 유지 하는 역학을 수행 구성요소 API Server: Web UI, API 서버 Repository Server: Git 연결 및 배포할 yaml 생성 Application Controller: k8s 리소스 모니터링, Git 비교 redis: k8s와 git요청을 줄이기 위한 캐싱 Notification: 이벤트 알림, 트리거 Dex: 외부 인증 관리 ApplicationSet Controller: 멀티 클러스터를 위한 App 패키징 관리 ..
👍Cloud Insight API를 사용해보자! 앞글에서 Compute(server/VPC) API를 사용하여 운영 중인 서버 목록을 콘솔에 출력하는 내용까지 TEST를 해보았다. 이제 진짜 하고 싶었던 Ncloud의 Cloud Insight의 서버의 리소스 사용량 데이터를 가져와 출력하고, 데이터를 엑셀에 저장하고, 메일까지 보내는 코드를 만들어 보자. 이중 첫번째는 미션은 특정 서버의 평균 CPU 사용량을 확인하는 것! 사용할 API는 Cloud Insight의 QueryData API API 서버 정보 api_server = "https://cw.apigw.ntruss.com" API URI 정보 api_url = "/cw_fea/real/cw/api/data/query" 첫 번째 난관 - GET/..
👍목표 : Ncloud에서 생성한 서버의 목록을 API를 사용하여 확인 현재 회사 내 직원들이 사용하는 네이버클라우드 TEST 계정이 있다. 생성되어 있는 서버의 목록을 불러와서 확인하는것이 목표! 사용할 API는 Compute/Server(VPC)의 getServerInstanceList API API 사용 전 준비사항 먼저 Ncloud에서 제공하는 API 문서를 확인하였다. 링크: https://api.ncloud-docs.com/docs/common-ncpapi API를 사용하기 위해서는 Ncloud 사용자 계정에서 발급된 별도의 Key가 필요하다. Key 발급은 Ncloud 포털 내 마이페이지 > 계정 관리 > 인증키 관리에서 생성 및 관리 할 수 있다. 신규 API 인증키를 생성하면 Access..
# 🤔Ncloud API 사용 이유 반복적으로 Ncloud에서 운영중인 서버의 특정 시간 대 리소스 사용량을 조회해서 엑셀로 정리 및 메일로 송부해야하는 작업이 생겼다. 귀찮고 너무 귀찮고 번거로워서 이러한 작업을 API를 활용해 자동화로 구성해보고 싶었다. # 😠난 코딩을 해본적이 없다 간단한 코딩은 C언어로 for문 사용해서 별찍기 정도만 할 줄 아는 정도이다. API를 사용해본적도 없고 더구나 Python이란 언어도 사용해본적이 없다. 어떻게 작업을 해야 할지 몰라 일단 무작정 구글링을 시작으로 작업을 시작했다. # 😠Ncloud API 관련 정보가 너무 없어서 고생했다. Ncloud 관련 API를 사용하는 블로그 및 정보를 찾지 못해서 고생을 많이 했다. 또한 Ncloud에서 제공하는 API..