IT - DevOps 12

ArgoCD Projects 설정하기

ArgoCD Project 는 ArgoCD Application 의 논리적 그룹입니다. 수 많은 ArgoCD Application 들을 그룹화하고 Application 들의 검색을 용이하게 하고 권한을 설정하여 조회, 생성, 변경, 삭제를 제어할 수 있으며 Application 소스의 원천이 되는 Repositories 를 제한하거나 Application 이 기동되는 Kubernetes 클러스터를 제한할 수 있습니다. ArgoCD Repositories, Application 에 대해서 궁금 하시다면 이전 글을 참조 해주세요. ArgoCD Repositories 설정하기 ArgoCD Application 생성하기 기본 Project 처음 ArgoCD 를 설치하고 기본적으로 생성된 default Proje..

IT - DevOps/ArgoCD 2022.12.06

ArgoCD Application 생성하기

ArgoCD 에는 Kubernetes 리소스들을 그룹으로 묶어서 관리하고 있습니다. 이를 Application 이라고 하는데, ArgoCD 에서 제공하는 Kubernetes CRD 입니다. Application 을 잘 작성하면 Service, Pod, ConfigMap 등을 그룹 단위로 관리할 수 있고 쉽게 유지보수 할 수 있는 장점이 있습니다. 이전에 작성한 ArgoCD Repositories 설정하기 글에서 샘플 매니페스트를 이미 작성하였는데, 이를 기반으로 Application 을 생성하는 과정을 설명하도록 하겠습니다. Application 생성하기 ArgoCD 에 로그인 한 후 Applications 대시보드로 진입합니다. +NEW APP 혹은 CREATE APPLICATION 버튼을 눌러서 생성..

IT - DevOps/ArgoCD 2022.11.29

ArgoCD Repositories 설정하기

ArgoCD helm 으로 설치하기 에 이어서 ArgoCD 설정을 본격적으로 시작하도록 하겠습니다. 실제로 Kubernetes 리소스가 실행되기 위해서는 ArgoCD Core Concepts 에서 설명하는 것처럼 Applications 을 생성 해야합니다. 이에 앞서 어떤 Kubernetes 클러스터에 어떤 소스를 바탕으로 Applications 가 생성이 될 지 명시가 필요하기 떄문에 설정이 필요합니다. 또한 Projects 라는 ArgoCD 에서 특정 조건으로 권한을 제어하거나 구분할 수 있도록 제공하는 설정도 함께 필요합니다. GitHub, GitLab, Bitbucket 모두 연결할 수 있지만 GitHub 의 ssh, https 로 연결하는 방법으로 알아보도록 하겠습니다. GitHub Privat..

IT - DevOps/ArgoCD 2022.11.29

ArgoCD helm 으로 설치하기

ArgoCD 는 공식 문서에 잘 나와있는 것처럼 Kubernetes 를 위한 선언적 GitOps 지속적 배포 도구입니다. Kubernetes 매니페스트를 특정 저장소에 잘 정의해서 올려놓으면 Deployment, Service, Ingress, ConfigMap 등을 생성해주고, 지속적으로 모니터링하면서 변화를 관찰하며 변경 사항을 자동으로 반영해주는 아주 고마운 도구입니다. 이러한 고마운 도구를 천천히 알아가보고자 먼저 설치하는 방법을 진행하도록 하겠습니다. 설치 환경 Mac M1 Kubenetes in Docker Deskop Mac 에서 Docker Desktop 으로 Kubernetes 사용하기 Helm 3 https://helm.sh/docs/intro/install/ 설치 진행 helm rep..

IT - DevOps/ArgoCD 2022.11.25

Mac 에서 Docker Desktop 으로 Kubernetes 사용하기

로컬에서 Kubernetes 사용하는 방법은 다양합니다. 여러 가지 방법 중 Docker Desktop 으로 Kubernetes 를 설치하고 간단한 Nginx 이미지를 갖는 파드를 설치해서 접속하는 과정을 설명하도록 하겠습니다. Mac Specification 현재 제가 소유하고 있는 Mac 사양은 다음과 같습니다. Apple M1 칩 16GB 메모리 Mac OS Ventura 13.0.1 Docker Desktop 설치 다음의 사이트에서 Mac with Apple silicon 을 선택해서 설치할 수 있습니다. ㄷ또한 Intel 칩의 경우 Mac with Intel chip 을 선택해서 설치할 수 있습니다. https://docs.docker.com/desktop/install/mac-install/ ..

[Linux] 리눅스 명령어 - svnadmin

