본문 바로가기

분류 전체보기

(148)
Istioctl로 Istio 구성하기 - 3. Kiali 소개 Kiali는 Istio를 통해 서비스매쉬를 구성하시고 이를 모니터링할 수 있는 툴입니다. 아래와 같이 실제 데모로 구축한 fo / bo 어플리케이션의 request per second 값이나 보안통신이 되고있는지 등 여러 내역들에 대해서 서비스매쉬가 그래프로 그려지면서 한눈에 쉽게 확인 할 수 있습니다. 조금 더 살펴보면 해당 응답들에 대한 비율도 살펴볼 수 있습니다. 위의 그림에서 우측 부분을 좀더 확대해 본 형태입니다. 만약 실시간으로 트래픽에서 다른 400, 500 Error가 발생한다면, 그래프의 색깔이 변경되면서 한눈에 들어오게 됩니다. 또한 Application단을 클릭하여 해당 파드의 로그도 바로 체크를 할 수 있습니다. External-DNS의 파드 로그를 아래와 같이 대시보드에서 실시간으..
Istioctl로 Istio 구성하기 - 2. Values.yaml istio.io/pt-br/docs/reference/config/istio.operator.v1alpha12.pb/ 공식다큐도 충분히 잘 나와있지만 간단한 샘플이 없어서 글을 작성하게 되었습니다. 위의 공식 다큐를 참고하면, values.yaml을 만들어서 아래 명령어로 istio 구성에 대해 수정 및 구축을 할 수 있습니다. istioctl install -f ./istioctl_values.yaml istioctl upgrade -f ./istioctl_values.yaml 잘 읽어보시면, helm으로 설치하며 지원하던 values의 형태도 지원하기 때문에 해당 내역을 같이 섞어서 아래와 같이 사용하였습니다. apiVersion: install.istio.io/v1alpha1 kind: IstioO..
Istioctl로 Istio 구성하기 - 1. Intro discuss.istio.io/t/istios-helm-support-in-2020/5535 Istio's Helm Support in 2020 I would like to take some time to clarify Istio’s plans for Helm support in 1.5, 1.6, and beyond. By way of background, Istio 1.3 introduced the Istio Operator as an experimental feature which allows administrators greater ease of use and flexibility whe discuss.istio.io 위의 내용에서와 같이 istio 1.6이상의 버전에서는 helm 차트를 지원하지 ..
Kubernetes - ConfigMap & Secret / Spring Boot 연동 우리나라는 그래도 자바공화국이니 Spring Boot를 기준으로 ConfigMap, Secret을 활용하는 법을 알아보겠습니다. Kubernetes의 ConfigMap과 Secret은 컨테이너 환경 변수를 통해 어플리케이션에 Key Value 형태로 데이터를 매핑하여 사용할 수 있습니다. 가장 쉬운 예로 Database URL / User / Password 같은 값들을 변경하거나 직접 코드에 입력하는 것이 보안상의 이유로 불가능 하거나, 이러한 설정값을 변경을 한 후 배포하게 되어 수 많은 CICD Pipeline을 타야 할 경우 상당히 번거로울 수 있습니다. 따라서 코드에 작성할 부분들과, 쿠버네티스에서 관리할 수 있는 부분들을 나눠 운영하게 되면 서비스 운영에 효율성을 높일 수 있습니다. 먼저 Co..
Amazon Linux2 GUI 세팅 https://aws.amazon.com/ko/premiumsupport/knowledge-center/ec2-linux-2-install-gui/ Amazon Linux 2를 실행하는 Amazon EC2 인스턴스에 그래픽 사용자 인터페이스(GUI) 설치 Windows PuTTY와의 연결을 열기 전에 포트 전달을 구성합니다. [Connection] 메뉴에서 [SSH]를 선택한 다음 [Tunnels]를 선택합니다. [Source Port] 필드에 5901을 입력합니다. [Destination] 필드에 lo aws.amazon.com 위의 공식 게시글을 참조하여 구성하였으며, 필요한 다른 내역을 조금 추가했습니다. 먼저 GUI 세팅 및 tigervnc를 설치해줍니다. sudo amazon-linux-extr..
EKS Cluster 구축 - 8. EKS IAM User - RBAC 권한 부여 EKS Cluster를 구축하면, 구축한 IAM에 대해서는 마스터 권한이 있습니다. 또한 아래와 같이 수정하여 다른 IAM 유저에게도 그 권한을 부여할 수 있습니다. kubectl edit configmap aws-auth -n kube-system apiVersion: v1 data: mapRoles: | - groups: - system:bootstrappers - system:nodes rolearn: arn:aws:iam::{account_id}:role/{workernode-role} username: system:node:{{EC2PrivateDNSName}} mapUsers: | - userarn: arn:aws:iam::{account_id}:user/{user_name1} username..
EKS Cluster 구축 - 7. Pod에 IAM Role 부여하기 기존에 Pod에 IAM Role을 부여하기 위해서는 Kube2IAM or KIAM을 사용하였습니다. KIAM은 하나의 노드에서 어슘롤을 가지고 모든 SDK의 응답을 대신해서 처리해주는 방식, Kube2IAM은 모든 노드가 어슘롤을 가지고 각 파드들의 응답을 처리하는 방식입니다. 하지만 이제 EKS 1.14이상부터는 IAM OIDC를 통해 Service Account와 연동되게 구성할 수 있습니다. 이렇게 되면, 각 노드에 어슘롤이 부여 될 필요가 없으며 정말 해당 파드가 EC2에 롤을 부여하듯 롤을 가지게 됩니다. 제가 이해한 바로는 아래와 같습니다. 틀릴 수도 있으니 참고용으로만 보시기 바랍니다. 제가 이해한 바로는 쿠버네티스 API는 아래와 같은 절차를 거쳐 처리되게 됩니다. API 서버로 들어오는 ..
Grafana - EKS Custom DashBoard 구성하기 그라파나 대시보드를 만들기 위해서는 PromSQL을 사용해야하는데, 이보다 중요한게 바로 지표가 무엇인지 정확히 아는 것 입니다. 아래를 통해서 간단하게 pod에 대한 지표를 체크할 수 있습니다. https://github.com/kubernetes/kube-state-metrics/blob/master/docs/pod-metrics.md kubernetes/kube-state-metrics Add-on agent to generate and expose cluster-level metrics. - kubernetes/kube-state-metrics github.com 하지만 가장 정확한 방법은 역시 프로메테우스를 띄우고 직접 지표를 확인해 보는 것 입니다. 여기서 원하는 지표들을 직접 찾아서 쿼리하여..