반응형

성장일기 60

kubectl expose 명령어 사용법 정리

kubectl expose 명령어는 Kubernetes에서 실행 중인 포드(Pod) 또는 레플리카셋(ReplicaSet) 등과 같은 리소스를 외부에 노출시키기 위해 사용됩니다. 이 명령어는 일반적으로 서비스(Service)를 생성하여 내부 리소스를 외부 네트워크나 클러스터 내의 다른 리소스에 접근할 수 있도록 합니다.기본적으로 expose 사용시 리소스에 할당하게되면 자동으로 라벨링이 맞춰진답니다. 이런 점이 편한점이라고 볼 수 있죠kubectl expose pod my-pod --port=8080 --target-port=80 --name=my-pod-service라벨추가kubectl expose --port= --labels==,= [options]예제Pod 노출과 라벨 추가:이 명령어는 my-p..

kubectl apply create 주요 차이점 정리

kubectl create와 kubectl apply는 Kubernetes 클러스터에서 리소스를 생성하고 업데이트하는 데 사용되는 명령어입니다.이 두 명령어의 차이점은 리소스를 생성하는 것, 리소스를 생성하거나 업데이트 하는 것입니다.kubectl create주요 목적: 새 리소스를 생성합니다.동작: 지정된 매니페스트 파일을 읽고, 해당 리소스가 클러스터에 존재하지 않는 경우 새로 생성합니다. 이미 존재하는 경우 오류를 발생시킵니다.사용 예시:kubectl create -f kubectl apply주요 목적: 리소스를 생성하거나 업데이트합니다.동작: 지정된 매니페스트 파일을 읽고, 해당 리소스가 클러스터에 존재하지 않는 경우 새로 생성합니다. 이미 존재하는 경우 매니페스트 파일의 내용에 따라 리소스를 업..

Virtual Box, Vagrant 파워쉘로 설치하는 방법

1. PowerShell을 관리자 권한으로 실행한 후, 아래 명령어를 입력하여 Chocolatey를 설치하세요. Chocolatey 를 설치하면 Virtual Box도 설치할 수 있습니다. Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))2. Chocolatey가 설치된 후, 아래..

쥬피터랩(jupyterlab) 설치 방법 ( 클라우드 서버, 우분투, 비밀번호 설정, 자동재시작 )

우분투 클라우드 서버에 쥬피터랩 설치하는 방법을 정리하고자 합니다. 이 글로 한번에 다들 깔끔하게 설치해서 사용하시기를 바라겠습니다. 당연히 8888 포트와 여러분들의 환경 대역이 접근 할 수 있도록 보안그룹에 설정해야하는건 기본이신거 아시죠?! #쥬피터랩설치 # Python3와 pip 설치 sudo apt update sudo apt install -y python3 python3-pip # JupyterLab 설치 pip install jupyterlab #경로지정 export PATH=$PATH:/your_path_to_jupyter/.local/bin source ~/.profile jupyter-lab notebook --generate-config echo "c.ServerApp.ip = '0..

[쿠버네티스] port-forward로 pod에 접근하기

kubectl port-forward 명령어는 Kubernetes 클러스터 내의 Pod에 있는 하나 이상의 포트를 로컬 컴퓨터의 포트에 전달(포워딩)하는 데 사용됩니다. 이 명령어를 사용하면 개발자나 관리자는 클러스터 내부 네트워크에 직접 연결되어 있지 않아도 로컬 시스템에서 클러스터 내의 서비스에 접근할 수 있습니다. 이 기능은 디버깅과 개발 작업에 매우 유용합니다. 사용법 kubectl port-forward [LOCAL_PORT:]REMOTE_PORT kubectl port-forward는 테스트 및 디버깅 용도로 주로 사용되며, 생산 환경에서는 신중하게 사용해야합니다. 포트포워딩을 사용하면 로컬머신과 pod 사이에 직접적인 네트워크 연결이 생성되기 때문에 보안상의 위험을 증가할 수 있습니다. 당연..

[k8s] 노드, 클러스터 용어 이해하기

