🔥딱 8일간! 인프런x토스x허먼밀러 역대급 혜택

블로그

이상현

[인프런 워밍업 클럽 4기] DevOps 발자국 4주차

[ 강의 정보 ]강의명 : 쿠버네티스 어나더 클래스 (지상편) - Sprint 1, 2 [ 워밍업 클럽 4주차 회고 ]벌써 스터디의 마지막 주를 달리고 있다. 한 달이라는 시간안에 주어진 과정을 따라가는게 쉽지 않을 거라 생각했으나, 처음 결심한 대로 잘 따라가지 못한게 아쉬운 마음이 먼저 든다. 이번 주차에서는 Kustomize와 Helm을 통한 배포 구성 관리 및 Argo CD를 통한 배포 전략을 살펴보았는데, 현업에서도 동일한 기술들을 도입하려는 생각을 하고있어 주의깊게 강의를 보아야 겠다고 생각했다. 그리고 현재하고 있는 고민들이 강의에서도 나오는 것을 보고 적절한 Best Practice를 적용하는 것이 중요하겠구나 생각되었다. 한 달동안 쿠버네티스의 동작 흐름부터 CI/CD를 통한 배포 자동화까지 하나의 큰 흐름을 배워가는 과정을 통해, 단순히 쿠버네티스 개념에 대해 배우는 것뿐만 아니라 운영을 위해서는 부가적인 기술들의 동작도 깊게 알아야 겠다는 생각도 하게 되었다.이번 스터디를 통해 100프로 열심히 했다고는 차마 스스로에게 할 수 없지만.. 스터디를 하기 전보다는 조금이나마 나아졌지 않을까 생각한다. 끝까지 빠진 내용들을 복습하며 채워나가야 겠다. 스터디 이후에도 정리한 내용들을 되새기며 나의 것으로 만들어나갈 수 있게 노력 하자!

DevopsKubernetes

승현

[인프런 워밍업 클럽 4기] 4주차 발자국

이번주 학습 내용Helm vs Kustomize의 차이를 이어서 학습했다.Helm은 Chart로 환경별 설정이 가능하여 관리가 용이한 점kustomize는 기존 설정을 overlay로 A+B를 결합하는 형식이어서 조금 더 직관적인 느낌만약 처음 선택을 해야 한다면 서비스의 갯수에 따라서 Helm과 kustomize에 대해서 고민할 것 같다. 관리해야 하는 서비스가 많을 수록 kustomize가 주는 장점이 오히려 관리 포인트가 되어 단점이 될 수 있다고 생각이 들고, Helm이 주는 장점이 더 두각되는 것 같다.ArgoCD의 동작방식에 대해서는 아직 학습이 덜되어서 다시 한번 학습이 필요할 것 같다.회고마지막 발자국이라는 것이 믿기지가 않는다, 직장, 학업으로 매주 힘들었지만 같이 해준 팀원 분들에게 너무 감사하고, 좋은 분들을 만날 수 있어서 감사했다. 또한 중간점검을 통해 강사님이 강의에 투자하는 시간을 알게되었는데 높은 품질의 강의는 확실히 다른다는 것을 알게 되었고, 양질의 내용을 제공해주기 위해 준비해주신 강사님께도 감사하다.스터디는 이번주에 종료되지만 여기서 멈추는 것이 아니라 내것으로 만들기 위해 복습하는 시간을 가지려고 한다.💪💪

데브옵스 · 인프라워밍업클럽인프런스터디4기데브옵스Devops

승현

[인프런 워밍업 클럽 4기] 3주차 발자국

