All Posting

K8s를 운영하다 보면 흔히들 비밀정보를 관리를 해야하는 경우가 생긴다. - 비밀정보 : DB 정보, ID/PW 등의 일반적으로 노출되면 안되는 정보들이다. 기본적으로 K8s에서는 Secrets Kind를 제공하고 있지만, 여러가지 사유에 의해서 재직중인 회사에서는 Vault를 사용하고 있고, Secrets과의 장/단점과 설치와 사용 방법에 대해 간략하게 리뷰하고자 한다! Vault vs K8s secrets 아래의 장/단점만 보면 크게 Vault를 사용해야되는 장점이 없어보일 수 있으나 가장 큰 장점은 UI가 있어서 사용이 간편하고, DDB 등으로 백업을 하고 있기 때문에 휴먼에러 등으로 비밀정보를 삭제하는 경우 복원이 쉽다. 다만, 반대로 가장 큰 단점은 Vault를 사용하기 위해서는 각 Pod에 S..
최근 회사에서 장애 상황이 있었다. 장애가 발생할 수 있지만 장애 처리가 미흡하여 장애 기준, 절차에 대해 재정의를 하려고 한다. 장애를 정의하기 앞서서 당사 서비스의 SLI, SLO 를 좀 살펴보았는데, 딱히 정의되어 있지 않은것 같다. 그래서 SLI, SLO가 무엇이고, 타사에서 많이들? 정의하는것을 기반으로 벤치마킹하고자 한다. - 아직 공부를 하는 단계이고, 최대한 이해하고 게시물을 작성하였지만, 일부 작성된 내용이 있을 수 있다. SLA 계약 또는 공표하기 위해서는 SLO가 사전 정의가 되어 있어야 하고, SLO를 정의하기 위해서는 SLI로 지표를 정의해야 한다. SLI(Service Level Indicator) 서비스 수준 척도라고도 불리며, 자세하게 말하면 서비스에 대한 수준을 측정하고 정..
Docs를 참고하고 최대한 경험한 내용을 토대로 기재하였으나, 혹시나.. 잘못된 내용이 있을 수 있습니다. 잘못된 내용은 코멘트로 알려주시면 확인 후 반영하도록 하겠습니다 :) 최근 EKS 노드 관리를 위해 CAS -> Karpenter로 Migration 하였다. CAS, Karpenter의 장/단점을 정리하는 게시물이다! CAS/Karpenter 2가지 플러그인만 비교한것으로 비교 구분 CAS Karpenter 비고 노드 생성 시간 느리다. - Warmpool 도입 전 약 4분 - Warmpool 도입 후 약 36초 빠르다. - 약 1분 Karpenter - NotReady 상태에서도 Pod 할당이 가능하기 때문에 Pod 할당시간이 더 빠르다. 비용 효율화 미흡함 비용 효율 CAS - 미리 지정한 N..
노드를 Spot으로 운영하다보면 가장 고민이 되는 부분이 Fail-over와더 작은 Spot 노드로 변경할 수 있을때 변경이 가능한가? 이다. 하지만 CAS에서는 Spot 노드에 대해서 노드 통/폐합 작업을 하지 않는다. 하지만 Karpenter는 노드 통/폐합 기능을 제공한다! Karpenter를 통해 Provisioning(Spot) + Deprovisioning 까지 같이 적용한다면 노드 비용을 극한까지 효율화할 수 있다. 다만, 아무리 Karpenter를 도입하더라도 Deployment의 Resource.Request를 높게 잡아버리면.. 효율이 떨어진다. Karpenter 도입 + Resouce.Reuqest도 어떤식으로든? 조정을 해야한다. [Karpenter] Karpenter를 활용하여 E..
많은 기사에서도 접할 수 있듯이 올해 스타트업의 시장이 좋지 않다. 그래서 현재 재직중인 회사에서도 불필요한 또는 비효율적인 AWS 인프라 비용을 줄이라는 특명이 내려왔다. 그래서 AWS 인프라 비용에서 가장 많은 부분을 차지하는 EKS Node 비용을 먼저 줄여보기로 했다. 가장 좋은 방법은 각 Deployment의 Request/Limit 사이즈를 조절하는 것이다. 하지만 이것은 개발팀에서 조절하는 부분이고 데브옵스팀에서는 관여하기 어렵기에 그럼 노드를 효율적으로 사용할 수 있는 부분을 찾아보기로 했다. 그러던 중 팀원이 좋은? 괜찮은? 오픈소스인 Karpenter를 공유해주었고 당사에 적용한 내용을 기술해보고자 한다. 먼저 대부분의 EKS를 운영하는 회사에서는 Cluster Auto Scaler(이..
개인적으로 차근차근 공부하는 목적으로 작성한 글입니다. 일부 잘못된 내용이 있을 수도 있습니다. 잘못된 내용은 피드백 해주시면 적극 반영하도록 하겠습니다. 감사합니다 :) 최근 쓰니가 재직중인 회사에서 Cluster Upgrade가 있었다. 근데 Upgrade 이후, 특정 Github 레포의 helm upgrade가 되지 않는 이슈가 있었고 이를 통해 새롭게 알게 된 내용을 정리하고자 한다. Github Action Helm upgrade Fail Error: UPGRADE FAILED: current release manifest contains removed kubernetes api(s) for this kubernetes version and it is therefore unable to buil..
개인적으로 차근차근 공부하는 목적으로 작성한 글입니다. 일부 잘못된 내용이 있을 수도 있습니다. 잘못된 내용은 피드백 해주시면 적극 반영하도록 하겠습니다. 감사합니다 :) 최근에 EKS 업데이트를 했었는데, k8s 버전에 맞는 coreDNS 업데이트도 했다. coreDNS가 이름만 들어보면 언뜻 DNS 서비스를 뜻하는것 같은데, 정확히 어떤 개념이고 어떤게 동작하는지 궁금했다. CoreDNS란 무엇인가? k8s docs를 보면 아래와 같이 쿠버네티스 클러스터의 DNS 역할을 수행하는 서버로 표현되어 있다. CoreDNS는 쿠버네티스 클러스터의 DNS 역할을 수행할 수 있는, 유연하고 확장 가능한 DNS 서버이다. 쿠버네티스와 동일하게, CoreDNS 프로젝트도 CNCF 가 관리한다. 어렵게 표현했지만 결..
처음부터 차근차근 공부하는 목적으로 작성한 글입니다. 일부 잘못된 내용이 있을 수도 있습니다. 잘못된 내용은 피드백 해주시면 적극 반영하도록 하겠습니다. 감사합니다 :) EKS를 운영하다 보면 많은 Worker node가 있고, 수많은 Pod가 생겨난다. 그리고 이때 운영자는 별도 작업이 없지만 EKS가 자동적으로 pod에 private ip를 할당해준다. 어떻게 되는걸까? EKS 네트워킹에 대한 기본 개념과 방법에 대해서 알아보자. EKS 네트워킹 기본 구조 가장 기본적인 EKS 네트워킹의 기본 구조이다. EKS node는 다수의 Pod을 생성해야 하고, 이때 많은 Private ip가 필요로 한다. 이때 AWS에서는 AWS VPC CNI 플러그인을 제공해주고 이것은 K8s과 AWS VPC간의 브릿지 ..
처음부터 차근차근 공부하는 목적으로 작성한 글입니다. 일부 잘못된 내용이 있을 수도 있습니다. 잘못된 내용은 피드백 해주시면 적극 반영하도록 하겠습니다. 감사합니다 :) 최근 업무적으로 Github Action을 사용할 일이 있는데, 잘 모르는 분야이다 보니 Github Action Docs을 읽어보았다 그중에서 조금 헷갈리는 Github Action output 부분에 대해서 알아보도록 한다. Defining outputs for jobs - GitHub Docs Overview You can use jobs. .outputs to create a map of outputs for a job. Job outputs are available to all downstream jobs that depend ..
Kobby
'분류 전체보기' 카테고리의 글 목록 (4 Page)