[4]쿠버네티스 : 배포 데모 on AWS
·
System Engineering/Kubernetes
kubectl get node kubectl get namespace kubectl get po -n monitoring #여기서 po는 pod의 약자. 글구 사실상 Pod이 Container라구 할 수 있어. 지금 각 서버에 접속해서 본게 아니라, PC의 쿠버네티스 서버로 kubectl이라는 명령어를 통해서 정보를 확인하고 있는거임. 총 서버는 2대가 있는거고 각 서버에 Containers가 잘 분산되어 있을거라고 생각하는거야. helm install ghost bitnami/ghost \ --values values.yml 이거 하면 node.js 서버랑 mariadb까지 한방에 설치가 돼. (ghost가 뭐냐하면, 블로그 Pod이래) kubectl get po #쿠버네티스 컨트롤 get pod 2개..
[3]쿠버네티스 : API 호출
·
System Engineering/Kubernetes
https://www.youtube.com/watch?v=IOem05grFkU 지금까지 쿠버네티스의 아키텍쳐와 오브젝트를 봤으니까, 실제 API를 어떻게 호출하는지 알아보자! Key-Value로 이루어진 YAML라는 포맷을 사용한다. 만약에 Pod을 띄우고 싶다면? 이렇게 명세를 작성하면 API Server가 이걸 보고 etcd에 저장하고, 각 Controller가 동작을 하게 된당 ReplicaSet을 만들고 싶다면? 아까 Pod이랑 비슷하게 조금 더 정보가 추가가 됐네. Custom Resource는? 이건 ArgoCD란건데, Spec을 보면 결국 형식은 동일하다는걸 알 수 있당 대강 위와 같음. API 호출하기 : 원하는 상태(Desired State)를 다양한 오브젝트(Object)로 정의(Spe..
[2] 쿠버네티스: 오브젝트, Pod, Replicas, NodePort, ClusterIP, LB, Ingress
·
System Engineering/Kubernetes
https://www.youtube.com/watch?v=-gIyfII5eak 쿠버네티스가 내부적으로 어떻게 작동하는지는 대충 알았어. 그럼 뭘 체크하는지 알면 쿠버네티스를 이해한다고 볼 수 있음. 쿠버네티스는 컨테이너를 직접 관리하지 않고 Pod이라는 것으로 감싸서 관리한다 Pod : 가장 작은 배포 단위 즉, 컨테이너를 배포하는 것이 아니라 Pod을 배포하는거야 Pod의 특징은 각 Pod마다 고유한 Ip를 부여받는다. 그래서 이 IP를 통해서 내부적으로 통신할 수도 있당 그리구 또 하나의 중요한 특징. 보통 하나의 Pod에 하나의 컨테이너만 존재하지만, 두 개의 컨테이너가 하나의 Pod에 속할 수도 있다. (여러 개의 컨테이너두 가능) 예컨대, Container와 로그를 수집하는 컨테이너 이렇게 두 ..
[1] 쿠버네티스: 아키텍쳐에 관하여
·
System Engineering/Kubernetes
https://www.youtube.com/watch?v=SNA1sSNlmy0 Desired State 상태를 체크하고, 차이점을 발견하고, 조치를 취한다. 그리고 이걸 루프를 돌린다. Scheduler 1번 서버는 컨테이너 1개가 띄워져 있고, 2번 서버는 비어있어. 그러니까 컨테이너 요청이 오면 2번 서버에 새로운 컨테이너를 넣자. 라고 계속 컨테이너 상태를 체크하는 사람이 Scheduler야. Controller 컨테이너 하나가 떠있었는지 안떠있었는지, 네트워크, 노드 체크하는 것들을 다 Controller라구 함 그래서 Desired State가 굉장히 많아질 수가 있다. Replication Controller : 복제가 잘 됐는지만 확인하는 컨트롤러 Endpoint Controller : 로드..
[0] 쿠버네티스: 역할 및 생겨난 이유, 사용 목적
·
System Engineering/Kubernetes
https://www.youtube.com/watch?v=Ia8IfowgU7s 서버를 관리하다보니 도구의 필요성이 대두되었어 -> 이걸 써보니까 서로 다른 애플리케이션 버전이 충돌이 나고 그러는거야 아 이거 좀 불편한데... 그래서 나온게 가상 머신이야 (VM) 좀 느리고 관리도 불편하지만, 좋아! 근데 특정 벤더에 종속되고 현재 클라우드 환경에 좀 맞지 않다. 그래서 나온게 Docker야 컨테이너의 특징 * VM과 비교해서 컨테이너 생성이 쉽고 효율적 * 배포와 롤백이 간단 * 언어나 프레임워크와 상관없이 애플리케이션을 동일한 방식으로 관리 * 개발, 테스팅, 운영 환경은 물론 로컬 피시와 클라우드까지 동일한 환경을 구축 * 특정 클라우드 벤더에 종속적이지 않음. 오픈 소스거든. 모든 애플리케이션에 컨..