본문 바로가기

728x90

DevOps

(8)
🐳 Dockerfile 명령어 정리 1️⃣ 이미지 기반명령어설명예시FROM베이스 이미지 지정FROM openjdk:17-jdkARG빌드 시점 변수ARG VERSION=1.02️⃣ 메타데이터 & 라벨명령어설명예시LABEL이미지 메타데이터 추가LABEL maintainer="dev@company.com"ENV환경 변수 설정ENV SPRING_PROFILES_ACTIVE=prod3️⃣ 파일/디렉터리 작업명령어설명예시COPY파일/디렉터리 복사COPY target/myapp.jar /app/myapp.jarADDCOPY와 비슷 + URL 다운로드 가능ADD https://example.com/file.tar.gz /tmp/WORKDIR작업 디렉터리 지정WORKDIR /app4️⃣ 빌드 / 실행 관련명령어설명예시RUN이미지 빌드 시 명령어 실행RUN..
🐳 Docker 명령어 정리 1️⃣ Docker 기본 명령어명령어설명docker versionDocker 버전 확인docker infoDocker 환경 정보 확인docker loginDocker Hub 로그인docker logoutDocker Hub 로그아웃예시레지스트리에 이미지 업로드# 로그인docker login# 업로드docker tag myapp:1.0 myregistry.company.com/myapp:1.0docker push myregistry.company.com/myapp:1.02️⃣ 이미지 관련명령어설명docker pull 이미지 다운로드 (예: docker pull ubuntu:22.04)docker build -t : .현재 디렉터리의 Dockerfile로 이미지 빌드 (내가 만든 Dockerfile)docke..
Kubernetes - Readiness probe vs Liveness probe Kubernetes에서 애플리케이션 안정성과 트래픽 관리를 위해 Probe는 필수 기능입니다. 왜냐하면 Probe는 컨테이너의 상태를 주기적으로 점검하여, 정상 동작 여부와 트래픽 수신 가능 여부를 판단하는 매커니즘이기 때문이죠. 이를 통해 Pod가 트래픽을 받을 준비가 되었는지, 지금 Pod의 상태가 정상적인지, Kubernetes가 컨테이너 상태를 자동으로 감시하고, 필요 시 조치를 취할 수 있게 도와주죠. Probe에는 Liveness Probe와 Readiness Probe 이렇게 두 가지 종류가 있는데요, Liveness Probe와 Readiness Probe는 비슷해 보이지만, 목적과 동작 방식이 완전히 다릅니다. 이번 포스팅은 이들의 차이점과, 왜 두 개의 probe 가 꼭 필요한지 정리..
Kubernetes - 서비스 port 와 ingress 쿠버네티스에서 애플리케이션을 운영하면 끊임없이 변화하는 pod의 IP 주소를 지정하여 트래픽을 라우팅하기가 어렵습니다. 불안정한 pod IP 주소를 직접 사용하는 대신, 쿠버네티스는 서비스 라는 추상화된 개념을 제공하는데요,이를 통해 애플리케이션에 대한 안정적인 네트워크 접근 지점을 제공하여 pod IP 주소 변경에 영향을 받지 않고 외부/내부 클라이언트가 애플리케이션에 안정적으로 접근할 수 있게 됩니다. 그 외에 서비스는 아래 기능을 가집니다.수평 스케일링: 파드의 수를 늘리는 수평 스케일링을 수행하여 로드 밸런싱 역할을 할 수 있습니다.서비스 디스커버리: 애플리케이션 내의 여러 서비스가 서로 통신해야 하는 경우, 각 서비스의 IP 주소를 하드코딩하는 것은 매우 비효율적인데요, 서비스 디스커버리를 통해..
Kubernetes - Cluster 란? (node와 pod와의 관계) 1️⃣ 클러스터란 무엇인가?정의: 쿠버네티스가 관리하는 전체 환경구성: 마스터 노드(Control Plane) + 워커 노드(Worker Node) + Pod비유: 회사 전체 = 클러스터, 건물 = 노드, 사무실 = Pod, 직원 = 컨테이너2️⃣ 마스터 노드의 역할두뇌 역할: Pod 배치, 상태 관리, 스케일링, 장애 복구HA 구성: 운영 환경에서는 보통 3개 이상관리 범위: 스케줄러, 컨트롤러, API 서버, etcd한 줄 정의: "클러스터 두뇌, Pod 배치와 상태 유지 담당"3️⃣ 워커 노드와 Pod워커 노드: 실제 Pod가 실행되는 서버Pod: 최소 배포 단위, 하나 이상의 컨테이너 포함리소스: 노드마다 CPU/메모리가 다를 수 있음 → 스케줄러가 배치 결정4️⃣ Namespace정의: 클러스터..
Kubernetes 란? 정의 컨테이너화된 애플리케이션 (도커 이미지가 빌드/실행된 것 )의 자동 배포, 확장 및 관리를 위한 오픈소스 플랫폼입니다. 구글이 개발하였으며, 컨테이너 오케스트레이션의 표준으로 자리 잡았습니다. 개발자와 운영팀이 컨테이너 기반의 애플리케이션을 더 쉽게 관리하고 배포할 수 있도록 돕습니다. 쿠버네티스의 아키텍처쿠버네티스는 다음과 같은 주요 구성 요소로 이루어져 있습니다:마스터 노드(Master Node):클러스터의 제어 플레인으로, 클러스터의 상태를 관리합니다. (클러스터는 여러 개의 노드(서버)로 구성된 집합)주요 컴포넌트: kube-apiserver: API 요청을 처리하고, 클러스터 상태를 관리합니다.etcd: 클러스터의 모든 데이터를 저장하는 분산 키-값 저장소입니다.kube-scheduler:..
IAM 이란? AWS Identity and Access Management(IAM)는 AWS 리소스에 대한 액세스를 안전하게 제어하는 웹 서비스입니다. AWS를 이용하려면 먼저 계정 생성 과정이 필수입니다. 이렇게 생성한 계정 자체는 이용하는 조직이나 개인에 고유한 계정입니다. 계정을 사용하는 사용자에는 루트 사용자와 IAM 사용자라는 2 종류가 있습니다. 루트 사용자 매우 강력한 권한을 가진 사용자입니다. 기본적으로 계정 생성 이후에 사용을 권장하지 않습니다. IAM 사용자 일상적인 작업은 IAM 사용자가 수행합니다. 보통 개인별, 권한별로 세분화하는 것이 좋습니다. IAM을 사용하여 리소스를 사용하도록 인증(로그인) 및 인가(권한 있음)된 대상을 제어합니다. 하지만 모든 IAM 사용자가 모든 서비스에 권한이 있는..
AWS 전반 소개 앞으로 AWS의 다양한 기능들을 살펴볼 예정입니다. 그전에 AWS가 무엇인지 전반적인 소개를 해 보려고 합니다.AWS란Amazon Web Services AWS는 회사 아마존에서 제공하고 있는 클라우드 컴퓨팅 서비스입니다. 즉, 전 세계적으로 분포한 다른 웹 사이트나 클라이언트 측 응용 프로그램에 대해 온라인 서비스를 제공하는 서비스라고 할 수 있습니다. 이러한 구조를 Client-Server model 이라고 합니다. AWS에서 Client-Server라 함은, 다음과 같습니다.Client: 서버에 요청을 보내는 웹 브라우저나 데스크톱 애플리케이션 등Server: AWS의 가상 서버인 EC2와 같은 서비스AWS에 대해서 본격적으로 들어가기 전에 클라우드 컴퓨팅 서비스의 클라우드가 무엇인지 알아보겠습니다..

728x90
반응형