Kubernetes의 확장인 CRD Custom Resource Definition 와 CR Custom Resource 에 대한 개념 정리 기존에 Kubernetes 상의 Operator 나름대로 정리 라는 게시글을 작성했다. 게시글 자체는 Operator를 설명하기 위한 내용이었는데, 댓글로 문의를 주신 분들의 의문점들을 살펴보니 Operator의 관점에서 바라봤을 때 CRD와 CR에 대한 실체들에 대한 궁금점들이었기 때문에 근본적인 내용을 설명하는 것이 좋을 것 같아서 이 게시글을 작성한다. Kubernetes의 기본적 동작 원리 Kubernetes 구성에 대한 자세한 내용은 Kubernetes Components 참고 Kubernetes는 상태관리 시스템 이다.예를 들어 Replica를 3이라고 ..
How to force deletion of pods on namespace 문제 상황 이전 게시글인 삭제되지 않는 네임스페이스 Namespace 강제로 삭제하기 를 통해 네임스페이를 삭제하는 방법을 알아 보았다. 이번 경우는 확실하게 눈으로 확인할 수 있는 파드 Pod 들이 남아 있고 Terminating 상태로 삭제되지 않는 문제가 발생했다. 테스트 했던 M3 오퍼레이터 Operator 를 장시간 유지하면서 etcd 클러스터가 응답하지 않는 상태가 발생했고, 삭제를 했지만 삭제되지 않는 문제인 상태다. $ kubectl -n m3cluster get pods NAME READY STATUS RESTARTS AGE ... etcd-0 1/1 Terminating 2 16d etcd-1 1/1 Termi..
정상적으로 동작하던 Dynamic NFS Provisioning에서 오류가 발생하는 문제 해결 참고 쿠버네티스 Kubernetes 클러스터에 동적으로 NFS Network File System Provisioning 에 대한 글은 아래 게시글 참고 [CentOS - NFS] CentOS 8에 NFS 설정 및 테스트 [Kubernetes-Storage] CentOS 8에 Dynamic NFS Client Provisioner 구성하기 상황 위의 게시글을 기준으로 NFS Provisioning 을 잘 사용하고 있었다. 추가로 쿠버네티스 클러스터를 구성해서 테스트를 해야하는 작업이 생겼고, 최신 버전의 쿠버네티스로 설치를 진행했다. 동일하게 NFS Provisioning 설정을 했고, 애플리케이션을 배포했을 ..
Docker를 사용하지 않고 Containerd 기반의 Kubernetes Cluster를 CentOS 8 에 kubeadm으로 설치하기 CentOS 8 버전부터 도커 Docker 는 레드햇의 도구인 podman, buildah 로 대체된 상태로 기본 패키지 저장소에서 제거되었고, API를 사용해서 처리되는 것이기 때문에 특정 툴에 한정될 필요가 없다. 현재 제공되고 있는 컨테이너 런타임Container Runtime 은 다음과 같다. Docker CRI-O Containerd 이 문서는 containerd를 사용해서 클러스터를 구성한다. 1개의 마스터 노드와 3개의 워커 노드 모두 CentOS 8 설치 각 노드는 2G RAM, 2 CPU 를 최소 사양으로 한다. 모든 노드는 저장소에서 쿠버네티스 Kub..
How to force deletion of a namespace 문제 상황 Argo Project의 Argo Events를 테스트해 보기 위해서 여러 가지 작업을 하던 중 제대로 처리가 되지 않아서 다시 시작할 겸 Namespace를 삭제해서 소속된 리소스들을 모두 삭제했다. 그런데 위의 그림처럼 Argo Events Namespace가 삭제되지 않고 Terminating 상태로 계속 유지되는 문제가 발생했다. 문제 원인 정상적으로 삭제될 수 있는 시간을 지나서도 Terminating 상태로 남아있어서 원인에 대한 부분을 찾다가 Namespace의 다른 모든 Resource들은 삭제되었는데 (정확하게는 Dashboard에도 조회가 되지 않고, kubectl get 명령으로도 보이지 않는) Namespa..
How to building real world sample step by step - Part 3 게시글 참고 이 게시글은 KUDO Blog 샘플을 기준으로 테스트하면서 발생한 문제점들을 처리하고 동작을 검증하면서 정리한 내용입니다. PART 1에서는 부트스트랩 노드 구성 PART 2에서는 클러스터에 노드들이 참여할 떄 사용할 서비스와 설정등을 구성하고 StatefulSet을 구성 이 문서는 KUDO Blog 샘플을 기준으로 테스트하면서 발생한 문제점들을 해결하고 동작을 검증하면서 정리한 내용으로 구성된 Galera Cluster의 사용하지 않는 bootstrap 정보를 제거하고, 외부 연결을 위한 서비스 생성 및 서비스의 중단없이 Scale Up/Down 할 수 있도록 나머지 부분을 적용해 본다. 이..
How to building real world sample step by step - Part 2 게시글 참고 이 게시글은 KUDO Blog 샘플을 기준으로 테스트하면서 발생한 문제점들을 처리하고 동작을 검증하면서 정리한 내용입니다. PART 1에서는 부트스트랩 노드 구성 PART 3에서는 사용하지 않는 부트스트랩을 제거하고, 외부 접속을 위한 서비스를 생성하며, 안전한 Scale Up/Down 처리 구성 이 문서는 KUDO Blog 샘플을 기준으로 테스트하면서 발생한 문제점들을 해결하고 동작을 검증하면서 정리한 내용으로 초기 구성된 Galera Cluster의 부트스트랩을 이용해서 클러스터에 노드들이 참여할 떄 사용할 서비스와 설정등을 구성하고 StatefulSet을 구성하는 방법을 정리한다. Clu..
[Kubernetes - Storage] How to configure a dynamic storage provisioner for Kubernetes using a network file system on CentOS 8 참고 이 문서는 Network File System을 CentOS 8에 설치하여 NFS Server로 운영하면서 Kubernetes의 PVC (Perssistent Volume Claim) - StorageClass - NFS 로 연동되는 PV (Persistent Volume)를 자동으로 구성하는 방법을 정리한 것입니다. CentOS 8에 설치되는 NFS를 Kubernetes의 Dynamic Storage Provisioning 으로 활용해서 PV (Persistent Volume)..
How to building real world sample step by step - Part 1 게시글 참고 이 게시글은 KUDO Blog 샘플을 기준으로 테스트하면서 발생한 문제점들을 처리하고 동작을 검증하면서 정리한 내용입니다. PART 2에서는 Galera Cluster에 참여할 노드들 구성 PART 3에서는 사용하지 않는 부트스트랩을 제거하고, 외부 접속을 위한 서비스를 생성하며, 안전한 Scale Up/Down 처리 구성 이 문서는 KUDO Blog 샘플을 기준으로 테스트하면서 발생한 문제점들을 해결하고 동작을 검증하면서 정리한 내용으로 Galera 클러스터 구성을 위한 Bootstap Node 설정을 다룬다. 참고 이 문서는 KUDO에 대한 이해를 어느 정도 하고 있다는 것을 전제로 하며 ..
How to use KUDO 당연한 것이지만 KUDO를 테스트하기 위해서는 Kubernetes Cluster가 존재해야 한다. Kind 와 Minikube를 사용할 수 있다. Setup a Kubernetes Cluster 1.13+ Install kubectl 1.13+ Install cert-manager. KUDO는 TLS가 필요한 webhook를 사용한다. 참고 Minikube Minikue를 통해 KUDO를 로컬에서 개발하고 테스트하기 위해서는 적절한 양의 메모리가 필요한데 Minikube는 2G 메모리를 기준으로 하는데 Kafka의 경우는 최소 10GB를 권장하므로 로컬에서 메모리를 구성하기는 좀 힘들다. 그러나 가능한 리소스가 존재한다면 아래와 같이 기본적인 설정을 바꿔 실행이 가능하다. $..
- Total
- Today
- Yesterday
- kudo-cli
- operator framework
- NFS
- operator
- terrminating
- Kubernetes
- custom resource
- Replica
- leader
- ssh
- dynamic nfs client provisioner
- zookeeper
- galera
- KUBECTL
- collection
- GIT
- opencensus
- Galera Cluster
- docker
- provisioner
- CentOS
- Kudo
- macos
- Node
- CentOS 8
- 쿠버네티스
- k8s
- Cluster
- SolrCloud
- Packages
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |