본문 바로가기

분류 전체보기

(221)
Kubernetes TLS 인증서 발급: ClusterIssuer Solver 활용하기 (HTTP01 Solver, DNS01 Solver) Kubernetes TLS 인증서 발급: ClusterIssuer Solver 활용하기Kubernetes에서 ClusterIssuer는 Let's Encrypt와 같은 인증 기관을 통해 클러스터 전역에서 사용할 수 있는 TLS 인증서를 발급하는 데 사용됩니다. 이 글에서는 ClusterIssuer의 solver를 테스트하는 방법을 다룹니다.ClusterIssuer의 solver는 DNS01, HTTP01, 또는 기타 인증 방법을 사용하는 경우가 많습니다. 올바르게 구성되었는지 확인하려면 적절한 테스트가 필요합니다. 이 글은 일반적인 HTTP01 및 DNS01 솔버를 테스트하는 방법에 초점을 맞춥니다.1. ClusterIssuer 개요ClusterIssuer는 cert-manager에서 제공하는 Custo..
Docker 네트워크 이해하기: 컨테이너에서 호스트 포트에 접근하는 법 Docker 네트워크 이해하기: 컨테이너에서 호스트 포트에 접근하는 법Docker 컨테이너와 호스트 머신 간의 네트워크 통신은 많은 개발자들이 자주 직면하는 과제입니다. 특히 컨테이너 내에서 호스트 머신의 특정 포트에 접근해야 할 때 명확한 이해가 필요합니다. 이 글에서는 Docker 컨테이너에서 호스트 포트에 접근하는 방법을 단계별로 설명하고, 자주 발생하는 문제와 해결책을 공유합니다.1. Docker 컨테이너와 호스트의 네트워크 이해하기Docker 컨테이너는 기본적으로 호스트와는 분리된 네트워크 공간에서 실행됩니다. Docker는 기본적으로 bridge라는 네트워크 드라이버를 사용하여 컨테이너들을 호스트 네트워크와 연결합니다. 컨테이너에서 호스트의 네트워크에 접근하기 위해 다양한 방법이 존재하며, 각..
Docker 컨테이너에서 크론 작업(cronJob) 실행하기: 설정 및 예제 가이드 크론 작업을 Docker 컨테이너 안에서 실행하는 방법은 개발 및 운영 환경에서 자주 다루어지는 문제 중 하나입니다. 이 글에서는 Docker 컨테이너 내부에서 크론 작업(cron jobs)을 설정하고 실행하는 방법을 단계별로 알아보겠습니다.Docker 컨테이너 내부에서 크론 작업 실행하기1. 크론 작업이란?크론(cron)은 유닉스 계열 운영 체제에서 시간 기반의 작업 스케줄링을 위해 사용되는 시스템 도구입니다. 이를 통해 정기적으로 실행되어야 하는 작업을 자동화할 수 있습니다.2. 기본 Docker 이미지에 크론 설치하기Docker 컨테이너 내에서 크론 작업을 실행하기 위해서는 컨테이너에 크론 데몬(cron daemon)이 설치되어 있어야 합니다. 일반적으로 Linux 기반 컨테이너에서 크론을 설정할 ..
Docker 컨테이너 최적화를 위한 빌드 컨텍스트 외부 파일 포함 방법 Docker 컨테이너 최적화를 위한 빌드 컨텍스트 외부 파일 포함 방법Docker로 애플리케이션을 컨테이너화할 때, 우리는 종종 프로젝트 루트 경로 외부에 있는 특정 파일이나 디렉토리를 Docker 이미지에 포함해야 하는 상황을 맞이합니다.예를 들어, 보안 자격 증명 파일이나 공용 설정 파일을 사용하고자 할 때 이러한 필요가 발생할 수 있습니다. Docker의 빌드 컨텍스트에 이러한 외부 파일을 포함하는 것은 몇 가지 제한이 있지만, 이를 해결하기 위한 몇 가지 전략이 존재합니다.1. Docker 빌드 컨텍스트란?Docker 빌드 컨텍스트는 docker build 명령어가 실행되는 디렉토리와 그 하위 파일 및 디렉토리의 집합을 말합니다. Docker가 이미지를 빌드할 때, 빌드 컨텍스트 외부에 있는 파일..
[Git] Git에서 이미 커밋된 파일 무시하기 Git 환경에서 이미 커밋된 파일들을 무시하는 방법에 대해 알아보겠습니다. .gitignore 파일의 역할 .gitignore 파일은 Git에 의해 추적되지 않을 파일들을 지정합니다. 이 파일에는 Git이 추적하지 않을 파일 패턴들이 포함되어 있습니다. 하지만, 이미 추적 중인 파일들에 대해서는 영향을 미치지 않습니다. 즉, .gitignore에 파일을 추가한다고 해서 이미 커밋된 파일이 자동으로 무시되지는 않습니다. 이미 커밋된 파일 추적 취소 방법 단일 파일 추적 취소 특정 파일이 이미 커밋된 상태에서 이후로는 무시하고자 할 때, git rm --cached [파일명] 명령어를 사용해 파일 추적을 취소할 수 있습니다. 이 명령은 파일을 시스템에서 삭제하지 않고 Git 추적에서만 제외합니다. .giti..
[Docker] 오류 해결: 'The input device is not a TTY' 문제 원인과 해결 방법 Docker를 사용할 때 "The input device is not a TTY"라는 오류 메시지가 나타나는 경우가 있습니다. 이 오류는 주로 Docker 컨테이너와 상호작용할 때 발생하며, 특히 CI/CD 파이프라인이나 스크립트에서 Docker 명령을 실행할 때 자주 발생합니다. 오류의 원인 TTY(Teletype)는 전통적으로 텍스트를 입력하고 출력하는 장치를 가리키는 용어입니다. 현대 컴퓨팅에서는 터미널 또는 명령줄 인터페이스를 의미합니다. Docker에서 이 오류 메시지는 Docker 명령이 TTY 또는 인터랙티브 쉘에 연결되어 있지 않을 때 발생합니다. 스크립트 실행 중: 배치 스크립트 또는 CI/CD 파이프라인에서 docker run 또는 docker exec 명령을 실행할 때 이 오류가 발생..
[Docker] Docker 이미지 정리하기: 불필요한 이미지 제거하는 완벽 가이드 Docker 이미지 관리는 시스템의 성능과 공간 효율성을 유지하기 위해 중요합니다. 오래되거나 사용하지 않는 이미지를 제거하는 것은 디스크 공간을 확보하고, 관리를 용이하게 하며, 보안을 강화할 수 있습니다. 이 글에서는 Docker 이미지를 효과적으로 정리하는 방법에 대해 설명합니다. Docker 이미지 제거의 기본 Docker에서 이미지를 제거하는 가장 기본적인 명령어는 docker image rm 입니다. 이 명령어는 하나 이상의 이미지를 제거하는 데 사용됩니다. docker image rm [OPTIONS] IMAGE [IMAGE...] 옵션으로는 -f 또는 --force를 사용하여 이미지의 강제 삭제를 할 수 있고, --no-prune 옵션을 사용하여 태그되지 않은 부모 이미지를 삭제하지 않도록..
[Python] 판다스(Pandas)에서 DataFrame 행 반복 처리하기 - iterrows 판다스(Pandas)는 파이썬에서 데이터 분석을 위해 널리 사용되는 라이브러리입니다. 이 글에서는 판다스의 DataFrame에서 행을 반복(iterate) 처리하는 방법에 대해 알아보겠습니다. DataFrame 행 반복의 기본: iterrows() 판다스에서 DataFrame의 각 행을 반복하는 기본적인 방법은 iterrows() 함수를 사용하는 것입니다. 이 함수는 DataFrame의 행을 (인덱스, 시리즈) 쌍으로 반복합니다. 예시 코드 import pandas as pd # 예제 DataFrame 생성 df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}) # iterrows를 사용하여 행 반복 for index, row in df.iterrows(): prin..
[Docker] 도커(Docker)에서 한 번에 모든 이미지 삭제하는 방법 도커(Docker)를 사용하면서 로컬에 쌓인 이미지들을 일괄적으로 삭제할 필요가 있을 때가 있습니다. 특히, 디스크 공간을 확보하거나 정리를 하기 위한 작업을 필요로 합니다. 이 글에서는 도커에서 모든 로컬 이미지를 삭제하는 방법에 대해 알아보겠습니다. 도커 이미지 삭제 기본 도커에서 이미지를 삭제하는 기본 명령어는 docker rmi입니다. 이 명령어는 하나 또는 여러 개의 이미지를 호스트 노드에서 삭제합니다. 이미지가 여러 태그를 가지고 있다면, 해당 태그만 제거하고, 태그가 이미지에 대한 유일한 참조일 경우 이미지와 태그 모두 삭제됩니다. 예시: 특정 이미지 삭제 docker rmi 모든 이미지 일괄 삭제 모든 로컬 도커 이미지를 삭제하려면, 아래의 명령어를 사용할 수 있습니다. 이 명령어는 로컬에..
[k8s] Kubernetes 명령어 비교: kubectl apply vs kubectl create Kubernetes에서 자원을 관리하고 배포하는 데는 다양한 명령어가 사용됩니다. 이 글에서는 Kubernetes의 핵심 명령어인 kubectl apply와 kubectl create의 차이점을 살펴보고, 언제 어느 명령어를 사용해야 하는지를 알아보겠습니다. kubectl apply의 특징 및 사용법 kubectl apply 명령어는 Kubernetes 리소스의 구성을 선언적으로 관리하는 데 사용됩니다. 이 명령어는 리소스의 현재 상태를 JSON 또는 YAML 파일 형식으로 지정된 원하는 상태와 비교하여, 필요한 변경사항을 적용합니다. 주요 특징 변경사항만 적용: 기존 리소스의 설정을 수정하거나 추가할 때 유용합니다. 선언적 업데이트: 리소스의 전체 정의를 제공하고 Kubernetes가 필요한 변경을 파..