이번주 학습 내용이번주는 Devops의 역할, 배포 방법, 쿠버네티스 패키지 매니저(Helm)에 대해서 학습했다.아무래도 개발자이다 보니, 위 그림을 인상 깊게 보았는데, 내가 경험해온 Devops 엔지니어 분들은 개발 영역은 하지 않으셨고, 개발 부분은 개발자가 맡아서 하는 R&R이 확실하게 분리된 환경에서 업무를 해왔는데, 결국 나의 능력을 높이기 위해서는 개발 + 인프라까지 다룰 수 있어야 하는 건 맞는 것 같다. ( AI가 무섭게 성장하고 있는 흐름에서는 더더욱...! )그리고 추후 PM/PL/아키텍트 역할을 맡게 되었을때도 전체적인 그림을 볼 수 있어야 하기 때문에 전문가처럼 깊게는 아니더라도 전체적인 흐름은 알고 있어야 할 것 같다. 사실 이미지를 보자마자 놀랬다🤣🤣이 많은 내용을 다 알고 있어야 한다고?! 생각했는데 강사님께서 스탭별로 진행하면 된다고 말씀주셔서 다행이었다...나는 인프라는 곧 비용이다. 라고 생각하는데, 인프라 환경에 필요한 장비 또는 클라우드 비용이 매섭기 때문이다.회사의 지갑 사정에 따라서 또는 회사의 투자 상황에 따라서 인프라 환경도 달라질 것인데, 각 재정 상황에 맞는 파이프라인을 구축하면 되는 것 같다. 배포 방식에서는 Recreate / RollingUpdate / Blue&Green / Canary 이렇게 4개의 종류를 배웠는데, 가장 좋은 건 역시 Canary인 것 같다. (서비스는 죽으면 안되니까!)다만 이것도 결국 쿠버네티스를 얼마나 다룰 수 있는지 역량에 따라서 달라질 것 같다. Canary 배포 중 가중치가 안바뀐다거나? / 배포가 실행이 안된다거나?-> 여러 상황에 대해서 수동으로 처리할 수 있게 대응이 필요할 것 같다.)또한 서비스의 특징에 따라서도 어떠한 배포 방식을 선택할지 달라질 것 같다. 무중단이 아닌 운영시간이 정해진 서비스라면?-> 꼭 Canary 배포 방식을 선택하지 않아도 될 것 같다.회고요즘 퇴근 후 저녁에 3km 러닝을 하고 있는데, 러닝을 하면서 느끼는 것이 무엇이든지 단번에 되는 것이 아닌 절대적인 시간이 필요하고, 그 시간을 인내하고 꾸준히 달리는 것이 중요한 것 같다.학습도 마찬가지라는 생각이 든다. 어떠한 지식을 단번에 학습하려고 하지 말고, 천천히 꾸준히 학습하는 것이 중요한 것 같다.저번주 발자국에 일프로님께서 댓글을 달아주셔서 얼마나 놀랬는지 모르겠다ㅎㅎㅎ 이번 스터디는 완주를 목표로 학습하고, 추후에 꼭 복습해야겠다. 항상 디스코드 스레드 보면서 힘을 얻어갑니다! 마지막 4주차까지 파이팅!💪💪

데브옵스 · 인프라Devops일프로워밍업클럽인프런4기데브옵스쿠버네티스k8s

승현

[인프런 워밍업 클럽 4기] 2주차 발자국

이번주 학습 내용이번주는 Probe, Secret, ConfigMap, PVC/PV, Deployment, Service, HPA, Cmponent 등을 배웠다.Probe는 앱의 상태를 체크할때 사용하는데, 앱의 로딩 시간에 따라서 Probe 설정을 정말 잘해주어야 하고, 외부 트래픽을 처리할지도 Probe에서 관리하기 때문에 중요도가 매우 높은 부분이라는 것을 배웠다.Secret, ConfigMap에서는 Secret이 암호화를 대신 해주는 것이 아닌 Base64 인코딩을 지원하는 것이고, ConfigMap을 통해서 앱에서 사용할 환경변수를 주입할 수 있었다.PVC/PV, Deployment, Service, HPA는 모두 중요한 포인트인 것 같은데 파일 스토리지 연동, 배포 방법에 따른 차이와 설정 방법, 내부/외부 트래픽에 대한 처리, 스케일 아웃 처리 등 운영 환경에서 적재적소에 사용하려면 해당 오브젝트들을 잘 이해하고 있어야 한다는 것을 배웠다.( 그렇지만 아직 한번에 이해가 가지는 않는 중이다. 실제로 실습하면서 컨테이너 내부에서 실행해야 되는 명령어인데, 호스트에서 진행해서 왜 안되는거지? 확인하는 시간도 적지 않게 있었다... 정말 많은 학습이 필요한 것 같다.) 이번주 미션 진행[미션2] Application 기능으로 k8s 이해 - Probe[미션3] Application 기능으로 k8s 이해 - Configmap, Secret[미션4] Application 기능으로 k8s 이해 - PV/PVC, Deployment, Service, HPA회고이번주는 미션이 3개가 있어서 정말 바빴던 것 같다... (공휴일도 2일이나 있었는데 ^^;;)정말 나만 힘든 건가? 라는 생각이 들었는데, 팀원 분들도 다들 힘들어 하시는 것 같았다. 그래도 다같이 으쌰!으쌰! 하는 분위기여서 나도 모르게 힘이 나는 것 같고, 모난 부분 없이 열정있고 긍정적인 팀원 분들을 만난 것이 너무 감사하다.아직은 쿠버네티스의 모든 것이 이해가지 않는 것이 당연하다고 생각한다.모든 내용을 한번에 다 이해한다면 누구나 상위 1%가 되었겠지만 실제로는 그렇지 않은 것 처럼 지속적으로 학습할 수 있는 습관이 중요한 것 같다.

