반응형

DevOps 33

[k8s] 쿠버네티스 레이블(Label) 설정 및 셀렉터(Selector) 방법

https://kubernetes.io/ko/docs/concepts/overview/working-with-objects/labels/ 레이블과 셀렉터레이블 은 파드와 같은 오브젝트에 첨부된 키와 값의 쌍이다. 레이블은 오브젝트의 특성을 식별하는 데 사용되어 사용자에게 중요하지만, 코어 시스템에 직접적인 의미는 없다. 레이블로 오브kubernetes.io  1. 레이블(Label)모든 리소스를 구성하는 강력한 쿠버네티스의 기능이다. 레이블이란 서비스에 붙어놓은 바코드라고 생각하면 된다.(일종의 검색 기능) 1-1) 특징키/값 쌍레이블 셀렉터를 사용하면 각종 리소스를 필터링하여 선택할 수 있음리소스는 한개 이상의 레이블을 가질 수 있다.리소스를 만드는 시점에 레이블을 첨부할 수 있고, 수정 및 추가도 가..

DevOps/Docker, K8s 2024.12.02

[k8s] Pod 라이브네스(Liveness), 레디네스(Readiness), 스타트업(Startup) 프로브 구성 방법

https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ Configure Liveness, Readiness and Startup ProbesThis page shows how to configure liveness, readiness and startup probes for containers. For more information about probes, see Liveness, Readiness and Startup Probes The kubelet uses liveness probes to know when to restart a container. For example,..

DevOps/Docker, K8s 2024.11.28

[k8s] 포트(POD) 개념 및 디스크립터 yaml 생성 방법

Pod란?컨테이너화된 애플리케이션의 최소 배포 단위로, 쿠버네티스의 핵심 개념 중 하나이다. Pod는 하나 이상의 컨테이너를 그룹화하여 동일한 네트워크와 스토리지 환경에서 실행하도록 설계되었다.  1. 포드 구성1-1) 1:1 구성일반적으로 권장하는 형태는 하나의 프로세스에 하나의 포드를 상요하는 1:1 방식이다.1-2) 1:N 구성아래의 사진처럼 1개의 포드에 N개의 프로세스를 구성으로 사용하는 사례는 크게 세 가지가 있다. 사이드카 패턴 (Sidecar Pattern):주 프로세스가 애플리케이션을 실행하고 보조 프로세스는 로그 수집, 데이터 캐싱, 혹은 프록시 역할을 수행.공유 리소스 필요:두 프로세스가 같은 데이터를 공유하거나 로컬 디스크를 함께 사용해야 할 때.네트워크 및 통신 최적화:서로 긴밀히..

DevOps/Docker, K8s 2024.11.26

[k8s] 미니큐브(MiniKube)로 쿠버네티스 설치 방법

미니큐브는 개발 및 테스트 환경에서 빠르게 쿠버네티스를 실행할 수 있도록 만들어졌으며, 설정이 간편하고 리소스 소모가 적다.일반 가상 환경에서의 쿠버네티스 설치는 운영 환경과 유사한 설정을 할 수 있어 실제 배포 환경과 동일하게 테스트하고자 할 때 유리합니다.  1. 미니큐브와 VM 차이특징미니큐브일반 가상 환경설치 및 설정단일 명령어로 간편하게 설치 (minikube start)각 노드에 쿠버네티스 구성 요소 수동 설치 및 설정 필요클러스터 구성기본적으로 단일 노드 클러스터 제공다중 노드 클러스터 구축 가능리소스 사용량최소 자원으로 가볍게 실행 가능VM마다 OS와 리소스 필요, 리소스 사용량 높음유연성개발/테스트 목적에 최적화된 환경실제 운영 환경과 유사하게 구성 가능네트워크 구성로컬에서 미니큐브가 네..

DevOps/Docker, K8s 2024.11.18

[k8s] 쿠버네티스의 파드(Pod) 조회(상세조회)

파드는 Kubernetes의 기본 단위로, 하나 이상의 컨테이너를 그룹화하여 동일한 네트워크와 스토리지를 공유하는 구조이다. 파드는 애플리케이션의 실행 단위로, 필요에 따라 생성, 삭제 및 스케일링이 가능하다.   1. Pod 조회# 파드 조회kubectl get pod# 파드 (IP와 Node) 조회kubectl get pods -o wide NAME : 파드의 IDREADY: 파드의 준비 상태 (예: 0/1은 1개의 컨테이너 중 0개가 준비되었다는 의미)STATUS: 현재 파드의 상태 (예: Running, Pending, CrashLoopBackOff 등)IP: 파드의 IP 주소    2. Pod 상세 조회컨테이너 정보, Event(현재 어떤 이벤트를 실행 중인지)를 알 수 있다.# kubectl ..

