본문 바로가기
728x90

전체 글65

쿠버네티스(k8s) 학습하기 - 클러스터란? 1. 클러스터(Cluster)란?클러스터의 정의쿠버네티스에서 클러스터는 컨테이너화된 애플리케이션을 실행하기 위한 컴퓨터들의 그룹입니다.클러스터는 여러 대의 물리적 서버나 가상 머신으로 구성되며, 마스터 노드와 워커 노드로 이루어져 있습니다.클러스터의 구성 요소1. 마스터 노드(Master Node):클러스터를 관리하고 제어하는 역할.주요 컴포넌트:API 서버 (kube-apiserver): 쿠버네티스와 사용자가 소통하는 인터페이스.컨트롤러 매니저 (kube-controller-manager): 클러스터 상태를 유지하고 관리.스케줄러 (kube-scheduler): Pod를 적절한 워커 노드에 할당.etcd: 클러스터 상태와 설정 데이터를 저장하는 분산 데이터베이스.2. 워커 노드(Worker Node):.. 2024. 12. 27.
쿠버네티스(k8s) 학습하기 - yaml 파일 작성 후 포드 통신 확인 쿠버네티스에서 YAML 코드 작성 및 실행은 간단한 단계로 이루어집니다.아래는 Mac에서 Minikube를 사용해 테스트하는 과정입니다.1. YAML 파일 작성YAML 코드는 텍스트 파일 형식으로 작성한 후, 쿠버네티스 클러스터에 적용합니다.파일 작성 위치:Mac에서는 편한 디렉토리에 YAML 파일을 생성하면 됩니다. 예를 들어, Documents 폴더에서 작업할 수 있습니다.작성 방법:터미널에서 작업 디렉토리로 이동:bash 코드 복사 cd ~/DocumentsYAML 파일 생성 및 작성:아래 명령으로 파일을 생성한 뒤 편집기를 엽니다:bash 코드 복사 nano frontend-deployment.yaml내용을 붙여넣고 저장합니다:yaml 코드 복사 apiVersion: apps/v1 kind: De.. 2024. 12. 27.
쿠버네티스(k8s) 학습하기 - 포드간 통신 보기 진행 순서포드 간 데이터 통신 이해먼저, 쿠버네티스에서 포드 간 통신을 설정하고 테스트합니다. 이 과정은 Helm, CI/CD, 모니터링을 진행할 때 기본이 되는 네트워킹 이해를 돕습니다.Helm 설치 및 사용포드 간 통신을 이해한 후, Helm을 사용하여 애플리케이션 배포를 템플릿화합니다. 이는 CI/CD와 모니터링 도구 설치 시 작업을 더 간단하게 만들어줍니다.CI/CD 연습Jenkins를 Minikube에 배포하고 파이프라인을 구성합니다. Helm을 사용해 Jenkins를 설치하면 훨씬 간편합니다.모니터링 툴 추가Prometheus와 Grafana를 설치해 클러스터 상태를 시각적으로 모니터링합니다. 이것도 Helm으로 설치하면 쉽습니다.1. 포드 간 데이터 통신 이해(1) 두 개의 애플리케이션 배포.. 2024. 12. 27.
쿠버네티스(k8s) 학습하기 - Minikube 실행 테스트 1. Minikube 클러스터 시작Minikube 설치 후, 쿠버네티스 클러스터를 시작합니다.minikube start설치 과정에서 VirtualBox, Docker 등 Minikube가 사용할 드라이버를 자동으로 설정합니다.minikube status 명령어로 Minikube 상태를 확인하세요.2. kubectl 설치 및 설정 확인Minikube는 **kubectl**을 사용하여 클러스터를 관리합니다. 만약 **kubectl**이 설치되지 않았다면 아래 명령어로 설치하세요.brew install kubectl**kubectl**과 Minikube가 연결되어 있는지 확인:kubectl config current-context출력에 **minikube**가 포함되어 있으면 연결된 것입니다.3. 간단한 애플.. 2024. 12. 27.
쿠버네티스(k8s) 학습하기 - 용어 설명 1. 포드(Pod)란 무엇인가?포드는 쿠버네티스에서 가장 작은 배포 단위로, 하나 이상의 컨테이너를 포함합니다.일반적으로 하나의 포드는 단일 애플리케이션의 하나의 인스턴스를 실행합니다(예: Nginx 웹 서버, Node.js 백엔드).2. "포드를 웹에서 띄운다"는 뜻이는 포드에서 실행 중인 애플리케이션을 외부에서 접근 가능하게 만든다는 의미입니다. 예를 들어, 클러스터 내부에서만 실행 중인 Nginx 웹 서버를 외부 사용자가 접근할 수 있도록 설정하는 것을 말합니다.이를 위해 서비스(Service) 리소스를 사용합니다:ClusterIP: 클러스터 내부에서만 접근 가능한 기본 서비스 유형.NodePort: 클러스터 외부에서 접근할 수 있는 방식으로, 노드의 특정 포트를 외부에 노출.LoadBalancer.. 2024. 12. 27.
쿠버네티스(k8s) 학습하기 - 쿠버네티스에 대한 기본 개념 1. 쿠버네티스 환경 설정Minikube 설치: 로컬 환경에서 쿠버네티스를 실습하기 위해 Minikube를 사용하는 것이 좋습니다. Minikube는 경량화된 쿠버네티스 클러스터를 제공합니다.kubectl 설치: 쿠버네티스를 제어하기 위한 CLI 도구입니다.Docker 설치: 쿠버네티스에서 애플리케이션을 배포하려면 컨테이너 이미지가 필요하므로 Docker가 필수적입니다.2. 기본 쿠버네티스 학습기본 개념 학습:Pod, Deployment, Service, ConfigMap, Secret 등 쿠버네티스의 기본 리소스를 이해합니다.클러스터, 노드, 네임스페이스 등 구조를 파악합니다.실습: 간단한 애플리케이션(예: Nginx)을 쿠버네티스 클러스터에 배포해 보세요.3. CI/CD 구현Jenkins와 Kuber.. 2024. 12. 27.
DB 권한 관련 정리 PostgreSQL에서는 특정 사용자에 대해 다른 데이터베이스에 대한 권한을 제거하는 작업을 SQL 쿼리로 수행 가능현재는 recycle_user 라는 유저가 recycle 이라는 데이터베이스만 접근할 수 있도록 설정하는 과정1. 데이터베이스 권한 제거사용자가 특정 데이터베이스에 접근 권한이 있다면, 이를 쿼리로 제거다른 데이터베이스에서 연결 권한 제거모든 사용자에게 기본적으로 부여되는 연결 권한(CONNECT)을 제거REVOKE CONNECT ON DATABASE other_database FROM recycle_user;다른 데이터베이스에서 추가 권한 제거사용자가 다른 데이터베이스에 추가적인 권한을 가지고 있다면, 이를 제거REVOKE ALL PRIVILEGES ON DATABASE other_dat.. 2024. 12. 26.
Dokcer 이미지로 PostgreSQL세팅 PostgresSQL 16 버전 도커 이미지 다운로드$ docker pull postgres:16Docker 컨테이너 생성$ docker run -p 5432:5432 --name postgres-db \-e POSTGRES_PASSWORD=123 \-e TZ=Asia/Seoul \-v /(데이터 경로)/pgdata:/var/lib/postgresql/data -d \postgres:16명령어 항목 설명-p5432:5432내부 포트번호와 외부 포트번호를 연결-ePOSTGRES_PASSWORD=123(필수) 데이터베이스 비밀번호-eTZ=Asia/Seoul데이터베이스 표준시간대 설정-v/(데이터 경로)/pgdata:/var/lib/postgresql/data공유 볼륨 설정Host PC의 pgdata 경로를 .. 2024. 12. 26.
SQL 문법 정리 - INSERT, UPDATE, DELETE INSERT 문 INSERT INTO 테이블이름(속성리스트) VALUES(값리스트); ※데이터 입력시 속성 이름의 생략이 가능하다. 단, 이때 데이터의 입력 순서는 속성의 순서와 일치해야한다. SELECT문을 사용한 데이터 삽입 삽입하는 테이블과 데이터를 얻는 테이블은 값은 타입의 데이터가 저장되어 있어야 한다. INSERT INTO Book(bookid, bookname, price, publisher) SELECT bookid, bookname, price, publisher FROM Imported_book; UPDATE 문 UPDATE 테이블이름 SET 속성이름1=값1[, 속성이름2=값2, ...] WHERE 검색조건; DELETE 문 DELETE FROM 테이블이름 WHERE 검색조건; 2021. 12. 14.
728x90