반응형

전체 글 262

[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

Codemirror를 사용해 코드 에디터 만드는 방법

각 프로그래밍 언어별 코드 에디터   1. 라이브러리 다운라이브러리를 다운로드하지 않고 CDN으로 불러올 수 있지만, 현재 버전을 유지하기 위해 라이브러리를 직접 다운로드하여 프로젝트에 설정하였다. https://codemirror.net/ CodeMirrorIn-browser code editorcodemirror.net  1-1) [주소 접속] -> [Version 5] 클릭    1-2) [Get the current version] 클릭   2. 필요 라이브러리 폴더 설정 2-1) 파일 목록압축을 풀면 아래 사진고 같이 나오지만, 모든 파일을 프로젝트에 넣는것티 아닌 필요에 따른 파일만 집어넣는다.     2-2) 프로젝트에 필요 폴더 넣기내 프로젝트의 Resources 위치에 [codemirro..

JavaScript 2024.07.24

[Spring Boot] @ConfigurationProperties 프로퍼티 바인딩 방법

application 설정 파일의 프로퍼티를 바인딩하는 이유는 구조화된 데이터 관리, 타입 안전성, 자동완성, 환결 설정 마다 관리가 가능하기 때문이다. 1. 설정 방법application.yml 설정 파일은 List, Map 등 Java 객체와 매핑할 수 있다.# application.ymltask: id: coco name: kang age: 30 /* 프로퍼티 클래스 생성 */@Data@Component@ConfigurationProperties("task")public class UserProperties { private String id; private String name; private int age;}Data : Lombok을 사용할 경우 자동으로 getter, se..

Java 2024.06.25
반응형