개발 관련 일지/k8s 10

그림으로 배우는 쿠버네티스 CH4 애플리케이션 노출

배포한 애플리케이션을 노출하는 방법 다음과 같은 방법이 있다. 간단한 방법 port-forward HostPort hostNetwork NodePort LoadBalancer ExternalName ClusterIP, Headless Endpoints Ingress 간단한 방법(port-forward, HostPort, hostNetwork) 포트 포워딩 호스트 PC에서 가상 머신으로 접속 시 포트 포워딩 사용 port-forward 옵션 k port-forward fwd-chk-hn 80:80: 마스터 노드의 80번 포트를 fwd-chk-hn 노드의 80번 포트로 포워딩 노드가 재시작 될 경우 포트 포워딩이 사라짐. 내부에서 포트를 포워딩할 때만 쓰지 영속적으로 쓸수는 없음 실습 마스터 노드 → 워커 ..

그림으로 배우는 쿠버네티스 CH3 애플리케이션 배포법

배포 형태는 오브젝트이다. 오브젝트는 파드, service, namespace, volumes 가 있는데, 그중 Pod와 파드와 관련된 오브젝트들을 알아본다. 애플리케이션으로 배포되는 오브젝트 형태 파드 (Pod) 디플로이먼트 (Deployment) 레플리카셋 (ReplicaSet) 잡(Job): 파드로 계속 떠있으면 부담이 되는 작업을 처리하기 위한 오브젝트 크론잡 (CronJob) : 잡을 주기적으로 실행할 수 있도록 하는 오브젝트 데몬셋 (DaemonSet) : 노드마다 1개씩만 올라가는 파드 (칼리코) 스테이트풀셋 (StatefulSet) : 순서를 지키면서 배포가 되고 상태를 가지고 있는 파드 기존의 Pod는 stateless이다. 파드(Pod) pod.yaml apiVersion: v1 #적합..

그림으로 배우는 쿠버네티스 CH2 쿠버네티스를 배우기 위한 사전 준비 작업

실습 버전 업그레이드 실습 버전을 1.2로 업시킨다. https://user-images.githubusercontent.com/52024566/156181043-6cdcf0af-7aaa-442d-b7a8-42c476fd442f.png 혼동되는 용어 정리 파드 컨테이너 애플리케이션 가 혼동되어 쓰인다. 파드나 컨테이너는 구조적인 단위, 구조, 형태에 대한 단위라고 한다면, 애플리케이션은 기능의 단위라고 할 수 있다. 즉 애플리케이션은 단일 컨테이너의 단위가 될 수도 있고, 복수의 컨테이너가 될 수도 있다. 또한 파드와 1 대1 맵핑될 수도 있고, 파드가 여러 개 모여서 동작하는 애플리케이션도 동작할 수 있다. 파드(Pod) : 쿠버네티스에서 생성하고 관리할 수 있는 배포 가능한 최소 컴퓨팅 단위 컨테이너..

쉽게 시작하는 쿠버네티스 CH7 강의 마무리

CH7 강의 끝! 쿠버네티스 공부 방향성 document를 본다. 쿠버네티스의 dns 정보 조회한다. (Domain Name System 정보 조회) kubenetes dns query 검색 결론은 뭐 랩과 공식문서를 보라.. 후속강의 “그림으로 배우는 쿠버네티스” 이당 쿠버네티스에 대한 이해 쿠버네티스 오브젝트들을 코드로 이해하기 쿠버네티스의 요소 별 구성 및 관리법

쉽게 시작하는 쿠버네티스 CH6 쿠버네티스 Tips

kubectl 쉽게 쓰는 법 배시 자동 완성 : k만 입력하면 kubectl을 쉽게 설정할 수 있다. k .. 배쉬 셸에 별명 지어 주기 alias k=kubectl alias ka = ‘ kubectl apply -f ‘ Alias keq = ‘ kubectl exec …’ 와 같이 지어줄 수 있다. 쿠버네티스 업그레이드 버전 업그레이드 계획을 수립한다 → kudeadm 업그레이드 → kubelet 업그레이드 → 업그레이드 완료를 확인한다. 그냥 대충 보고 나중에 다시 찾아봐야 겠다. kubectl get nodes kubeadm upgrade plan yum upgrade kuberadm-1.25.1 -y // kubeadm 업그레이드 kubeadm version kubeadm upgrade appl..

쉽게 시작하는 쿠버네티스 CH5 쿠버네티스 오브젝트