DevOps/Docker, K8s 2024.10.23

[k8s] 쿠버네티스에 컨테이너 배포 방법

외부에 따로 구성하지 않고, Master Node에 유저를 설정했으면 Master Node에서만 작업하면 된다.  1. Deployment 리소스(배포 및 관리) 생성쿠버네티스 클러스터에 Deployment 리소스를 생성한다.# Deployment 파드 생성kubectl create deploy tc --image=consol/tomcat-8.0 --replicas=5# 파드 삭제kubectl delete deploy tccreate deploy : Deployment 리소스를 생성tc : 생성할 Deployment의 이름--image=consol/tomcat-8.0 : Deployment에 사용할 컨테이너 이미지를 지정--replicas=5 : Deployment에 의해 생성될 파드의 수를 지정   2..

DevOps/Docker, K8s 2024.10.22

[k8s] 클러스터 구축 및 파드 네트워크 설정(Cilium)

https://kubernetes.io/ko/docs/reference/networking/ports-and-protocols/ 포트와 프로토콜물리적 네트워크 방화벽이 있는 온프레미스 데이터 센터 또는 퍼블릭 클라우드의 가상 네트워크와 같이 네트워크 경계가 엄격한 환경에서 쿠버네티스를 실행할 때, 쿠버네티스 구성 요소에서kubernetes.io사전에 방화벽 설정이 필요하다. 방화벽 관련 설정은 해당 공식 문서를 보고 확인.   1. 마스터 노드 초기화마스터 노드로 사용하고 싶은 서버에 해당 명령어를 실행하고,  마스터 노드로 설정한다. 5분 정도 기다리면 해당 설정이 완료된다.최초의 한 번만 초기화를 진행하고 이후 쿠버네티스를 사용할 때는 sudo systemctl restart kubelet 명령어를 ..

DevOps/Docker, K8s 2024.10.20

[Jenkins] Launch agents via SSH 분산 빌드 환경 구축 방법

Launch agents via SSH 경우 Jenkins 마스터 서버 -> 슬레이브  서버로 SSH 접속하여 제어한다.아래 [JNLP 분산 빌드 환경 구축 방법]과 다른 점만 설명하도록 하겠다. SSH로 접속하기 때문에 TCP 포트 설정은 필요 없다 대신 SSH key를 등록해 줘야 한다. 2024.08.20 - [DevOps/Jenkins] - [Jenkins] JNLP 분산 빌드 환경 구축 방법 [Jenkins] JNLP 분산 빌드 환경 구축 방법Jenkins에서 분산 빌드 환경을 구성하지 않으면 순차적으로 빌드하게 되지만, 분산 빌드 환경을 구성하게 되면 동시에 처리하므로 빌드 속도가 빨라진다. 또한, 빌드 작업을 여러 서버에 분산시켜cocococo.tistory.com   1.  SSH key..

DevOps/Jenkins 2024.08.21

[Jenkins] JNLP 분산 빌드 환경 구축 방법

Jenkins에서 분산 빌드 환경을 구성하지 않으면 순차적으로 빌드하게 되지만, 분산 빌드 환경을 구성하게 되면 동시에 처리하므로 빌드 속도가 빨라진다. 또한, 빌드 작업을 여러 서버에 분산시켜 Jenkins 마스터 서버의 부하가 줄고, 시스템 리소스를 효율적으로 사용하게 된다.      1. 분산 빌드 구성 환경 종류1-1. Launch agent by connecting it to the controller - JNLP (Java Network Launch Protocol)에이전트(슬레이브)가 JNLP를 통해 마스터에 스스로 연결되는 방식이다.특징:에이전트가 JNLP 파일을 통해 Jenkins 마스터에 직접 연결Java 필요에이전트는 HTTP/HTTPS를 통해 JNLP 파일 다운로드 하고, Jenki..

DevOps/Jenkins 2024.08.20

[Jenkins] 외부에서 원격 빌드하는 방법(Token)

빌드 방법은 크게 두 가지 있다. 사용자 계정 Token 사용한 인증 방법과, Job(Item) 인증 토큰을 사용해 빌드하는 방법.   1. 사용자 계정 Token 인증 방법1-1) 계정 ID -> 설정 -> API Token// 발급 받은 Tokens을 base65 인코딩해 줘야 한다. // ex ) admin:112cda48189a0d3360ab73ea564226a6edkey name:Tokenkey:Token 전체 인코딩 해줘야 한다. 1-2) Curl 테스트curl -X POST {JENKINS_HOME}/job/{JOB_NAME}/build \--user admin:112cda48189a0d3360ab73ea564226a6ed    2. JOB Token 인증 방법인증 없이 사용하기 위해서는 플..

DevOps/Jenkins 2024.04.29
반응형