본문 바로가기

전체 글535

[AWS] EKS Autoscaling - 5주차 -HPA - Horizontal Pod Autoscaler 실습 실습에 사용할 예제 어플리케이션 소개 index.php 를 불러와 부하를 줄 수 있다. ex)while true;do curl -s $PODIP; sleep 0.5; done 코드 더보기 도커파일 FROM php:5-apache COPY index.php /var/www/html/index.php RUN chmod a+rx index.php index.php 파일 디플로이 예제 apiVersion: apps/v1 kind: Deployment metadata: name: php-apache spec: selector: matchLabels: run: php-apache template: metadata: labels: run: php-apache spec: containers: - name: php-ap.. 2023. 5. 23.
[AWS] EKS Autoscaling - 5주차 -실습환경 배포 배포방법은 이전 글에서 확인 가능합니다. 2023.05.02 - [클라우드/AWS] - [AWS] EKS 실습 ( 원클릭으로 생성하기 ) - 2 주차 웹콘솔 Cloud Formation 배포링크 https://s3.ap-northeast-2.amazonaws.com/cloudformation.cloudneta.net/K8S/eks-oneclick4.yaml AWS CLI 배포 curl -O https://s3.ap-northeast-2.amazonaws.com/cloudformation.cloudneta.net/K8S/eks-oneclick4.yaml # CloudFormation 스택 배포 예시) aws cloudformation deploy --template-file eks-oneclick4.yam.. 2023. 5. 23.
[AWS] EKS Autoscaling - 5주차 이번 주차를 통해 기존 알고 있던 오토스케일에 in/out ( 인스턴스 수의 증가/감소)를 알고 있었는데 K8S에서도 동일하게 있지만 스케일 업이 있다는 것을 알게 되었고 가용성 측면에서 퍼블릭클라우드를 사용하면 이점 이 있을 것이라는 것을 학습하게 되었다. 실습환경도 편리하게 구축되어 있어 이전 블로그를 보지 않더라도 따라할 수 있으니 5주차는 꼭 실습 해보셨으면 좋겠습니다. 이론적인 내용은 리소스 /부하가 있으면 증량해준다는거라 동장 방식을 이해하고 늘어나는지 확인해보자 우선 실습 환경 구축 2023.05.23 - [클라우드/AWS] - [AWS] EKS Autoscaling - 5주차 -실습환경 배포 Kubernetes autoscaling overview 3가지 유형이 있다. 1. Horizont.. 2023. 5. 23.
[AWS] EKS monitoring - 4주차 - 프로메테우스 & 그라파나 참고 블로그 https://malwareanalysis.tistory.com/566 https://hanhorang31.github.io/post/pkos2-4-monitoring/ [PKOS] Thanos를 통한 고가용성 모니터링(프로메테우스) 시스템 구축하기 | HanHoRang Tech Blog 고가용성 모니터링 시스템 구축(프로메테우스, 타노스) hanhorang31.github.io pkos 스터디 4주차 - 메트릭 오픈소스 프로메테우스 4주 차에서는 메트릭 오픈소스인 프로메테우스 오퍼레이터를 공부했습니다. 프로메테우스 오퍼레이터를 이용하여 메트릭 수집방법과 알림기능 실습했습니다. 이번 주차에는 github copilot도움을 malwareanalysis.tistory.com 프로메테우스는 k8.. 2023. 5. 18.
[AWS] EKS monitoring - 4주차 -Metrics-server & kwatch & botkube 메트릭서버는 kubelet으로 부터 수집된 리소스 메트릭을 수집 및 집계하는 클러스터 애드온 구성요소 참고 Installing the Kubernetes Metrics Server - Amazon EKS Installing the Kubernetes Metrics Server The Kubernetes Metrics Server is an aggregator of resource usage data in your cluster, and it is not deployed by default in Amazon EKS clusters. For more information, see Kubernetes Metrics Server on GitHub. The Met docs.aws.amazon.com * cAdvi.. 2023. 5. 18.
[AWS] EKS monitoring - 4주차 -Container Insights metrics in Amazon CloudWatch & Fluent Bit (Logs) CCI : CloudWatch Container Insight의 줄임말이며, 노드에 CW agent, Fluent bit를 daemonset으로 배치하여 로그를 수집한다. k8s에 메트릭 서비와 비슷한 것 같다. Fluent bit : as a DaemonSet to send logs to CloudWatch Logs) Integration in CloudWatch Container Insights for EKS - Docs Blog Fluentd TS 수집 방법: 플루언트비트 Fluent Bit 컨테이너를 데몬셋으로 동작시키고, 아래 3가지 종류의 로그를 CloudWatch Logs 에 전송 /aws/containerinsights/Cluster_Name/application : 로그 소스(All lo.. 2023. 5. 18.
[AWS] EKS monitoring - AWS LB/ExternalDNS/EBS/EFS, kube-ops-view 설치 3주차 포스팅으로도 다뤘지만 4주차에도 동일하게 필요한 부분이라 별도 진행 부탁드립니다. kube-ops-view는 데브옵스하신다면 켜놓고 파드가 어디에 생성되는지 시각적으로 확인하면 작업에 용이할 것 같습니다. MyDomain= echo "export MyDomain=" >> /etc/profile MyDomain=gasida.link echo "export MyDomain=gasida.link" >> /etc/profile MyDnzHostedZoneId=$(aws route53 list-hosted-zones-by-name --dns-name "${MyDomain}." --query "HostedZones[0].Id" --output text) echo $MyDomain, $MyDnzHostedZo.. 2023. 5. 18.
[AWS] EKS monitoring - 4주차 이번주는 스터디를 통해 eks의 모니터링을 실습해봤는데요. 기존 프로메테우스와 그라파나의 조합으론 실습해 본 경험이 있었는데 EKS에서 AWS의 서비스를 통해 모니터링하는 부분이 인상 깊었습니다. AWS에서 신경써서 CRD를 만든 부분들이 섬세하면서 AWS에서 kubernetes를 사용하면 얻는 이점들을 부각 시킨 것 같아 csp사의 노력이 보입니다. 이번주 포스팅시작하겠습니다. 실습 환경은 이전 글 참고 부탁드립니다. 2023.05.18 - [클라우드/AWS] - [AWS] EKS monitoring - 4주차 원클릭배포 AWS LB/ExternalDNS/EBS/EFS, kube-ops-view 설치 2023.05.18 - [클라우드/AWS] - [AWS] EKS monitoring - AWS LB/E.. 2023. 5. 18.
[AWS] EKS monitoring - 4주차 원클릭배포 매주 동일하게 환경 배포를 할 하는 방법부터 알려드리겠습니다. 스터디장 가시다님이 만들어 준건데 너무 편리합니다. 원클릭 배포 -cloud formation에 기입 링크 aws cli를 통한 배포 * 이번 실습환경은 123주차보다 높은 스펙의 인스턴스를 사용하기 때문에 빨리 실습하고, 리소스 삭제하셔야합니다. 더보기 aws cloudformation deploy --template-file eks-oneclick3.yaml --stack-name myeks --parameter-overrides KeyName=kp-gasida SgIngressSshCidr=$(curl -s ipinfo.io/ip)/32 MyIamUserAccessKeyID=AKIA5... MyIamUserSecretAccessKey='.. 2023. 5. 18.
[AWS] EKS backup (velero) 2023.05.13 - [클라우드/AWS] - [AWS] EKS EBS Snapshots EBS 스냅샷의 기능도 있지만 클러스터 단위의 전체 백업이 필요하거나 네임스페이스 단위의 백업이 필요한 경우 velero를 사용하게 된다. velero는 pv의 내용도 백업하기 때문에 EBS Snapshot 기능보다 백업 범위가 넓은 점 참고하여 테스트 진행해보자. 참고 (https://hanhorang31.github.io/post/pkos2-2-localstorage/) 생성 순서 1. s3 버킷 접근을 윈한 IAM USER ID 와 키 생성 aws s3 mb s3:// --region ap-northeast-2 2. 정책 추가 # 버킷 변수 설정 export BUCKET= # IAM Policy 생성 cat >.. 2023. 5. 13.
[AWS] EKS PV for instance store & 노드그룹 추가하기 PV for instance store을 사용하면 PV 속도가 향상된다. 이유는 이미 붙어놓은 이미지 타입이기 때문에 타인스턴스와 생성 속도 및 물리적인 속도가 다르기 때문이다. 아래의 예제를 통해 add workgroup을 추가하는 방법도 있으니 PV for instance store를 사용하지 안하더라도 노드그룹추가하는 예제를 익혀보면 좋을 것 같다. # 인스턴스 스토어 볼륨이 있는 c5 모든 타입의 스토리지 크기 aws ec2 describe-instance-types \ --filters "Name=instance-type,Values=c5*" "Name=instance-storage-supported,Values=true" \ --query "InstanceTypes[].[InstanceType.. 2023. 5. 13.
[AWS] EKS 프라이빗 서브넷에 NATGW 및 라우팅 정보 추가하여 외부 와 통신 시키기 아래와 같이 EKS에 프라이빗 환경이 외부와 통신이 필요하면 아래의 명령어로 진행하면 외부와 통신이 가능하다. 다만 NATGW비용이 비싸기 때문에 빠르게 테스트만 진행해본다. # 변수 지정 PrivateSubnetRouteTable=$(aws ec2 describe-route-tables --filters Name=tag:Name,Values=$CLUSTER_NAME-PrivateSubnetRouteTable --query 'RouteTables[0].RouteTableId' --output text) # NATGW 생성, Private 라우팅 정보 추가 curl -s -O https://s3.ap-northeast-2.amazonaws.com/cloudformation.cloudneta.net/K8S/.. 2023. 5. 13.
[AWS] EKS EFS Controller EKS에 EFS 컨트롤러를 사용하면 모든 인스턴스에 마운트하여 사용 가능하기 때문에 EBS처럼 pod가 특정 인스턴스에서만 생성되어야하는 번거로움이 없어졌다. EFS를 사용하는 것은 편하지만 속도면에선 EBS보다는 느릴 것이다. 속도가 중요한 pod 인지 아닌지 확인하여 적절하게 사용하는 것을 권장드립니다. Amazon EFS CSI driver - Amazon EKS spec.capacity is ignored by the Amazon EFS CSI driver because Amazon EFS is an elastic file system. The actual storage capacity value in persistent volumes and persistent volume claims isn't.. 2023. 5. 13.
[AWS] EKS EBS Snapshots AWS EBS를 사용하면 스냅샷이 가능한데 EKS를 통해 EBS를 연결했으면 동일한 기능인 스냅샷을 사용 할 수 있다. 설치 # (참고) EBS CSI Driver에 snapshots 기능 포함 될 것으로 보임 kubectl describe pod -n kube-system -l app=ebs-csi-controller # Install Snapshot CRDs curl -s -O https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/master/client/config/crd/snapshot.storage.k8s.io_volumesnapshots.yaml curl -s -O https://raw.githubusercontent.co.. 2023. 5. 13.
[AWS] EKS Strage EBS Controller EKS는 EBS controller를 사용해서 volum을 생성 후 pod의 데이터를 저장할 수 있다. persistentvolume, persistentvolumeclaim의 accessModes는 ReadWriteOnce로 설정해야 합니다. > 블록스토리지는 인스턴스 하나만 연결되기 때문에 ReadWriteOnce되어야합니다. CSI controller와 CSI Node가 필요합니다. *해당 방법도 블록스토리지도 인스턴스 하나와 연결되기 때문에 pod가 어떤 노드에 생성되는지에 따라 running 이 안 될수 있습니다. EBS CSI설치 1. ISRA설정 > CNI와 비슷 eksctl create iamserviceaccount \ --name ebs-csi-controller-sa \ --names.. 2023. 5. 13.
[AWS] EKS Storage 속도 (kubestr & sar) # kubestr 툴 다운로드 wget https://github.com/kastenhq/kubestr/releases/download/v0.4.37/kubestr_0.4.37_Linux_amd64.tar.gz tar xvfz kubestr_0.4.37_Linux_amd64.tar.gz && mv kubestr /usr/local/bin/ && chmod +x /usr/local/bin/kubestr # 스토리지클래스 점검 kubestr -h kubestr # 모니터링 watch 'kubectl get pod -owide;echo;kubectl get pv,pvc' ssh ec2-user@$N1 iostat -xmdz 1 -p nvme0n1 ssh ec2-user@$N2 iostat -xmdz 1 -p .. 2023. 5. 13.
[AWS] EKS Storage hostPath 실습 local-path-host-provider 생성하기 - 링크 curl -s -O https://raw.githubusercontent.com/rancher/local-path-provisioner/master/deploy/local-path-storage.yaml kubectl apply -f local-path-storage.yaml # 확인 kubectl get-all -n local-path-storage kubectl get pod -n local-path-storage -owide kubectl describe cm -n local-path-storage local-path-config kubectl get sc kubectl get sc local-path NAME PROVISIONER RE.. 2023. 5. 13.
[AWS] EKS 기본 컨테이너 환경의 임시파일 사용하기 2023.05.13 - [클라우드/AWS] - [AWS] EKS Storage 실습 환경 구축 위 링크에서 환경 구축하여 진행 부탁드립니다. 환경 AWS EKS 어플리케이션 설명 data 명령어를 10초 간격으로 /home/pod-out.txt 파일에 저장 실습 # 파드 배포 # date 명령어로 현재 시간을 10초 간격으로 /home/pod-out.txt 파일에 저장 curl -s -O https://raw.githubusercontent.com/gasida/PKOS/main/3/date-busybox-pod.yaml cat date-busybox-pod.yaml | yh kubectl apply -f date-busybox-pod.yaml # 파일 확인 kubectl get pod kubectl ex.. 2023. 5. 13.
반응형