api, etcd, c-m, shed, k-proxy 등이 있다. 오브젝트는 추구하는 상태를 기술해 둔 것이다. 오브젝트가 원하는 상태 : 추구하는 상태가 현재 상태랑 맞아 들어가는 것을 말한다. 추구하는 상태(spec)과 status를 확인 kubectl get pods kubectl edit deployment del-deploy // 상태 편집 // replicas = 9에서 3 으로 변경한다. // 파드가 3으로 줄어든다. 추구하는 상태 -> 현재 상태랑 맞아 들어간다. kubectl get pods // 3개 쿠버네티스의 기본 오브젝트 파드, 서비스, 네임스페이스, 볼륨 등이 있다. 파드 위의 화면에 있는 오브젝트들 기본 단위로 파드로 만들어짐. 서비스 이전 강의에서 노드 포트, 로드밸런서로 만..

쉽게 시작하는 쿠버네티스 CH4 문제를 통해 배우는 쿠버네티스

쿠버네티스 파드에 문제가 생겼다면 (GKE에서 실습 됨) 파드를 실수로 지웠다면? 파드만 배포된 경우, 문제가 생긴다. 파드는 단일 객체이다. 디플로이먼트 형태로 배포된 파드는 괜찮다. 파드가 지워지게 되면 파드를 다시 만든다. 쿠버네티스가 파드를 대하는 자세 죽을 수도있지.. 라고 생각함. 그리고, 파드 옮길 때 실제로 옮기는게 아니라, 파드를 삭제하고 만든다. kubectl apply -f ~/_Lecture_k8s_starter.kit/ch4/4.1 // 두개의 yaml에 대한 deployment 만든다. kubectl get pods kubectl delete pod del-pod //파드를 지운다. kubectl get pods // 파드가 지워진다. kubectl delete pod del-d..

쉽게 시작하는 쿠버네티스 CH3 쿠버네티스 인사이드

쿠버네티스 이루는 것들 구역을 나누는 네임 스페이스 (Namespace) default, kube-system, metal-system : 호실로 생각하면 된다. 서로의 구역이 나뉘어 져있다. kubectl get pods -n kube-system 네이티브 쿠버네티스 구성 요소 확인 eks에서도 쿠버네티스 구성 노드가 있는 것을 확인할 수 있다. 이는 aks나 gke도 마찬가지이다. 3사에서 차이 많이 있다. 그런 구성 요소들을 보여주지 않는다. 숨겨져 있는 마스터 노드가 관리하고 있다. 쿠버네티스 기본 철학 MSA로 구성되어 있다. 하는 일들이 개별적으로 나뉘어져 있다. API 서버는 움직이지 않는다. 모든 것을 감시만 한다. 모든 상태 값의 중심에 있다. Controller Manager가 파드를 ..

쉽게 시작하는 쿠버네티스 CH2 배포를 통한 쿠버네티스 체험

애플리케이션 배포 (NGINX) 마스터 노드 실제로 마스터 노드에 kubectl 명령어 설치함. 워커 노드에 애플리케이션을 배포 애플리케이션의 단위는 파드이다. 이는 컨테이너의 집합을 말한다. 파드 배포를 실습한다. kubectl run nginx --image=nginx kubectl get pod // 이미지 생성된 것을 확인 kubectl get pod -o wide // ip 확인 curl 172.16.132.1 쿠버네티스 클러스터 외부에서 배포한 파드 접속하기 외부에서 접속하려면 어떻게 해야하지? 호스트 환경에서 172대의 ip로 접속해? ping과 curl 명령어로 확인해 보면, 접속이 불가능한 것을 알 수 있다. 즉, 쿠버네티스 클러스터가 다음과 같은 문에 둘러싸여 있다. 문 통과해야지 외부..

쉽게 시작하는 쿠버네티스 CH1 쿠버네티스 환경 구성

도커 보통 가상화 환경이랑 비교한다. 가상화 환경 : 운영체제를 가상 머신에다가 설치하는 것. 컨테이너 환경 : 하이퍼 바이저를 제외 하고, 운영체제 위에다가 컨테이너들을 올림. 쿠버 네티스 구글의 보그 시스템을 CNCD 재단에다가 기부했다. 쿠버 네티스가 CNCF 에서 관리 되고 있다. 벤더의 종속성이 없다. → 의존성이 생긴다. (Vender-Neutral) 오픈 소스 프로젝트 → 리눅스가 대표적인 시스템. 동일한 형태를 띠는 게 쿠버네티스이다. 배포 종류 관리형 쿠버네티스. : 많은 부분 관리할 필요가 없다. 설치형 쿠버네티스: 랜처나 오픈 쉬프트 → 이미 패키지화 되어있다. (배포용) 구성형 쿠버네티스 : 베어메탈 등 여러 가지 요구사항에 맞지 않고, 자유롭게 요구사항 하고 싶거나 교육용 정도. ..