본문 바로가기

Devops45

[Kubernetes] Pgadmin4 Ingress 적용 데이터베이스에 접속하여 관리를 할 수 있는 툴이 여러 가지 있는데, 사람들이 가장 많이 사용하는 툴로 Dbeaver가 있고, PostgreSQL 같은 경우 Pgadmin4라는 전용 툴도 따로 존재한다. (다른 예 : MySQL의 Workbench) 여기서 Pgadmin4 같은 경우, 웹으로 접속하여 설치형 애플리케이션과 동일하게 이용할 수 있는 컨테이너 이미지가 존재하고, 이를 쿠버네티스 Ingress를 적용하여 접속하는 방법을 알아볼 것이다.  문제점 Kubernetes에서 Ingress로 클러스터 내부의 서비스를 이용할 때, 일반적으로 애플리케이션 API는 Prefix에 오는 Path를 제거해 주는 방식으로 많이 이용하는데, 이는 구현된 API의 로직에 따라 에러가 발생할 수 있다. Prefix를 제.. 2024. 7. 7.
[Jenkins] Build Number 초기화 Jenkins를 이용하면서 Job을 실행시키면, 각 수행마다, Build Number가 순차적으로 올라간다. 이 Build Number는 Job 내부에서 환경변수로 이용을 할 수 있고, 이는 여러 가지 변수(컨테이너 이미지 태그 등)로 사용할 때가 많았다. 하지만 어느 순간 초기화(다시 1로)가 필요해질 때가 발생하여, 기록차 남기게 되었다.    1. Jenkins 관리로 이동     2. Script Console로 이동     3. Script 기입 및 실행  아래는 특정 Job에 대하여 과거에 저장되었던 Build 내용을 삭제하고, Build Number를 초기화하는 스크립트다. // 특정 Job의 Build 내역을 삭제하고 Number를 초기화하는 Scriptitem = Jenkins.insta.. 2024. 7. 2.
[Kubernetes/Calico] 파드 IP와 네트워크 인터페이스 노드의 CIDR 쿠버네티스 환경에서 파드를 생성하게 되면, 노드에 배정받은 IP 대역을 기반으로 파드의 IP를 배정하게 된다.  아래의 명령어로 초기 쿠버네티스 클러스터를 구축할 때 설정했던, pod-cidr을 기반으로 노드에 배정된 대역을 확인할 수 있다. kubectl describe node [노드 이름] | grep CIDR    그리고 위 CIDR을 토대로 파드 IP가 배정되는 부분을 확인해 볼 것이다.  파드의 IP 배정  파드 생성   파드 조회   CIDR을 기반으로 192.168.1.4라는 IP가 파드에 배정이 된 것을 볼 수 있다. 생성된 네트워크 인터페이스 확인 이러한 파드들은 생성이 될 때, Calico에서 각각의 네트워크 인터페이스를 생성하게 되고, 이는 cali로 시작하는 이름의.. 2024. 5. 27.
[Kubernetes] 쿠버네티스 컴포넌트(Controlplane) 인증서 재발급 쿠버네티스 클러스터를 구축하면 Api-server는 모든 통신을 함에 있어 기본적으로 Https 통신을 한다. 이로 인하여 각 쿠버네티스 컴포넌트는 Api-server와 통신을 할 때, 클러스터의 초기화 및 합류하는 시점에서 인증서와 개인 키를 발급하고 통신에 사용한다. 기본적으로 인증서의 유효 기간은 1년이며, 이번 내용은 발급된 인증서의 유효 기간 확인 및 재발급에 대하여 다룰 것이다.Kubeadm으로 쿠버네티스 클러스터를 구축하고, Controlplane의 /etc/kubernetes 경로의 하위 파일들을 보면 아래와 같다.    이는 각 쿠버네티스 컴포넌트의 설정 값이 포함된 파일들이 있고, 그 내용은 아래 양식과 같다. 여기서 각 컴포넌트들의 인증서와 개인 키 값이 conf 파일에 내장되어 있는.. 2024. 5. 2.
[Kubernetes] Kibana Ingress 적용 [ELK] Kubernetes 환경에서 Elasticsearch / Kibana 설치최근에는 많은 회사들이 Elastic Stack으로 데이터 파이프라인을 구축하여 다양한 분야에서 활용한다. https://ssnotebook.tistory.com/entry/ELK-Elasticsearch [ELK] Elasticsearch 1. 엘라스틱 서치(Elasticsearch) : 아파치ssnotebook.tistory.com 쿠버네티스 환경에서 Elasticsearch와 Kibana의 파드(Statefulset 기반)를 생성하고 연동하는 작업을 했었다.  그리고 서비스는 NodePort를 띄워 해당 포트(30000)로 접속하는 방식으로 구현을 했었다.  하지만 쿠버네티스 환경에서는 이러한 NodePort뿐 아니.. 2024. 4. 25.
[Kubernetes] Errors during downloading metadata for repository 'kubernetes' 쿠버네티스 클러스터의 노드에서 타 패키지를 이용하고자 yum으로 설치하려고 하는 중 아래와 같은 에러가 발생했다. 내용으로 보았을 때, 쿠버네티스 패키지를 설치하기 위해서 등록했던 쿠버네티스 레포지토리를 찾을 수 없어서 404 에러를 반환하였고, 이로 인하여 yum을 이용한 어떠한 패키지도 설치할 수 없었다. Search 이를 해결하기 위하여 추가적으로 자료 조사를 진행하였고, 아래와 같은 공지를 확인할 수 있었다. https://kubernetes.io/blog/2023/08/31/legacy-package-repository-deprecation/ Kubernetes Legacy Package Repositories Will Be Frozen On September 13, 2023 Authors: B.. 2024. 4. 9.