eks5 Cluster Overprovisioning 현재 운영 중인 사이트는 HPA(Horizontal Pod Autoscaler) 통해서 파드를 오토스케일링 하는데, 파드가 스케일 아웃을 할 때, 필요한 자원이 없을 경우에는 CA(Cluster Autoscaler)를 통해서, 노드를 추가 하게 된다. 그런데, CA를 통해서 노드가 추가 될때, 노드가 바로 추가되지 않기 때문에, 노드가 추가되고 파드가 생성될 때 까지는 사이트 속도가 떨어지는 문제가 발생하였다. HPA의 기준(CPU사용율)을 변경하거나, 파드나 노드의 갯수를 매우 넉넉하게 설정을 해 놓으면 문제는 없겠지만 좀 더 스마트 한 방법을 찾아 보기로 했다. 처음에는 상시적으로 여유 노드를 한 개 정도 더 확보하고 있는 방법을 생각하였으나, 자원을 낭비 되는 감이도 있고, 관련 문서도 찾을 수가 .. 2019. 11. 13. kubernetes 노드 변경 한대의 노드가 정상적이지 않은 것 같아서 새로운 노드를 추가하고 문제있는 노드를 제거 하였다. AWS를 사용하고 있고, 오토스케일링 그룹에 속해있는 노드라서, 오토스케일링 그룹에 신규 인스턴스가 추가 되도록 Desired Capacity 를 추가한다. $ kubectl get nodes ip-172-31-16-133.ap-northeast-2.compute.internal Ready 16m v1.12.7 ip-172-31-24-205.ap-northeast-2.compute.internal Ready 82d v1.12.7 ip-172-31-33-98.ap-northeast-2.compute.internal Ready 27s v1.12.7 ip-172-31-42-90.ap-northeast-2.comput.. 2019. 8. 5. 쿠버네티스 대시보드 편하게 접속하기(#1) EKS로 쿠버네티스 클러스터를 셋팅하였는데, kubeproxy 를 로컬에 띄어서 로컬로 접속하는 방식인데, 서버를 통해서 접속하는 방식으로 바꿨다. 매번 명령을 실행시키기 번거롭다. 여러 개의 클러스터를 관리해야 한다. (aws 계정도 여러 개 사용) HTTPS를 사용하고 싶다. 사내에 사용가능한 리눅스가 있다. 사용빈도가 매우 높지 않다. 비용을 쓰고 싶지 않다. (ELB로 접속하는 방식이 있으나...) 대시보드에 ELB를 붙여서 접속하는 방법도 있으나, 비용적인 부분과 사용빈도가 크지 않기 때문에, 사내에 있는 linux 를 x통해서, 접속하는 방식으로 변경해 보았다. 접속도 여러 개의 계정과 여러 개의 클러스터를 관리해야 하기 때문에, docker container 를 통해서 구축 하였다. 파일 :.. 2019. 7. 29. EKS 쿠버네티스 대시보드 접속 kube-proxy 실행 $ kubectl proxy --port=8080 --address=0.0.0.0 --disable-filter=true & 토큰 출력 (awscli + jq) $ aws eks get-token --cluster-name dev-opgg-seoul | jq -r '.status.token' 토큰 출력 (kubtctl) $ kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep eks-admin | awk '{print $1}') 접속 URL ( 토큰 입력) http://localhost:8080/api/v1/namespaces/kube-system/services/https:kuberne.. 2019. 7. 23. 쿠버네티스에서 컨테이너 네임, 이미지 출력 쿠버네티스에서는 pod 단위로 관리하는데, 컨테이너에 대한 정보를 출력하고 싶다면 다음의 명령을 입력하면 됩니다. # kubectl get po -o jsonpath='{range .items[*]}{"pod: "}{.metadata.name}{"\n"}{range .spec.containers[*]}{"\tname: "}{.name}{"\n\timage: "}{.image}{"\n"}{end}' 2019. 7. 1. 이전 1 다음