개인적인 기록/YIL(Yesterday I Learned)

이직 4주 차 회고

Jerry_이정훈 2022. 3. 6. 13:01
728x90

아틀라스랩스 이직한 지 4주차, 2022년은 시작한지 9주 차.

 

이직을 해서 참으로 정신없는 매일매일 한주한주가 지나가고 있다. 신입도 아닌 경력이라 빠르게 업무에 적응해야 한다는 부담감이 있다. 물론 부담감이 결과로 이어지지 않기에 나만의 페이스로 적응하려한다. 다행히 팀 분위기도 그런 걸 이해하지 못하는 건 아니다. 당연히 쫀다고 성과가 나는 건 아니다. 긴장은 하지만 여유도 잃지 않으려 한다. 결국 회사에 가장 성과가 나는 방향으로 내가 가장 일을 잘하고 많이 배울 수 있도록.

 

기술적인 부분으로 이번 주에 새롭게 적용하게 꽤 된다. 많이 부족하지만 어찌하였든 오레곤 리전에 새로운 EKS 클러스터를 구축하였다. A10 GPU를 사용하는 g5.2xlarge 인스턴스가 오레곤만 지원하기에 해당 리전을 사용해야 했다. 기존 구성환경을 파악해야 하는 나에게 새로운 클러스터를 구축하는 건 큰 도움이 되었다. 아무래도 기존 클러스터 현황 파악하는 것 보다는 그냥 새로운 클러스터 만드는 게 더 도움이 된다. 

 

테라폼으로 eks 클러스터를 만들었다. 이 때 gpu instance라 ami type을 "AL2_x86_64_GPU" 사용하지 않아 2일 이상 고생하였다. GPU 인스턴스 타입이라 nvidia driver 등을 설치한 os 이미지가 필요하여 self-managed 타입의 노드 그룹을 사용했는데 이게 쿠버네티스 클러스터의 worker node로 join되지 않았다. 난 테라폼에서 custom ami를 사용해도 eks 클러스터에 자동으로 join 되는지 알았는데, 그게 아니었다. kubeadm에서 자동으로 kubelet 등을 설치안되나 보다. 어떻게 보면 당연한건데 그걸 몰라서 고생을 많이 했다. 일정은 촉박하고 당연히 되어야할게 안되니 환장하는 순간이었다. 

 

이번 주 테라폼한다고 고생이 많았다. 테라폼은 새로운 instance를 실행하고 삭제하는 작업 등을 하기에 기본 eks 클러스터 만드는데 30분 정도 걸렸다. vpc, subnet 각종 iam rule/policy, sg 한번에 60개 정도 새로운 resource가 생성되니 당연하다면 당연하다. 시간이 많이 걸리니 몇 번 해보지 않았는데 실수하면 삭제하고 다시 만드느라 하루가 금방갔다. 거의 마지막이 되어서야 2개 클러스터를 동시에 생성하고 삭제하는 걸 생각했다. 간단한 아이디어인데 마음만 급해 생각하지 못했다. 

 

테라폼에서 만든 노드 그룹을 수정하려고 하면 제대로 안되고 hang 걸려서 클러스터 삭제해야 하는 어려움이 계속 있었다. 운영 클러스터에서 instance type이라도 수정하려고 하면 큰 어려움이 예상된다. 노드 그룹 삭제안되는 건 그저 30분 정도 지나야 삭제가 되었다. 왜 안되고 되는지 모르는 안 좋은 상황이다.

 

다행히 오레곤 클러스터를 만들고 서울 리전의 ecr, s3 등을 별다른 security group 추가없이 잘 가져오는 게 신기하였다. 아마 좋아할일이 아니고 싫어할 일이겠지만, 보안 설정이 안되어서 그런거겠지만 어찌하였든..

 

efs_sc StorageClass 추가하는 것도 시간이 많이 걸렸다. efs-csi-controller 추가가 안되어 동적 provisioning이 안되었다. 이전 시스템도 static만 설정되어 있고. Service Account 설정을 꼼꼼하게 확인하고 4시간 이상 걸려서 정상적으로 동작하였다. 

 

그리고 클러스터 관리자 계정 추가를 configmap aws-auth으로 aws iam user를 추가하는걸 찾았다. 이걸 몰라서 클러스터 변경할 때 마다 새로운 iam user 환경 변수 변경하는 노가다를 했었다. 

 

mapUsers:

----

- userarn: (생략)

  username: jerry-admin

  groups:

    - system:masters

 

헬름으로 ingress-nginx를 생성하고 ingress 생성하면 에러 발생하였다. 이유는 모르겠지만 구글링해서 validatingwebhook을 삭제해야 정상적으로 실행되었다.

 

$ (⎈ |kr-dev:ingress-nginx) kubectl delete -A ValidatingWebhookConfiguration ingress-nginx-admission

validatingwebhookconfiguration.admissionregistration.k8s.io "ingress-nginx-admission" deleted

 

사무실이 이사하고 새단장을 하였다. 마음에 여유가 없어서 구경도 못하였다. 조금 안정이 되어야 풍경도 눈에 들어올 것 같다. 회사에 DevOps가 혼자라 고생이다. 빨리 한 명 더 들어왔으면 한다.

 

반응형

'개인적인 기록 > YIL(Yesterday I Learned)' 카테고리의 다른 글

22년 11주 차 회고  (0) 2022.03.21
22년 10주 차 Weekly Review  (0) 2022.03.14
쿠버네티스 대시보드 설정 변경  (0) 2022.02.13
로컬PC 원격 k8s 클러스터 관리  (0) 2022.02.12
OJT 1일차  (0) 2022.02.10