Kubernetes

앞선 게시물에서 Vault를 사용하기 위해 Role + Policy + Secrets을 생성하였다. 이제는 서비스에서 어떻게 Vault Secrets을 사용할 수 있는지 알아보도록 하자!! [Vault] Vault 서비스 사용 방법[1/2] 앞선 게시물로 Vault 배포 및 활성화 방법에 대해서 알아보았다. 설치하였으면 이제 사용해보아야하며, 본 게시물에서는 Vault 사용방법에 대해 알아보자! [Vault] Vault Helm 배포 및 활성화 방법 K8s를 dobby-isfree.tistory.com Vault Secrets 사용방법 Vault는 Sidecar 형태로 vault agent가 주입이 된다. 그렇기에 사용하는 Deployment에 특정 annotation 값을 설정해야 한다. Vault를 ..
개인적으로 차근차근 공부하는 목적으로 작성한 글입니다. 일부 잘못된 내용이 있을 수도 있습니다. 잘못된 내용은 피드백 해주시면 적극 반영하도록 하겠습니다. 감사합니다 :) 최근에 EKS 업데이트를 했었는데, k8s 버전에 맞는 coreDNS 업데이트도 했다. coreDNS가 이름만 들어보면 언뜻 DNS 서비스를 뜻하는것 같은데, 정확히 어떤 개념이고 어떤게 동작하는지 궁금했다. CoreDNS란 무엇인가? k8s docs를 보면 아래와 같이 쿠버네티스 클러스터의 DNS 역할을 수행하는 서버로 표현되어 있다. CoreDNS는 쿠버네티스 클러스터의 DNS 역할을 수행할 수 있는, 유연하고 확장 가능한 DNS 서버이다. 쿠버네티스와 동일하게, CoreDNS 프로젝트도 CNCF 가 관리한다. 어렵게 표현했지만 결..
Devops 직군뿐 아니라, 최근에는 Helm이 널리 이용되고 있다. 그래서 자주 사용하는 Helm Command에 대해서 정리해보고자 한다. 아직은 많이 많이 부족하고 배우는 단계라서 단순한 것만 사용하고 있으니, 참고만 하도록 한다. 아래 Helm 공식 Docs를 통해서 더 많은 명렁어를 확인할 수 있고, 직접 사용해보면서 업무에 필요한 명렁어를 습득하면 된다. Helm Get 헬름 - 쿠버네티스 패키지 매니저 helm.sh Command Tip 1. 현재 배포되어 있는 Helm release 와 배포 이력 찾기 helm list를 통해 현재 배포하고 있는 helm release를 알 수 있다. 1개가 될 수도 있고, 2개 이상이 될 수도 있다. 그리고 간략하게 REVISION과 배포 시간 그리고 C..
kubernetes 공부를 하다보면 pod, containers라는 단어를 많이 들어볼 수 있다. 먼저 pod란? kubernetes에서 가장 기본적인 배포 단위이다. 쉽게 말해서 1개의 가상이미지라고 보면 된다. 그렇다면 container는 뭘까? pod를 이루는 Application이라고 보면 된다. 일반적으로 1개의 pod에는 1개의 container가 존재하나 필요에 따라서 다수의 containers가 존재할 수 있고 이런 경우 multi containers pod라고 한다. 그럼 init container는 뭘까? init container는 app container가 구동되기 이전에 pod를 초기화해주는 container라고 보면 된다. pod의 환경설정 또는 기타 다른 부수적인 작업을 하기 ..
앞장에서 DaemonSet에 대해서 알아보았다. 그렇다면 이번에는 StaticPod에 대해서 알아보자! 먼저 StaticPod란 무엇일까? Docs에 기재되어 있느 내용을 인용하면 Kubernetes API 서버없이 Kubelet 데몬에 의해 직접 관리하며, Node에 필수로 설치하는 Pod을 배포하기 위한 방법으로 설명되어 있다. Kubelet 데몬에 의해 직접 관리의 의미는 일반적은 Kubernetes 구조와는 다르다는것을 의미한다. 일반적은 구조는 사용자가 어떤 명령을 하면 이를 API Server에서 모두 취합하여 명령을 내린다. API Server는 사람으로치면 두뇌의 역할을 한다. 그렇기에 API Server에 장애가 발생하면 Pod 배포가 되지 않는다. 근데 StaticPod는 API Ser..
Kubernetes에는 많은 형태의 Pod 배포 방법이 존재한다. 그렇기에 많은것을 공부해야되고 아직까지도 새로운것이 많다. 이번에는 DaemonSet 과 StaticPod에 대해서 알아보자!! 먼저 DaemonSet이란? DaemonSet은 노드별로 Pod를 배포할 때 사용하는 서비스이다. 예를들어서 클러스터에 5개의 Node가 존재한다면 Daemonset이 있다면 각 노드별로 Pod가 배포되고 총 5개의 Pod가 배포된다. 일반적으로 Node별로 Pod 정보를 수집하거나, Node 정보를 수집하거나 또는 각 Node에 필수로 실행되어야하는 Pod가 있을 때 DaemonSet을 많이 사용한다. 현재 재직중인 회사에서도 Node의 상태를 모니터링하는 오픈소스 플랫폼을 사용하는데, 이를 DaemonSet으..
ReplicaSet & Replication Controller 만약, Pod를 만들었는데 어떠한 이유로 Pod이 장애가 난다면 서비스를 이용할 수 없다. 이런 상황을 방지하기 위해 서비스에 대해 단일 Pod으로 만들기보다는 복수의 Pod으로 만들어서 부하분산을 하도록 한다. 이와 같은 사유로 동일한 Pod를 여러개 만들때 사용하는것이 ReplicaSet 또는 Replication Controller이다. ReplicaSet, ReplicationConroller 모두 특정 Pod에 대해서 특정 개수를 일정하게 유지하기 위한 목적으로 만들어졌다. 그렇다면 차이점은 뭐가 있을까? 구분 ReplicaSet ReplicationContoller 비고 출시시기 고도화 버전 완전 초창기 버전 Selector i..
Kube Proxy 아래와 같이 Pod에는 여러가지 Container가 구동될 수 있다. 이때 POD끼리 통신하기 위해서는 POD Network가 필요하다. 만약 좌측 POD이 웹서버이고, 우측 POD이 데이터베이스라고할 때 전통적인 서버 방식이라면 IP가 변경될일이 없기 때문에 IP 기반으로 통신을 하면 된다. 하지만 POD은 수시로 생성/삭제가 이뤄지기 떄문에 IP 기반으로 통신할 수가 없다. 이때 웹서버가 데이터베이스에 접근하기 위한 좋은 방식이 서비스를 기반으로 하는 접근 방식이다. kube-proxy는 Node/Pod/Container간 통신을 하기 위한 서비스로 이는 DeamonSet으로 배포하기 때문에 항상 POD에 배포된다. kubectl get pods -n kube-system kube..
CKA 강의를 듣는데, 강의를 듣다보니 kubernetes의 구조를 알아야 할 것 같아서 구조를 먼저 알아보도록 한다. Kubernetes 구조 Udemy에서는 k8s를 선박으로 비유하였다. 그리고 k8s에는 Master/Worker Node가 존재한다. 위 그림에서 볼 수 있듯이 k8s 구조를 보면 Master Node와 Worker Node가 나온다. Master Node 란? Master Node는 클러스터에 관한 전반적인 결정을 수행하고, 이벤트를 감지하고 반응하는 역할을 한다. 즉, k8s의 두뇌이다. 그리고 해당 Node는 아래 컴포넌트로 이루어지며, 각 구성요소의 기능은 아래와 같다. kube-apiserver : 모든 요청을 처리하는 역할로 가장 중추적인 역할을 담당한다. Master No..
Kobby
'Kubernetes' 태그의 글 목록