반응형

전체 글 264

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

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

DevOps/Docker, K8s 2024.11.18

[Linux / 서버] Systemctl 서비스 생성 시 실행(ExecStart) 오류

1. Issue서버에 서비스를 생성하고, 특정 쉘스크립트를 실행시킬 때 발생   2. Problem아래 코드는 생성한 서비스이고, ExecStart를 사용해 쉘 스크립트를 실행시키려고 할 때 발생하였다.[Unit]Description=SCM-Manager ServerAfter=syslog.target network.target[Service]Type=simpleUser=scmGroup=scmWorkingDirectory=/home/was/scm/dev-scm-serverExecStart=/home/was/scm/dev-scm-server/bin/scm-serverRestart=on-failure# Exit code 143 means that the program received a SIGTERM sign..

오류 해결 2024.11.07

[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)

1. 마스터 노드 초기화마스터 노드로 사용하고 싶은 서버에 해당 명령어를 실행하고,  마스터 노드로 설정한다. 5분 정도 기다리면 해당 설정이 완료된다.최초의 한 번만 초기화를 진행하고 이후 쿠버네티스를 사용할 때는 sudo systemctl restart kubelet 명령어를 통해 실행 시킨다.sudo kubeadm init 설정이 완료되면 가장 아래에 워크 노드와 마스터 노드가 조인할 수 있는 명령어가 출력된다. (복사) 토큰 재발급이 필요하거나, 확인하기 위해서 는 아래 명령어를 사용한다.# token 재발급 받는 방법 (마스터 노드)- 토큰 리스트 확인하기: sudo kubeadm token list- 토큰 재발급하기: sudo kubeadm token create --print-join-com..

DevOps/Docker, K8s 2024.10.20

병렬성(Parallelism)과 동시성(Concurrent)

1. 병렬성(Parallelism)한 개의 코어(CPU)에는 한 개의 Thread가 실행된다.동시성의 하위 개념으로 운영체제에서 여러 CPU에 Thread를 적절히 분배하여 동시적으로 실행한다.   2. 동시성(Concurrent) CPU가 한번에 많은 작업을 처리한다. 즉, 하나의 CPU가 여러 Thread를 교체하며 조금씩 작업을 처리한다.동시성은 작업을 빠르게 처리하는 게 목적이 아닌 CPU를 효율적으로 사용하는 것에 중점을 둔다.CPU의 코어 개수보다 Thread의 개수 많을 경우만 해당된다.  3. ThreadPoolExecutor병렬성으로 처리 성능을 극대화하고, 동시성으로 CPU 자원을 효율적으로 운용한다. @Testpublic void test() { // CPU 코어 개수 in..

CS 2024.09.13

Thread 구조 및 특징(Process와의 차이)

선행 학습2023.01.13 - [CS] - 프로세스 메모리(스택, 힙, 데이터 영역, 코드 영역) 구조 개념 및 특징  Thread란? 프로세스가 운영체제로부터 할당받은 자원을 이용하는 실행 단위 또는 흐름의 단위로 하나의 프로세스에는 반드시 하나 이상의 스레드를 갖는다. 각각의 스레드는 독립적인 Stack 영역은 할당받지만, 프로세스가 가지고 있는 Heap, Data, Code 영역은 공유한다.  Process vs Thread  Process 여러 개의 프로세스 중에 하나가 문제가 발생해도 다른 프로세스에 영향을 미치지 않는다. (안전성)프로세스 간 전환(Context Switch) 시 레지스터, 캐시 메모리 초기화 등 무거운 작업으로 시간과 비용이 발생한다.프로세스 간 통신 하기 위한 방법이 복잔..

CS 2024.09.10

[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 / 오류] Failed to start Jenkins Continuous Integration Server 설정 파일

1. Issue다른 외부 서버로의 배포 및 Jenkins에서 여러 작업(서버 스크립트 실행)을 실행할 경우 권한 문제가 번번이 발생하여 jenkins 설정 파일(jenkins.service)에서 실행시키는 소유자와 그룹을 변경하게 되면서 해당 오류가 발생하였다.  2. Problemjenkins.service 수정 후 적용 시 오류 발생- 설정 적용$ sudo systemctl daemon-reload$ sudo systemctl restart jenkins  3. Solution[See "systemctl status jenkins.service" and "journalctl -xe" for details.]라는 메시지로 확인 하라고해서 진행 3-1. systemctl status jenkins.ser..

오류 해결 2024.08.13
반응형