K8S

    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..

    [kubernetes] ubuntu에 kubeadm으로 K8s 설치하기 (cgroup, coredns 해결)

    [kubernetes] ubuntu에 kubeadm으로 K8s 설치하기 (cgroup, coredns 해결)

    1. Docker 설치 [Docker] Ubuntu 도커 설치 Ubuntu와 Docker 이 글에서는 Ubuntu 도커 설치와 관련된 내용을 다룬다. Docker는 리눅스를 기반으로 하기 때문에 리눅스 운영체제 위에서 돌아가야한다. Ubuntu는 Linux계열 운영체제로 바로 설치가 가능 myjamong.tistory.com 위 블로그 따라서 Docker를 먼저 설치한다. 설치가 끝났다면 docker ps 명령어를 입력해 보자. 위와 같은 에러가 날 수 있다. 해당 문제는 사용자가 /var/run/docker.sock 에 접근하려고 했지만 권한이 없어 발생하는 문제로, 사용자가 root:docker 권한을 가지고 있어야 한다. root 권한을 가지고 실행하는 것은 권장되지 않으므로, 사용자를 docker..

    [Kubernetes] No Ingressclass resource with name nginx found 문제 해결하기 (Helm stable repo)

    [Kubernetes] No Ingressclass resource with name nginx found 문제 해결하기 (Helm stable repo)

    Stable 및 Incubator 차트를 위한 새로운 공간 헬름 - 쿠버네티스 패키지 매니저 helm.sh 결론 helm repo remove stable helm repo add bitnami https://charts.bitnami.com/bitnami stable은 더 이상 업데이트를 하지 않는다. bitnami repo를 쓰던가 따로 찾아서 쓰기로 생각했다. 서론 helm을 사용하려면 로컬에 helm repo 를 등록해야 한다. 그래서 주로 사용하는 repo면서, 책에서도 소개한 repo 면서, Helm 공식 사이트에서도 소개하는 repo인 stable을 설치하기 위해서는 다음 명령어를 입력하면 된다. helm repo add stable https://charts.helm.sh/stable --..

    [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] 쿠버네티스 구성요소

    [K8S] 쿠버네티스 구성요소

    쿠버네티스의 구성 요소의 유기적인 연결 관계를 표현하면 다음과 같다. 하나의 쿠버네티스 생태계를 쿠버네티스 클러스터라고 한다. 파드를 배포하는 순서에 따라서 요소들의 역할을 알아보자 마스터 노드 : 클러스터의 '두뇌' 역할을 담당한다. kubectl 쿠버네티스 클러스터에 명령을 내리는 커맨드라인 도구이다. docker를 사용하기 위해서 모든 명령어가 docker ... 로 시작하는데, 쿠버네티스도 마찬가지로 클러스터에 명령을 내리기 위해서는 kubectl .. 이 명령의 시작이 된다. 일반적으로 개발자는 API 서버와 주로 통신하므로 API가 서버가 위치한 마스터 노드에 구성된다. 자주 쳐야하는 명령어지만 타이핑이 까다로워서 alias kbc='kubectl'로 설정하면 편하다. API 서버 쿠버네티스 ..