svnadminSVN 관리자를 위한 명령어입니다.SVN 생성, 삭제, 백업 등을 할 수 있습니다. 기본 사용 방법svnadmin ${COMMAND} ${OPTION} ${ARGUMENTS} ${REPOSITORY_PATH} 예제SVN 저장소 생성▶ 현재 경로에서 'happygram_repository' 의 이름으로 파일 시스템 형태로 저장소를 생성svnadmin create --fs-type fsfs happygram_repository SVN 덤프(백업)▶ 현재 경로의 'happygram_repository' 의 리비전 100인 SVN 저장소를 'happygram_repository.dump' 파일로 덤프svnadmin dump happygram_repository -r 100 > happygram_r..

IT - DevOps/Linux 2018.12.06

[Linux] 리눅스 명령어 - svn

svnSubversion(SVN) 클라이언트 명령어입니다.SVN 컨트롤, 정보 조회, 로그 보기 등을 수행할 수 있습니다. 기본 svn ${COMMAND} ${OPTION} ${ARGUMENTS} 예제SVN 정보 보기▶ 'https://happygram/svn/happy_repository' 주소를 갖는 SVN의 정보(리비전, 최종 수정자, 최종 수정 날짜 등)를 조회svn info https://happygram/svn/happy_repository SVN 프로젝트 목록 보기▶ 'https://happygram/svn/happy_repository' 주소를 갖는 SVN의 프로젝트 목록을 조회svn list https://happygram/svn/happy_repository SVN 프로젝트 체크아웃▶ ..

IT - DevOps/Linux 2018.12.05

[Linux] 리눅스 명령어 - sed

sed특정 파일의 문자열을 치환하여 출력하거나, 저장합니다. 기본 사용 방법sed ${OPTION} ${SCRIPT-ONLY-IF-NO-OTHER-SCRIPT} ${FILE_PATH} 예제특정 파일의 문자열 변경하여 출력하기▶ 현재 경로의 'happygram.txt' 파일의 문자열 'happy' 를 'happygram' 으로 변경하여 출력sed -e 's/happy/happygram/g' happygram.txt 특정 파일의 문자열 변경하여 저장하기▶ 현재 경로의 'happygram.txt' 파일의 문자열 'happy' 를 'happygram' 으로 변경하여 저장sed -i 's/happy/happygram/g' happygram.txt 특정 파일의 문자열의 라인을 모두 찾아서 변경하여 저장하기▶ 현재 ..

IT - DevOps/Linux 2018.12.04

[Linux] 리눅스 명령어 - tar

tar파일을 압축하는 명령어 입니다.주로 파일 아카이브, 백업 시 자주 이용합니다. 기본 사용 방법tar [옵션] ${경로} 예제tar 압축 하기▶ 현재 경로의 'happygram' 파일을 'happygram.tar' 압축 파일로 생성합니다.tar -cf happygram.tar happygram tar 압축 내용 보기▶ 현재 경로의 'happygram.tar' 파일의 압축된 파일 목록을 봅니다.tar -tvf happygram.tar tar 압축 해제▶ 현재 경로의 'happygram.tar' 파일의 압축된 파일 목록을 봅니다.tar -xf happygram.tar tar.gz 압축 하기▶ 현재 경로의 'happygram' 파일을 'happygram.tar.gz' 압축 파일로 생성합니다.tar -zcf..

IT - DevOps/Linux 2018.11.20

[Linux] 리눅스 명령어 - ls

ls파일의 목록을 보여주는 명령어입니다.리눅스 오퍼레이션 중 매우 많이 사용하고, 수시로 사용하는 명령어입니다. 기본 사용 방법ls [옵션] ${경로} 예제파일 목록 보기▶ 현재 경로의 파일 목록 보기ls▶ '/home/happygram' 경로의 파일 목록 보기ls /home/happygram 모든 파일 목록 보기▶ 현재 경로의 숨겨진 파일(. 으로 시작하는 파일)을 포함하여 모든 파일 경로 보기ls -a 파일 목록 자세히 보기▶ 현재 경로의 파일을 자세한 정보(파일 권한, 소유자 권한, 사이즈, 변경일)를 포함하여 보기ls -l 파일 목록 변경일 기준으로 정렬하여 보기▶ 현재 경로의 파일을 변경일 기준으로 변경일이 가장 최신인 파일이 위로 오도록 정렬하여 보기ls -t 파일 목록 수직 정렬하여 보기▶ ..

IT - DevOps/Linux 2018.11.16