쿠버네티스

    Kubeadm 으로 K8s 설치하기 with 자동화 스크립트

    Kubeadm 으로 K8s 설치하기 with 자동화 스크립트

    새로운 클러스터를 생성할 때마다 쿠버네티스를 처음부터 구축하는건 상당히 귀찮다. 중간에 설정이 꼬여서 서버를 날리고 새로 구축하는 경우가 종종 있는데 .. 그럴 때마다 공식문서나 블로그를 참고해 처음부터 설치하려니 시간이 정말 아까웠다. 그래서 그냥 스크립트로 만들어서 반 자동화 설치 루틴을 만들었다. 테스트 완료 Linux 서버 Ubuntu 18.04 LTS Ubuntu 20.04 LTS 직접 만든 스크립트 입니다. 피드백은 감사히 받고 적극 반영 하겠습니다! GitHub - hyun98/kubernetes-install-helper: This project can speed up Kubernetes installation time Maybe.. This project can speed up Kuber..

    [Issue] 쿠버네티스, 랜섬웨어에 취약?

    오늘(22/04/11), 멀티 클라우드 데이터 관리 기업 베리타스에서 쿠버네티스 환경이 랜섬웨어에 취약하다는 분석을 발표했다. 여러 기사를 요약하고, 정보를 추가해서 이해하기 쉽도록 정리해 보았다. 조사는 전문조사업체 '오피니움 리서치'에서 진행했다고 한다. 한국을 포함한 전 세계 1천110명의 IT 관련 의사 결정권자를 대상으로 진행했다. 설문 참가 기업의 89%는 향후 2~3년 안에 쿠버네티스를 도입할 것이며, 3분의1은 이미 이 시스템을 도입했다고 한다. 하지만 현재 쿠버네티스를 도입한 조직의 33%만이 랜섬웨어와 같은 데이터 손실 위협에 대한 보호 체계를 갖췄다고 한다. 쿠버네티스가 랜섬웨어에 취약하다? 쿠버네티스 클러스터는 많은 노드들로 이루어져 있고, 소수의 마스터 노드들이 워커 노드를 통제하..

    [kubernetes] #3 쿠버네티스 아키텍처

    [kubernetes] #3 쿠버네티스 아키텍처

    서론 쿠버네티스 클러스터에는 마스터 노드와 워커 노드가 있다. 이들이 어떻게 다른지 알아보자. 쿠버네티스 클러스터 환경에서 노드들이 어떻게 스스로 복구(self-healing)하고 관리(self-managed)되는지 알아보자. 1. 워커 프로세스(Worker processes) 쿠버네티스 클러스터에는 실질적인 일을 하는 워커 노드가 있다. 워커 노드는 쿠버네티스의 기본 구성요소인 파드 여러 개를 가질 수 있다. 위 그림의 Node1은 컨테이너로 이루어진 2개의 파드를 가지고 있다. 쿠버네티스는 하나의 노드에 3개의 프로세스를 필요로 한다. 프로세스는 모든 노드에 반드시 설치되어야 하며 그들을 스케줄링, 관리 하는데 반드시 필요하다. 첫 번째 프로세스는 노드의 컨테이너 런타임을 위해 수행되는 프로그램이다...

    [Kubernetes] #2 핵심 쿠버네티스 컴포넌트

    [Kubernetes] #2 핵심 쿠버네티스 컴포넌트

    1. Node와 Pod 여기 Worker Node라고 불리는 Node1이 하나 있다. 이 node는 하나의 물리 머신 또는 가상 머신일 수 있다. 그리고 이 노드 안에 'Pod'라고 하는 가장 기본적이고 심플한 쿠버네티스의 구성요소가 있다. 파드는 컨테이너의 추상화를 도와준다. 이를 abstraction over container라고 한다. 우리는 컨테이너라고 하면 기본적으로 Docker를 떠올릴 수 있지만, 노드들은 그렇지 못하다. 실제로 컨테이너 도구는 Docker이외에 다른 다양한 도구들이 있고, 쿠버네티스는 그들 중 어떤 컨테이너 도구를 사용해도 적응할 수가 있다. 적응을 도와주는 것이 바로 컨테이너의 추상화를 도와준다고 하는 파드 덕분이다. 파드에는 일반적으로 하나의 애플리케이션 컨테이너가 들어..

    [K8S] 쿠버네티스 파드의 생명주기

    쿠버네티스의 장점은 쿠버네티스의 구성요소들이 하는 일이 명확하게 구분되어있어서 각자의 역할만 충실하게 한다면 클러스터 시스템이 안정적으로 운영된다는 점이다. 각자의 역할이 명확히 나눠진 점은 마이크로서비스 아키텍쳐(MSA) 구조와도 밀접하다. 또한 역할이 나뉘어있기 때문에 문제가 발생했을 때 디버깅하기도 쉽다. 파드의 생명주기란? 파드가 생성, 수정, 삭제되는 과정을 의미한다. 알아보자 개발자가 kubectl 커맨드라인을 통해서 API 서버에 파드 생성을 요청한다. (create) API 서버는 etcd안에 전달된 내용을 모두 기록해 클러스터의 상태 값을 항상 최신으로 유지한다. 따라서 각 요소(etcd, API서버, 컨트롤러 매니저, 스케줄러)가 상태를 업데이트할 때마다 API 서버를 통해서 etcd에..