반응형 쿠버네티스 기타14 쿠버네티스 컴포넌트 개요 Kubernetes 구성 요소 Kubernetes를 배포하면 클러스터가 생성됩니다. Kubernetes 클러스터는 다음과 같은 작업자 머신 세트로 구성됩니다. 노드, 컨테이너화 된 애플리케이션을 실행합니다. 모든 클러스터에는 하나 이상의 작업자 노드가 있습니다. 작업자 노드는 포드이것이 애플리케이션 워크로드의 구성 요소입니다. 그만큼 컨트롤 플레인클러스터의 작업자 노드와 포드를 관리합니다. 프로덕션 환경에서 제어 플레인은 일반적으로 여러 컴퓨터에서 실행되고 클러스터는 일반적으로 여러 노드를 실행하여 내결함성 및 고 가용성을 제공합니다. 이 문서는 완전하고 작동하는 Kubernetes 클러스터를 갖추는 데 필요한 다양한 구성 요소에 대해 설명합니다. 다음은 모든 구성 요소가 함께 연결된 Kubernetes.. 2021. 5. 24. 쿠버네티스 명령어 ## kubectl get pods --all-namespaces - 마스터를 포함한 모든 노드에서 동작하는 파드의 목록을 출력 2021. 5. 12. 쿠버네티스 아키텍처 실행중인 Kubernetes 클러스터에는 kubelet분산 스토리지 솔루션 위에 노드 에이전트 ( ) 및 마스터 구성 요소 (API, 스케줄러 등)가 포함됩니다. 이 다이어그램은 원하는 최종 상태를 보여 주지만 kubelet컨테이너 내에서 자체 (모든 구성 요소가 실제로) 실행되도록하고 스케줄러를 100 % 플러그 가능하게 만드는 것과 같은 몇 가지 작업을 계속하고 있습니다. Kubernetes 노드 시스템의 아키텍처를 살펴보면 작업자 노드에서 실행되는 서비스와 클러스터 수준 제어 플레인을 구성하는 서비스로 분류됩니다. Kubernetes 노드에는 애플리케이션 컨테이너를 실행하고 마스터 시스템에서 관리하는 데 필요한 서비스가 있습니다. 물론 각 노드는 Docker를 실행합니다. Docker는 이미지 다운.. 2021. 5. 12. 어플리케이션 중심의 오케스트레이션 쿠버네티스는 어플리케이션 중심의 운영이라는 흐름을 더욱 가속화. YAML 파일을 기술하여 쿠버네티스에 제출하면 로드밸런서, 저장소, 네트워크, 런타임 등의 환경이 구성. 쿠버네티스의 컨테이너 기술을 어플리케이션이 정해진 서버에서 돌지 않아도 된다는 자유를 제공. SRE 란? - Site Reliability Enginner (사이트 신뢰성 엔지니어) 의 약어로, 운영 업무뿐만 아니라 운영의 신뢰성 향상, 자동화를 목적으로 하는 프로그램 개발을 담당하는 엔지니어. 2021. 5. 9. 쿠버네티스와 외부 서비스와 연동 어플리케이션 서버와 달리 데이터베이스에 대한 컨테이너화는 신중하게 접근할 필요. 컨테이너는 태생적으로 언제든지 재시작될 수 있는 일시적인 존재로 상태를 포함하지 않는 것을 전제. 이때 하이브리드한 시스템을 구축하는 것일 한가지 대안. 클라우드의 DBaaS 나 온프레미스에서 관리하는 데이터베이스와 연동. 이러한 연동을 위해 쿠버네티스는 외부 서비스를 내부 DNS에 등록하는 기능을 제공. 2021. 5. 9. 어플리케이션이 새롭게 출시될 때.... 어플리케이션이 새롭게 출시될 때는 소스 코드뿐 아니라, 데이터베이스의 스키마가 변경되는 경우. NoSQL 을 사용하고 있다면, 코드를 수정하는것으로 끝남. SQL 데이터베이스를 사용하는 경우, 별도로 스키마를 변경하고 코드에서 사용되는 SQL문을 바꿔줘야함. SQL 데이터베이스를 사용하는 경우에는 쿠버네티스를 사용해도 무정지 롤아웃이나 롤백이 쉽지 않다. 어플리케이션에 로그인 중인 유저의 세션을 유지하기 위해 컨테이너들이 공통으로 접근할 수 있는 외부 캐시를 사용해야 함. 무정지 롤아웃이라는 쿠버네티스의 장점을 살리기 위해서는 어플리케이션 설계 단계에서부터 충분히 고려해야 함. 2021. 5. 9. 오픈소스 시각화 툴 Grafana 최근에 서버자원 및 서비스 모니터링을 위한 Zabbix를 설치해서 사용하고있던 도중에 좀더 예쁘고 가시성이 뚜렷한 오픈소스 시각화 툴 Grafana를 찾게되었다. 시각화 툴에는 kibana도 있지만 kibana의 경우 ELK스택에 최적화이기때문에 Zabbix와 호환성이 좋은 Grafana를 적용해보겠다. Grafana란?? Grafana를 사용하면 저장된 위치에 상관없이 메트릭 을 쿼리, 시각화, 경고 및 이해할 수 있습니다. 팀과 대시 보드를 생성, 탐색 및 공유하고 데이터 중심의 시각화를 제공합니다. Grafana 프로젝트는 2014 년 Torkel Ödegaard에 의해 시작되었으며 지난 2 년 동안 GitHub에서 가장 인기있는 오픈 소스 프로젝트 중 하나가되었습니다. 저장된 위치에 상관없이 메트.. 2020. 11. 11. Ingress Controller kubernetes Installation on AWS EKS | Ingress kubernetes Service - 인그레스 컨트롤러 설정하기 github.com/stacksimplify/aws-eks-kubernetes-masterclass/tree/master/08-ELB-Application-LoadBalancers/08-01-ALB-Ingress-Install stacksimplify/aws-eks-kubernetes-masterclass AWS EKS Kubernetes - Masterclass | DevOps, Microservices - stacksimplify/aws-eks-kubernetes-masterclass github.com # Create ClusterRole, ClusterRoleBinding & ServiceAccount kubectl apply -f https://raw.githubusercontent.com/ku.. 2020. 11. 2. How ALB Ingress Controller works? | AWS ALB Ingress Controller | kubernetes Ingress controller - ALB 인그레스 아키텍처 github.com/stacksimplify/aws-eks-kubernetes-masterclass stacksimplify/aws-eks-kubernetes-masterclass AWS EKS Kubernetes - Masterclass | DevOps, Microservices - stacksimplify/aws-eks-kubernetes-masterclass github.com 2020. 11. 2. Fargate on EKS 구현 $ aws eks create-fargate-profile --cli-input-json file://demo-kube-system-profile.json --region ap-northeast-2 { "fargateProfileName": "demo-default", "clusterName": "eks-cluster", "podExecutionRoleArn": "arn:aws:iam::XXXXXXXXXXXX:role/eksctl-demo-cluster-FargatePodExe-OKY", "subnets":[ "subnet-07b6a641feec85XXX", "subnet-09c8f6e2d47194XXX" ], "selectors":[ { "namespace": "dafault" } ] } 2020. 10. 28. AWS Fargate on EKS 실전 사용하기 www.youtube.com/watch?v=N0uLK5syctU&list=WL&index=1&t=1013s ## Fargate on EKS - Fargate (ECS) : 완전 관리형 컨테이너 서비스 : 범용 목적의 서버리스 컨테이너 - EKS : 관리형 쿠버네티스 서비스 : EC2 노드그룹을 Worker로 사용 - EKS + Fargate : Fargate에 EKS의 APP 배포 가능 : 오케스트레이터 (쿠버네티스) ## 관리해야하는 EC2 인스턴스가 존재하지 않음 - 하지만 Fargate on EKS가 모든 것을 해결해 주지는 않음. ## 관리의 복잡도가 줄어듭니다. - Cluster Autoscaler 를 사용할 필요가 없습니다. - 비용 청구의 단위가 Pod의 실행 시간이 됩니다. - Pod를 사.. 2020. 10. 27. [헬름] Helm : The Kubernetes Package Manager ## helm은 kubernetes cluster에 어플리케이션을 배포하는 도구입니다. 그리고 TACO는 Openstack을 kubernetes위에 container 형태로 배포하기 위해서 openstack-helm 프로젝트를 사용하고 있는데 이 프로젝트가 Openstack의 배포를 위해서 사용하는 도구가 바로 helm입니다. Helm 이란? helm은 deis라는 회사에서 시작한 Helm Classic 프로젝트와 Google에서 진행되던 GCS Deployment Manager 프로젝트가 합해진 프로젝트입니다. Helm Classic은 kubernetes에 어플리케이션을 올리고 관리하는 도구이고 GCS Deployment Manager는 kubernetes의 어머니격인 Google Cloud에 어플리케.. 2020. 10. 15. Helm (헬름) 설치하기 helm.sh/ko/docs/intro/install/ 헬름 설치하기 헬름 설치하고 작동하는 방법 배우기. helm.sh $ curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 $ chmod 700 get_helm.sh $ ./get_helm.sh 2020. 10. 14. Helm 차트 란? | NGINX를 사용한 Helm Kubernetes 데모 www.youtube.com/watch?v=j-YBgTnV2v0&list=WL&index=6&t=316s helm install x stable/wordpress ## Helm 설치하기 $ curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 $ chmod 700 get_helm.sh $ ./get_helm.sh ## helm search repo wordpress ## helm search repo nginx ## helm search hub nginx ## helm repo add bitnami https://charts.bitnami.com/bitnami ## helm search .. 2020. 10. 14. 이전 1 다음 반응형