본문 바로가기

K8s13

[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.
[Prometheus] Kube-Proxy Metric 활성화 사내에서 kube-prometheus-stack을 이용하여 쿠버네티스 클러스터 모니터링을 구축하던 차였다. 기본적으로 Apiserver 및 노드와 파드의 상태를 모니터링하는 부분은 별 문제가 없으나, 일부 Helm에서 생성되는 쿠버네티스 컴포넌트의 대시보드가 아래처럼 아무런 데이터가 나오지 않았다. 데이터가 없는 주요 컴포넌트는 kube-proxy, etcd, kube-controller-manager, kube-scheduler가 있었다. 우선 kube-proxy부터 순차적으로 자료 조사를 진행하였다. 해당 원인은 쉽게 파악이 되었고 해결하였는데, ConfigMap에서 kube-proxy의 Metric수집을 위한 주소가 없기 때문이라는 것을 파악했다. Troubleshoot # kube-system에 .. 2024. 4. 4.
[Kubernetes] Quality of service(QOS) 아래 글을 기반으로 쿠버네티스 환경에서는 컴퓨터 자원을 어떻게 관리하는지와 압축 가능한 자원 및 압축이 불가능한 자원에 대하여 알아볼 수 있었다. [Kubernetes] 쿠버네티스의 컴퓨터 자원(CPU/Memory) 관리 및 제한 - 1 쿠버네티스는 Namespace와 Cgroup을 통해 컨테이너의 격리된 환경을 구축하고 배포한다. 컨테이너를 생성할 때, 컴퓨터 자원의 할당의 제한이 선언되면 쿠버네티스의 Scheduler는 컨테이너가 생성되기 ssnotebook.tistory.com 이번 글에서는 Quality of Service(QOS)에 대하여 알아볼 것이다. 파드는 생성할 때 요청(Request)과 제한(Limit)이라는 사용할 컴퓨터 자원의 제약을 둘 수 있다, 이 제약에 따라 쿠버네티스는 서비스.. 2024. 2. 28.
[Kubernetes] 쿠버네티스의 컴퓨터 자원(CPU/Memory) 관리 및 제한 - 1 쿠버네티스는 Namespace와 Cgroup을 통해 컨테이너의 격리된 환경을 구축하고 배포한다. 컨테이너를 생성할 때, 컴퓨터 자원의 할당의 제한이 선언되면 쿠버네티스의 Scheduler는 컨테이너가 생성되기에 알맞은 노드(컴퓨터 자원이 충족되는)를 선택한다. ※ 컨테이너는 CPU, Memory, Disk(FileSystem)와 네트워크, 프로세스 ID, GPU 등의 컴퓨터 리소스를 소비할 수 있다. 과거에는 쿠버네티스에서 Cgroups v1을 기반으로 컴퓨터 자원을 격리했는데, 쿠버네티스 1.22 버전을 시작으로 Cgroups v2를 이용하여 더 효율적으로 컴퓨터 자원에 대한 관리를 할 수 있게 되었다. https://kubernetes.io/blog/2021/11/26/qos-memory-resour.. 2024. 2. 5.