도커,쿠버네티스를활용한컨테이너개발실전입문4

김지용·2022년 9월 8일
0

독서

목록 보기
11/11
post-thumbnail

Chapter5 쿠버네티스 입문 182p

쿠버네티스란?(https://kubernetes.io/)
쿠버네티스는 컨테이너 운영을 자동화하기 위한 컨테이너 오케스트레이션 도구로 구글의 주도로 개발됐다. 많은 수의 컨테이너를 협조적으로 연동시키기 위한 통합 시스템이며 이 컨테이너를 다루기 위한 API 및 명령행 도구 등이 함께 제공된다.
컨테이너를 이용한 배포 외에도 다양한 운영관리 업무를 자동화할 수 있다.
도커 호스트 관리, 서버 리소스의 여유를 고려한 컨테이너 배치, 스케일링, 여러 개의 컨테이너 그룹에 대한 로드 밸런싱, 헬스체크 등의 기능
쿠버네티스의 가장 큰 특징은 다양한 부품(리소스)을 조합해 유연한 애플리케이션을 구축할 수 있다는 점이다.

구글클라우드 플랫폼(GCP) 에는 GKE(Google Kubernetes Engine)라는 컨테이너 매니지드 서비스가 있다.
이외에도 애저에는 AKS, AWS에는 아마존 EKS가 있다.

도커와 쿠버네티스의 역할
도커는 컨테이너를 관리하는 데몬인 dockerd와 명령행 도구로 구성도니다.
스웜은 여러 대의 호스트를 묶어 기초적인 컨테이너 오케스트레이션 기능을 제공하는 도커 관련 기술이다.
쿠버네티스는 스웜보다 충실한 기능을 갖춘 컨테이너 오케스트레이션 시스템이자 도커를 비롯해 여러가지 컨테이너 런타임을 다룰 수 있다.

쿠버네티스는 컴포즈/스택/스웜의 기능을 통합해 더 높은 수준의 관리 기능을 제공하는 도구라고 보면 된다.

로컬 PC에서 쿠버네티스 실행

  • 윈도우용 도커 환경 구축
  • 쿠버네티스를 다루는 명령행 도구인 kubectl을 실제로 사용
  • 로컬환경에서 쿠버네티스 환경 구축을 위해 도커에서 제공하는 쿠버네티스 통합 기능 이용

-> 이미 깔린 도커 환결설정에서 쿠버네티스 enable 체크박스 해주고, install

kubectl 설치
https://storage.googleapis.com/kubernetes-release/v1.10.4/bin/windows/amd64/kubectl.exe


쿠버네티스에 배포된 컨테이너 정보를 보여주는 대시보드 설치

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.8.3/src/deploy/recommended/kubernetes-dashboard.yaml

kubectl apply -f kubernetes-dashboard.yaml

kubectl convert -f ./kubernetes-dashboard.yaml --output-version apps/v1beta2
잘 설치 됐는지 확인

kubectl get pod --namespace=kubesystem -l k8s-app=kubernetes-dashboard

(~190p) 쿠버네티스 대시보드 설치부터 잘 안 됨


책내용은 에러사항이 있는데 구버전인 거 같아서
구글링 해서 대시보드 설치함
설치

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml

설치확인

kubectl get services -n kubernetes-dashboard

실행(새로운 터미널에서)

kubectl proxy

내 대시보드 확인가능

http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

대시보드 수정

kubectl edit services kubernetes-dashboard -n kubernetes-dashboard

여기서 spec.type이 ClusterIP로 되어있는데 이것을 NodePort로 변경

  • 접속을 해보자 {hostip}:30212

  • hostip 확인은 kubectl get nodes -o wide 로 node의 ip를 확인하면 된다.

대시보드 서비서 접속하기

  • 모든것이 정상적으로 설정이 되었다면 login 화면으로 접속이 된다.

  • apiserver에 접근하여 클러스터 환경의 자원들을 가져와 대시보드를 꾸미려면 권한이 필요하다.
    Role-based access control (RBAC)를 기반으로 apiserver에 인증, 권한을 관리하는데 쿠버네티스 대시보드에 로그인하고 올바른 인증을 거쳐야만 정상적으로 대시보드를 사용할 수 있다.

  • 모든 ServiceAccount는 apiserver에 접근하기위하여 secret을 가지고 있고 이 안에는 Bearer Token값이 있다.

kubectl describe serviceaccount kubernetes-dashboard -n kubernetes-dashboard

http 프로토콜을 사용하여 인증하는 여러가지 방법 중 쿠버네티스 대시보드에 접속하기위해서 Bearer Token을 사용해 보자.

kubectl describe secret [토큰값 입력] -n kubernetes-dashboard

토큰 받기
https://kubernetes.io/docs/reference/access-authn-authz/authentication/ 참조

쿠버네티스 리소스 정리(192p)

쿠버네티스 아키텍처

쿠버네티스 큰 아키텍처

가상화를 거쳐 컨테이너 배포시대

profile
김죵입니당 ^^

0개의 댓글