반응형

분류 전체보기 268

[K8s / 오류] x509 certificate signed by unknown authority

1. Issue[ $ sudo kubeadm init ] 초기화 작업 중 인증서 오류 발생   2. Problem이미지 레지스트리에 접근하려고 할 때, 해당 레지스트리의 SSL 인증서가 시스템에서 신뢰할 수 없는 인증기관(CA)으로 서명되어 있으면 이 오류가 발생한다.   3. Solution인증서 무시 설정을 통해서 Docker, Containerd가 인증서를 무시하고 접근하게 한다.  3-1. Docker에서 인증서 무시 설정insecure-registries 항목에 내가 접근하는 레지스트리 URL를 등록한다.# 도커는 해당 설정 파일을vi /etc/docker/daemon.json# daemon.json 수정{ "insecure-registries": ["10.254.241.158:8181","re..

오류 해결 2024.12.13

[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

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

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

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
반응형