본문 바로가기

INFRA/DevOps147

[K8S 1.24 버전 업그레이드] dockershim vs containerd 💙베하💙 누구든 탑승할 수 있는 유임승차 팀입니다!!💨😉 최근 운영을 담당하고 있는 EKS 버전의 지원이 만료되어 가면서 1.24 버전으로 업그레이드 하기로 결정되었습니다. 이를 위해 어떤 부분이 달라지는지 조사하다가 개념적으로 헷갈렸던 dockershim 과 containerd 를 정리하였습니다. 쿠버네티스 구조의 변화 * 출처 : 조훈님 유튜브(https://www.youtube.com/watch?v=gQmauyVqGPs) 리눅스가 발전하면서 cgroup(control group) 이 나와 사용자들은 CPU 시간, 메모리, 네트워크 대역폭 같은 자원등을 프로세스 간 할당할 수 있는 방법이 나왔고, namespace 를 통해 시스템의 리소스(PID, 네트워크 등)를 분리해서 실행할 수 있게 되었습니다... 2022. 12. 21.
Terraform 실습하기 - 2 Virtual studio code 실행 06_TEST라는 폴더를 만들고 vs code에서 폴더를 열어줍니다. 01_main.tf라는 파일을 만들고 자료처럼 내용을 적어줍니다. 내용을 저장하고 터미널창에 terraform init terraform plan terraform apply 차례대로 입력하며 내용을 확인합니다. apply 명령어를 치면 "Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve."이 나오는데 오로지 yes를 쳤을 때만 계속 실행됩니다. 02_instance.tf 파일을 만들고 다음과 같이 내용을 넣어줍니다... 2022. 12. 19.
Terraform 실습하기 -1 aws 사용자 인증키 aws에 접속해 IAM으로 이동 후 사용자 추가를 해줍니다. 액세스 키를 선택합니다. 그림과 같은 정책을 연결시켜주고 만들어줍니다. 액세스키와 비밀 액세스키를 보관합니다.(.csv 다운로드) aws cli 설치 https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/install-cliv2-windows.html 참고 aws cli를 다운받습니다. cmd 창에서 aws --version aws configure access key : 앞에서 저장해놓은 액세스키 secret key : 앞에서 저장해놓은 액세스 비밀키 region : ap-northeast-2 output : json terraform cli 설치 https://www.terr.. 2022. 12. 19.
SRE란 무엇인가? 💙베하💙 누구든 탑승할 수 있는 유임승차 팀입니다!!💨😉 SRE란 무엇인가? (Google 엔지니어링 팀의 Ben Treynor Sloss가 창안한 개념) SRE는 IT 운영에 대한 소프트웨어 엔지니어링 접근 방식 SRE 팀은 소프트웨어를 툴로 활용하여 시스템을 관리하고, 문제를 해결하고, 운영 태스크를 자동화 SRE는 확장 가능하고 신뢰성이 높은 소프트웨어 시스템을 생성할 때 유용한 방법 코드를 통해 대규모 시스템을 관리할 수 있으므로 수천 대에서 수십만 대에 이르는 머신을 관리하는 시스템 관리자에게 더 큰 확장성과 지속가능성을 제공 SRE(Site Reliability Engineer)의 역할 관리자, 부가적인 운영 경험이 있는 소프트웨어 개발자, 소프트웨어 개발 기술도 보유한 IT 운영자와 같은 경.. 2022. 12. 19.
Devops란 무엇인가? 💙베하💙 누구든 탑승할 수 있는 유임승차 팀입니다!!💨😉 한 프로젝트를 하나의 팀으로 만들어 개발, 운영, 모니터링, qa 등을 원팀으로 운영함( 속도 향상 ) Devops가 대두되는 이유 Git, Docker, Kubernetes, Terraform, MSA, Cloud 등 계속해서 나오는 기술들 리눅스의 namespace 등장으로 리소스들을 분리해 관리할 수 있게 됨 컨테이너 기술이 등장하고 점차 많이 쓰이면서 Docker가 대세로 떠오르고 컨테이너 관리의 필요성을 느낌 → 컨테이너 오케스트레이션 기술이 발달하게 되면서 쿠버네티스가 대중화됨 컨테이너 / 오케스트레이션이 발전하면서 MSA(Micro Service Architecture) 방법이 쉬워짐 waterfall / agile 방식 클라우드의 발.. 2022. 12. 19.
[K8s] Ingress 개념 및 Ingress Controller 설치, 활용 Ingress API란? HTTP나 HTTPS를 통해 클러스터 내부의 서비스를 외부로 노출 기능 Service에 외부 URL을 제공 트래픽을 로드밸런싱 SSL 인증서 처리 Virtural hosting을 지정 Ingress controller 동작 방식 Nginx Ingress controller 설치 Installation Guide - NGINX Ingress Controller 참고 kubectl apply -f 설치 확인 kubectl get pod --namespace ingress-nginx NAME READY STATUS RESTARTS AGE ingress-nginx-admission-create-qxcsn 0/1 Completed 0 99s ingress-nginx-admission-pa.. 2022. 12. 19.
[k8s] Kube-proxy Kube-proxy란? K8s service의 backend를 구현 Endpoint 연결을 위한 iptables 구성 worker node에서 확인 가능 iptables -t nat -S | grep 80 -A KUBE-MARK-DROP -j MARK --set-xmark 0x8000/0x8000 -A KUBE-SEP-HHZALBXPKUQGKXIS -p tcp -m comment --comment "default/clusterip-service" -m tcp -j DNAT --to-destination 192.168.11.73:80 -A KUBE-SEP-KTW4ECSLTAZBS6DP -p tcp -m comment --comment "default/clusterip-service" -m tcp -j DN.. 2022. 12. 12.
GitOps와 ArgoCD란? GitOps 란? 개발자와 운영자의 소통, 협업, 통합을 강조하는 DevOps 는 다들 잘 아실거라고 생각합니다. GitOps 는 DevOps 의 실천 방법 중 하나로 애플리케이션의 배포와 운영에 관련된 모든 요소들을 Git 에서 관리(Operation) 한다는 뜻입니다. 아주 간단하게 말해서 GitOps 는 Kubernetes Manifest 파일들을 Git 에서 관리하고, 배포할 때도 Git 에 저장된 Manifest 로 클러스터에 배포하는 일련의 과정들을 의미합니다. GitOps 의 원칙 1. 모든 시스템은 선언적으로 2. 시스템의 상태는 Git 의 버전을 따라감 3. 승인된 변화는 자동으로 시스템에 적용됨 4. 배포에 실패하면 이를 사용자에게 경고해야함 GitOps Repository GitOps.. 2022. 12. 11.