본문 바로가기

전체 글37

[2주차] VPC CNI와 LoadBalancer Controller *본 게시글의 내용은 가시다님의 노션 페이지와 스터디 자료인 '24단계 실습으로 정복하는 쿠버네티스 도서' 를 기반으로 작성하였습니다. AWS VPC CNI ) AWS 환경에서 동작하는 Kops나 EKS를 위한 CNI 온프레미스에 k8s를 구성하면 노드(호스트)의 네트워크 대역과 파드의 네트워크 대역이 다르다. AWS VPC CNI는 노드와 파드가 같은 네트워크 대역을 사용하며, 각 파드에 eni가 연결되어 독립적인 IP를 할당받아 사용할 수 있다. 단, 파드의 개수가 많아지면 많아질수록 각 서브넷에서 가용한 IP의 수가 그만큼 소모되고, 노드의 역할을 하는 EC2가 가질 수 있는 ENI당 Secondary IP의 리밋도 있기 때문에 사전에 고려가 필요하다. 단, Kops는 아직 PodSecurityGr.. 2023. 3. 19.
[1주차]Kops 를 이용하여 AWS에 쿠버네티스 클러스터 구축하기 *본 게시글의 내용은 가시다님의 노션 페이지와 스터디 자료인 '24단계 실습으로 정복하는 쿠버네티스 도서' 를 기반으로 작성하였습니다. KOPS란 AWS에서 쿠버네티스를 사용한다 함은 곧 EKS를 떠올리는 것이 일반적인 선택지라고 생각했는데 첫 회차부터 쿠버네티스 클러스터를 직접 구성하면서 이번 기회에 Kops를 처음 사용해보게 되었다. kubernetes 공식 문서에서도 배포 도구 3가지 중 하나로 소개하고 있으나 쿠버네티스를 처음 접할 때 kubespray를, CKA와 CKAD를 취득할 때 kubeadm을 사용해본 뒤로 Kops를 사용해 볼 기회가 마땅치 않았다. 모든 배포 툴을 섭렵할 필요를 느끼지 못했거니와, EKS가 클러스터 구성 과정에서 제공하는 강력한 편의성 덕분이기도 했는데, 마침 이번 스.. 2023. 3. 12.
Github에서 Atlantis를 이용한 Terraform 협업 환경 구축하기(2) Intro Github에서 Atlantis를 이용한 Terraform 협업 환경 구축하기 1 지난 글에서는 Atlantis를 소개하고 PR 기반의 협업 환경을 구축하는 과정을 데모와 함께 소개했습니다. 이번 글에서는 Atlantis를 실제로 사용하며 보다 활용도를 높일 수 있는 내용을 몇 가지 공유해보려고 합니다. 워크플로 표준화 terraform ├── modules ├── script ├──init_service └── services └── microservice1 ├── dev ├── main.tf ├── staging └── prod ├──microservice2 ├──microservice3 ... (예시입니다) 테라폼을 이용한 관리 범위를 어디까지 가져갈 것인지에 따라 달라지겠지만, 저희 팀.. 2022. 12. 11.
golang의 실수 계산(부동소수점 오차, 머신 엡실론) golang에서의 실수는 소수점을 찍거나 또는 지수 표기법 e / E를와 + / - 를 사용하여 소수점 위치를 지정합니다. 컴퓨터는 2진수를 사용하기 때문에 실수를 정확하게 표현할 수 없는데, 특히 무한 소수의 경우 2진수로 정확히 표현할 수 없고 아쉬운대로 근사값으로 표현해야 합니다. 따라서 아래와 같은 문제 상황이 발생할 수 있습니다. 1. 등호(==)로 비교 불가능 package main import ( "fmt" "math" ) func main() { //variables var ( a float64 = 9.9 ) const ( epsilon = 1e-14 ) a = a - 0.7 fmt.Println(a) //9.2000000000001 } 변수 a에 9.9를 할당하고 0.7을 빼면 9.2가 .. 2022. 11. 13.