반응형 kubernetes43 Helm 개념과 구조 기술조사 Helm Version 3.0 Helm 이란? Kubernetes 의 패키지 관리 도구 Linux의 Yum, Apt와 비슷한 형태로 Kubernetes 패키지 배포를 가능하게 해주는 Tool 어플리케이션을 패키징하여 Kubernetes Cluster에 배포할 수 있도록 도와줌 Helm을 사용하는 이유? 어플리케이션 배포 + 필요한 Kubernetes 리소스까지 모두 배포해주는 역할을 한다. 일반적으로 하나의 소프트웨어 or 어플리케이션을 배포하는데, 하나의 컨테이너만으로 해결되는 경우는 적다. Ingress, Service, Pod, 디스크 볼륨, 기타 정책까지 추가적으로 배포해야 한다. 따라서, 하나의 어플리케이션을 위해서 많은 구성 및 설정이 필요해서 복잡해지는데, 이러한 하나의 소프트웨어를 배포하기.. 2021. 1. 14. kubernetes Deploy Strategy(배포전략) 대표적인 무중단 배포 전략 세 가지를 기술한다. 무중단 배포란? 서비스적인 장애와 배포에 있어서 부담감을 최소화 하고, 서비스가 중단되지 않도록 배포하는 기술 Rolling Update Blue/Green Canary 롤링(Rolling) 구 버전을 하나 제거하고 새 버전을 하나 추가하는 과정을 반복하는 방식(V1에서 V2로 점진적으로 전환) 이전버전(v1)과 새버전(v2)의 인스턴스가 동시에 존재할 수 있다는 단점이 있음. (버전 차이로 인해 발생하는 상황을 고려해야한다. ) 서버 수의 제약이 있을 경우, 배포중에 인스턴스 수가 감소된다. 블루/그린(Blue/Green) 이전버전과 새버전을 동시에 나란히 구성 후 트래픽을 일제히 전환한다. 롤링에서 존재하는 버전차이에 대한 문제를 해결할 수 있다. 문제.. 2020. 12. 29. kubernetes의 포드(Pod) 소개 쿠버네티스에서는 Pod라는 단위로 컨테이너를 묶어서 관리한다. 1개의 Pod는 1개의 컨테이너 or 2개 이상의 컨테이너를 포함한다. (일반적으로는 단일 컨테이너를 포함해서 사용한다) 다수의 컨테이너를 포함할 경우, 항상 포드 전체가 단일 워커노드에서 실행된다. (다시 말해, 1개의 포드가 여러 워커노드에 걸쳐있을 수 없다는 말이다) 왜 여러 개의 컨테이너를 Pod단위로 묶어서 배포할까? 여러개의 프로세스를 하나의 컨테이너로 묶으면 안되기 때문에, 컨테이너를 단일 단위로 관리할 수 있는 상위 레벨 구조가 필요하다. 이를 통해, 마치 하나의 컨테이너에서 실행되는것 처럼 환경을 제공하면서 다소 격리된 상태로 유지할 수 있다. Pod 특성 Pod는 자체IP주소를 가지며, pod내의 컨테이너는 IP와 Port를.. 2020. 12. 28. Kubernetes, Docker 지원중단(Deprecation) 발표 12.02 Kubernetes v1.20 릴리즈의 일부분으로 Dockershim 지원중단 발표. 왜 Docker를 더 이상 지원하지 않는가? Kubernetes에서는 유지관리의 부담을 줄이고, 다양한 컨테이너 런타임의 원활한 상호 운용을 위해서 'CRI 표준'을 사용할 것이다. Docker는 컨테이너 런타임 인터페이스인 CRI를 준수하지 않습니다. 따라서, 사용자는 컨테이너 런타임을 Docker에서 지원되는 다른 컨테이너 런타임으로 변경하기만 하면 됩니다. 해야할 일 Docker 런타임 지원이 향후 v1.22 이후 제거되면 더 이상 지원하지 않으므로, containerd or CRI-O와 같은 다른 컨테이너 런타임 중 하나로 전환해야 합니다. 언제부터 지원 중단 예정인가? Dockershim이 없는 가장 빠른 릴리.. 2020. 12. 22. Kubernetes 기본 명령어 정리(kubectl) Kubernetes에서는 kubectl 이라는 명령어를 사용한다. 이 명령어를 입력받은 apiserver가 해당 명령어를 수행한다. 대부분 CLI환경에서 조작이 가능하기 때문에, 이 kubectl 명령어를 사용할 줄 알아야 한다. Kubectl [Command] [Type] [Name] [Flags] Command : 하나 이상의 리소스에서 수행하려고 하는 동작을 지정한다(ex. Create, get, describe…) Type : 리소스 타입을 지정(대소문자 구분X , 단수형 복수형 약어 모두 지정할 수 있다.) Name : 리소스 이름을 지정(대소문자 구분O, 이름을 생략하면 모든 리소스) (ex. Kubectl get pod example-pod1 example-pod2…) Flags : 선택적 .. 2020. 12. 21. Kubernetes Ingress 설명(개념) 클러스터 내의 서비스에 대한 '외부 접근을 관리하는 API 오브젝트'(일반적으로 HTTP를 관리함) 인그레스는 부하 분산, SSL종료, 명칭 기반의 가상 호스팅을 제공할 수 있다. 인그레스란? 클러스터 외부에서 클러스터 내부서비스로 HTTP, HTTPS경로를 노출한다. 트래픽은 인그레스 리소스에 정의된 규칙에 의해서 컨트롤 된다. 임의의 포트 또는 프로토콜을 노출시키지 않는다. 인그레스가 제공할 수 있는 구성 외부에서 서비스 접속이 가능한 URL 트래픽 로드 밸런스 SSL/TLS 종료 이름-기반의 가상 호스팅 ※ 전제조건 인그레스 컨트롤러가 있어야한다. (ex. Ingress-nginx) lifeplan-b.tistory.com/16 Kubernetes Ingress Controller 설명 및 사용법 .. 2020. 12. 17. 이전 1 ··· 4 5 6 7 8 다음 반응형