데브옵스 · 인프라데브옵스인프런워밍업클럽4기일프로Devops발자국

승현

[인프런 워밍업 클럽 4기] 1주차 발자국

이번주 학습 내용실무에 적용하고 싶은 쿠버네티스섹션3. 컨테이너 한방 정리에서 리눅스의 역사부터 도커의 탄생, 쿠버네티스까지 전체적인 흐름을 알 수 있었다.섹션5. 실무에서 느껴 본 쿠버네티스가 정말 편한 이유 에서 정말 쿠버네티스의 기본적인 기능들만 확인했는데, 너무 마음에 들었다. 어느정도 마음에 들었냐면 "당장 실무에서 쓰고 싶다!" 라는 생각이 들었다.매번 VM(EC2)에 JDK 설치하고, 프로메테우스 설치하고, 뭐 누락된거 없는지 체크리스트 확인하고 수동으로 작업했어야 했는데, 거기다 이중화 해야 한다고 하면 VM 하나 더 수동으로 똑같은 작업을 해야 하는데 이게 작업자가 다르거나 체크리스트를 만들지 않으면 환경이 전혀 달라질 수 있다!그런데!! 쿠버네티스는 수동으로 했던 모든 작업을 replica 수만 조정하면 바로 VM 한대가 똑같이 생성된다.이번주 미션 진행[미션1] 쿠버네티스 설치 구간별 상태 확인고민되었던 부분강의를 예전에 듣고 구성해둔 환경이 있었어서, 그대로 사용하려고 하였는데 아래 명령어가 갑자기 안되었다.yum install -y ...그래서 왜 안되는건지 찾아보았는데 NTP 설정을 맞춰주어야 한다고 한다.( 아마 현재 서버가 2024년도여서 yum install 시간과 맞지 않아서 그런것 같다 )sudo timedatectl set-ntp trueNTP 설정을 맞추니까 현재 시간으로 맞춰진 것을 확인했는데! 이번엔 kubectl에서 pod들이 연결이 모두 안되었다. 로그를 확인해보니 인증서가 만료되었다는 것!Jun 01 11:46:22 k8s-master kubelet[1161]: E0601 11:46:22.568529 1161 bootstrap.go:266] part of the existing bootstrap client certificate in /etc/kubernetes/kubelet.conf is expired: 2025-05-24 17:34:19 +000>NTP를 오늘 날짜로 맞춰서 인증서의 날짜보다 지나있기 때문에 만료 되었다고 한다,.동작방식은 제대로 문서를 봐야겠지만, k8s 내부에서 통신을 할때 TLS 통신을 하는 것 같다. 그래서 같은 인증서로 통신을 하는데 만료되어서 통신이 안되고 있는 것으로 예상되어 인증서를 갱신 해주었다.sudo kubeadm certs renew all인증서는 갱신되었지만 여전히 kubeadm은 실행이 되지 않았다, 아마 kubectl 뿐만 아니라 연관된 서비스들도 같이 인증서를 갱신해주어야 하는 것 같은데! 시간이 너무 소요될 것 같아서😢 kubeadm을 새로 설치해주었다.( 삭제하면 namespace들도 모두 삭제되어서,, 다시 설치해주어야 한다. dashboard, calico, grafana... 등)회고정말 쿠버네티스 설치가 너무 힘들고 2번은 못하겠다는 생각도 들고,, 하지만 운영 관점에서는 안정성과 확장성 부분에서 너무 좋은 것 같다.일프로님께 AWS/GCP/Azure 등 클라우드 벤더사에서 제공하는 k8s 서비스를 사용해도 이렇게 설치 과정을 거치는지 궁금해서 여쭤드렸다.일프로님 답변클러스터에 이슈가 발생하면 설치 과정을 이해하고 있어야 한다고 말씀주셨다!복습할 수 있는 시간이 주어진다면 꼭 다시 봐야겠다! 

데브옵스 · 인프라데브옵스인프라Devops인프런워밍업클럽4기

채널톡 아이콘