본문 바로가기

인프라

(12)
쿠버네티스 환경 설정 쿠버네티스는 컨테이너화된 애플리케이션을 자동화하고 관리하기 위한 오픈소스 플랫폼쿠버네티스는 여러 대의 컴퓨터 노드(서버)를 클러스터로 구성하여, 컨테이너 기반의 애플리케이션을 관리합니다. 각 노드는 여러 개의 컨테이너를 실행할 수 있고, 쿠버네티스는 이러한 컨테이너들을 관리하며 자원 할당, 자동 복구, 확장과 축소 등을 자동화합니다. 쿠버네티스의 핵심 개념은 파드(Pod), 노드(Node), 서비스(Service)- 파드는 하나 이상의 컨테이너를 그룹화- 노드는 쿠버네티스 클러스터를 구성하는 서버- 서비스는 파드의 집합에 접근할 수 있는 방법을 정의하고 관리 https://kubernetes.io/ko/docs/reference/setup-tools/kubeadm/ # 쉽게 접근하는 방법은 EKS(AWS..
젠킨스 서버와 ssh로 연결 1. 젠킨스와 ssh 터미널 연결 ssh로 연결하기 위해서 먼저 ssh키부터 발급합니다. ssh-keygen -t rsa -f ~/.ssh/id_rsa 모자이크 처리한 부분(The key fingerprint is: 윗 부분)이 바로 생성한 공개키/개인키의 주소입니다. .pub가 public key공개키, 아닌게 identification 개인키입니다. 젠킨스는 개인키로 발급하고, 그 발급된 서명을 각 가상PC에서 공개키로 검증합니다. vi id_rsa.pub 위 명령어를 통해 공개키가 나오면 내용 전부를 복사합니다. 젠킨스가 관리할 가상피씨에 저장할 위치를 입력해 들어간 창에 복사한 공개키를 저장하면 됩니다. vi ~/.ssh/authorized_keys 그리고 chmod 700 ~/.ssh 명령어, ..
젠킨스 계정 생성 및 인스턴스 설치 젠킨스 서버가 스크립트를 가지고 있어 깃허브를 사용해 push하면 웹훅을 이용해 배포하는 집사 역할 단, 로컬에서 push를 한 경우 biuld된 파일을 올리는 것이 아니기에 젠킨스가 이를 빌드하여 배포하기에 젠킨스에는 Java설치, 빌드 시 필요한 도구를 다운받아 놓아야 합니다. 1. JAVA를 설치 Jenkins는 Java 응용 프로그램이며 시스템에 Java 8 이상을 설치해야 합니다. sudo 권한을 가진 사용자 또는 루트로 실행하여 OpenJDK 17을 설치 sudo apt update sudo apt install openjdk-17-jdk 설치 완료를 확인하기 위해 java 버전을 확인합니다. 2. Jenkins를 설치 Ubuntu에 Jenkins를 설치하기 위해서는 dcker설치도 필요합니다..
GCP 우분투에서 도커 설치하기 1. 우분투 시스템 패키지 업데이트 Ubuntu나 Debian 계열의 리눅스 시스템에서 사용되는 패키지 관리 도구인 apt-get sudo apt-get update 2. 패키지 설치 apt-transport-https: HTTPS를 통해 보안된 소스로부터 패키지를 다운로드하는 데 필요한 apt 트랜스포트 메서드를 제공합니다. ca-certificates: 시스템에 신뢰할 수 있는 인증 기관의 인증서를 제공합니다. HTTPS 연결 시에 필요합니다. curl: URL을 통해 데이터를 전송하는데 사용되는 도구입니다. 주로 다운로드나 파일 전송 등에 사용됩니다. gnupg-agent: GNU Privacy Guard (GnuPG 또는 GPG)의 에이전트입니다. 보안 관련 작업에 사용됩니다. software-p..
도커라이즈 이미지를 활용한 도커허브 업로드 도커를 사용하면 아래와 같이 구조를 봤을 때, java jdk용량과 이미지를 통해 컨테이너만 생성하면 됨으로 환경 설정 단순성 및 다양한 배포 가능성이라는 장점을 가집니다. 1단계, 도커허브 가입 및 도커 powersell 로그인 도커허브 홈페이지에서 계정을 생성하고 powersell 또는 터미널창에서 도커 로그인을 진행합니다. https://hub.docker.com/ Docker Hub Container Image Library | App Containerization Build and Ship any Application Anywhere Docker Hub is the world's easiest way to create, manage, and deliver your team's container ..
Dockerfile을 활용한 자체 이미지 빌드 💡 Dockerfile이란 컨테이너를 빌드하기 위한 설정 파일로, 컨테이너 이미지를 자동으로 생성할 수 있도록 도와줍니다. Dockerfile은 텍스트 파일로 작성되며, 컨테이너 이미지를 생성하는 데 필요한 명령어들을 순서대로 기술합니다. 각 명령어는 기본 이미지(부모 이미지)에서 변경 사항을 적용하고, 새로운 레이어를 생성하여 최종 이미지를 만듭니다. 다음은 Dockerfile에서 사용되는 일반적인 구문들입니다. FROM 기본이 되는 이미지를 지정합니다. RUN 명령어를 실행하여 패키지를 설치하거나 설정을 변경합니다. COPY 파일이나 디렉토리를 컨테이너로 복사합니다. ADD COPY와 비슷하지만, URL로부터 파일을 다운로드할 수 있습니다. WORKDIR 작업 디렉토리를 설정합니다. ENV 환경 변수..
Docker -detach모드, -attach모드, -it 옵션 등 1. Dettach 모드, Attach모드란 기본 설정은 attach 모드입니다. 먼저 Dettach모드는 "백그라운드(detached)" 모드를 나타내며, 컨테이너를 백그라운드에서 실행하도록 지시하는 옵션입니다. 즉, -d(detach)옵션을 사용하면 컨테이너가 백그라운드에서 실행되며 현재 터미널 세션을 차지하지 않고 컨테이너의 출력을 표시하지 않습니다.이렇게 하면 컨테이너가 실행 중일 때도 새로운 명령을 입력할 수 있으며, 컨테이너의 로그 및 출력은 백그라운드에서 계속 기록됩니다. 2. 사용자의 입력을 받아야하는 경우, 콘솔 설정이 필요한 경우 사용하는 옵션 docker run -it -p 8000:80 nginx 참고자료 https://docs.docker.com/engine/reference/ru..
컨테이너 Paused, Deleted + 도커 prune 명령어 사용 0. 도커 라이프사이클 1. 도커 컨테이너 paused $ docker pause [컨테이너 ID] $ docker stop [컨테이너 ID] $ docker unpause [컨테이너 ID] // is not paused 오류 발생: stop을 중지로 전환됨으로서 paused 상태가 아님 paused 상태에서는 삭제가 불가능하고 stopped 삭제 시에만 삭제 가능 2. 도커 컨테이너 Delete - running 상태에서 삭제 시도 시 아래와 같이 stop 후 실행하라는 문구 발생, 삭제 실패 - pasued 상태에서 삭제 시도 시 도커 컨테이너 삭제 명령어 $ docker rm [컨테이너 ID] 3. 도커 이미지 조회 $ docker images 4. 도커 이미지 삭제 도커 컨테이너가 먼저 삭제되어야..