쿠버네티스의 구조를 이해하기 전에 반드시 이해하고 있으면 좋을 만한 것은 노드, 클러스터에 대한 용어입니다. 노드는 쿠버네티스에서 가장 기본적인 작업 단위이며 단일 서버(물리적 또는 가상)를 나타내며, 쿠버네티스 클러스터의 일부입니다. 각 노드는 컨테이너화된 애플리케이션을 실행할 수 있는 자원(CPU, 메모리, 저장소 등)을 제공합니다. 그렇다면 이렇게 실질적으로 일을 하는 노드를 관리 및 제어 역할하는 무엇인가도 필요하겠죠? 그것도 바로 노드가 합니다. 쿠버네티스는 그 노드를 마스터 노드라고 합니다. 마스터 노드는 쿠버네티스 클러스터를 관리하고 제어하는 중앙 제어 노드입니다. 당연히 이 마스터 노드 안에는 주요한 구성요소 들이 있지만 이번 포스팅에서는 용어에 대한 개념만 이야기하도록 하겠습니다. 쿠버네..

[k8s] 쿠버네티스가 도커 지원 중단한 이유가 무엇일까

쿠버네티스(Kubernetes)가 처음에 도커(Docker)를 주요 컨테이너 런타임으로 사용하면서 시작했지만, 나중에 CRI(Container Runtime Interface)를 도입한 이유는 여러가지가 있으며 결론적으로는 쿠버네티스의 사용성이 점차 넓어지면서 쿠버네티스의 유연성, 확장성 및 범용성을 향상시키기 위한 전략적인 선택이었다고 합니다. 쿠버네티스는 다양한 환경과 사용 사례를 지원하는 범용 오케스트레이션 시스템을 목표로 했습니다. 처음에는 도커가 유일한 런타임 옵션이었지만, 시간이 지남에 따라 다른 컨테이너 런타임 기술들도 발전했습니다. CRI를 도입함으로써 쿠버네티스는 도커 외에도 containerd, CRI-O와 같은 다양한 컨테이너 런타임을 지원할 수 있게 되었습니다. CRI는 쿠버네티스와..

Deployment의 롤링업데이트 전략 이해하기 ( Max Unavailable, Max surge )

Deployment는 ReplicaSet을 관리하고, 파드의 롤아웃(업데이트) 및 롤백을 처리하는 더 고급 수준의 리소스인데요. 무중단 업데이트, 버전 관리, 롤백 등의 기능을 제공합니다. 그래서 오늘은 Deployment의 롤링업데이트에 대해서 이해해봅시다. maxUnavailable maxUnavailable: 업데이트 과정 중 사용할 수 없게 되는 최대 파드 수를 정의합니다. 25%의 maxUnavailable은 원하는 파드 수(3개)의 25%를 의미합니다. 즉, 3 x 0.25 = 0.75, 내림하여 0개입니다. 그러나 maxUnavailable은 최소 1개 파드를 의미해야 하므로, 실제적으로 사용할 수 없는 최대 파드 수는 1개가 됩니다. 해당 내용은 쿠버네티스 공식 문서에 기재되어있습니다. m..

텍스트 파일의 줄(line), 단어(word), 문자(character) 수를 세는 명령어 : WC

리눅스에서 wc 명령어는 "word count"의 약자로, 텍스트 파일의 줄(line), 단어(word), 문자(character) 수를 세는 데 사용됩니다. 이 명령어는 파일의 내용을 분석하여 다음 세 가지 주요 정보를 제공합니다: 줄의 수: 파일에 있는 개행 문자의 수를 계산합니다. 단어의 수: 파일에 있는 단어의 수를 계산합니다. 여기서 '단어'는 공백으로 구분된 문자열을 의미합니다. 문자의 수: 파일에 있는 전체 문자의 수를 계산합니다. wc 명령어의 기본 사용법은 다음과 같습니다. wc [옵션] [파일명] -l: 줄의 수만 표시합니다. -w: 단어의 수만 표시합니다. -c: 문자의 수만 표시합니다. -m: 멀티바이트 문자의 수를 표시합니다 (일부 시스템에서 사용 가능).

pretty print로 json 데이터 이쁘게 출력하기

pprint 모듈은 Python의 표준 라이브러리 중 하나로, "Pretty Printer"의 약자입니다. 이 모듈은 복잡한 Python 데이터 구조를 보다 읽기 쉽고 이해하기 쉬운 형식으로 출력하는 기능을 제공합니다. pprint는 특히 디버깅 과정에서 유용하게 사용됩니다. 이 모듈을 사용하면 리스트, 딕셔너리, 튜플과 같은 내장된 Python 데이터 타입을 포함한 객체를 깔끔하게 정렬하여 출력할 수 있습니다. pprint 사용 방법 import pprint data = [{'이름': '홍길동', '나이': 30, '취미': ['등산', '독서']}, {'이름': '김철수', '나이': 25, '취미': ['영화 감상', '여행']}] pprint.pprint(data) json 데이터도 간단하고 이쁘..

반응형