인터넷 에이전트의'우리 Kubbernetes 실습'에 참가했습니다!
9/24-30에 열린 2020년 Kubernetes 실습에 참가했기 때문에 내용과 소감을 소개하고 싶습니다.
참가하기 전에
나는 이전에 실습에 참가한 적이 없어서 거의 참가해야 한다고 생각해서 찾아보았는데 이곳의 Kubbernetes 실습 활동이 이미 멈춘 것을 발견하였다.오래전부터 인프라를 좋아했고 자기 집 서버 등도 구축해왔지만 Kubernetes라면 클러스터 환경 등 비용을 마련해야 해 한 발짝도 내딛지 못했다.그래서 나는 이 실습 내용에 끌려 랩베리피4 3대를 받을 수 있도록 지원했다.
Docker와 Docker compose를 좋아해서 오래전부터 사용해왔지만, Kubernetes는 K자도 모르는 초보자라 미리 Kubefest Tokyo 2020 슬라이드를 보고 어느 정도 트렌드를 배웠다.이런 상황에서 저는 Kubernetes-native의 CI/CD에 관심이 생겨서 실습할 때 그걸 하고 싶었어요.
해본 일
day1
칠전 선생에 대해 스승으로서 Kubernetes가 1밀리미터도 모르는 것을 구조부터 기억하고 싶어서 도전했다Kubernetes-the-hard-way.자사 서버 구축 같은 곳에서 리눅스 조작에 서서히 익숙해졌기 때문에 전체적으로도 상당히 빠른 속도로 구축할 수 있다.때로는 자료도 미묘하게 완비되지 않았지만, 지적 후 개선 w
day2
하드웨이의 구축이 끝나면 앱을 올릴 수 있지만 단일한 고장점이 드문드문 깜박이기 때문에 멀티마스터의 HA 구성을 만들기로 했다.프로그램으로서, 우선 etcd를 분류화하고, 모든 노드에 ControlPlane을 설치하여, Kub-apiserver의 부하 균형을 잡는 느낌을 줍니다.지금까지는 순조로웠지만 마지막 DNS 서버가 실행되지 않는 등 미묘한 문제가 발생해 문제 해결에 적지 않은 시간이 걸렸다.
마지막에 만들어진 구성은 ↓ 같은 느낌.이렇게 쓸데없는 사람은 매우 적다고 느낀다.
day3
DNS 서버가 작동하지 않는 문제가 해결됨에 따라 당초 하려고 했던 CI/CD 도입을 추진하기로 했다.먼저 GitOps 도입 요점ArgoCD부터 시작합니다.처음에 나는 우직하게 강좌에 따라 진행했지만 ARM64를 지지하지 않는다는 인상 때문에 실패했다.조사 결과
alinbalutoiu/argocd
ARM64에 대응하는 인상이 있어 yaml을 이 동작으로 바꿨다.하지만 실제 창고를 추가하던 중 다음과 같은 오류가 발생해 원인을 전혀 모르고 좌초했다.여기서부터 어둠의 Argo CD와의 싸움을...# 闇のエラー
Unable to create application: application spec is invalid: InvalidSpecError: repository not accessible: Get "https://github.com/argoproj/argocd-example-apps.git/info/refs?service=git-upload-pack": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
day4
어두운 오류가 발생한 배경에서 구름은 다음과 같은 몇 가지 이상한 행동을 했다.
argocd-redis
pod는 ImagePullErr
를 일으키고 이동하지 않습니다.argocd-server
pod내clone github-repository에서 사용할 수 없습니다.하지만 앞서 언급한 아르고 CD의 오류는 여기서도 제대로 풀리지 못하고 좌초됐다.Argo CD를 포기하고 싶지만 제가 하고 싶은 Kubbernetes-native CI/CD에는 Argo CD가 상당히 중요한 존재이기 때문에 버릴 수 없고 어렵습니다.나는 경비원과 함께 오랫동안 고장 제거를 했다고 생각한다.이렇게 많이 봐주셔서 정말 감사합니다.
day5
넷째 날 밤, 지도교사가 갑자기 말했다. "https가 아니라 ssh면 가능할까요?"이 말을 생각하면 저는 ssh부터 Argo CD를 운전해 보았습니다. 아무 문제 없이 작동을 시작했습니다!결과적으로 https에서 순조롭게 진행되지 못하는 이유는 저도 잘 모르겠습니다(누군지 알면 알려주세요). Argo CD가 잠시 시작되었기 때문에 다양한 앱을 디자인해 봤습니다.
먼저 디자인해 본 건Passbolt입니다.가입한 이유는 단지 친구가 사용하고 싶은 단순한 이유 w
패스볼트에서도 ARM64 버전이라는 인상은 없었지만, Docker filehttps://github.com/passbolt/passbolt_docker이 준비돼 있어 단숨에 구축해 액션을 했다.구축해 Docker Hub에 올린 것들과 Kubernetes의 선언문도 아래에 붙여져 있다.
사실 제가 하고 싶은 게 많은데 시간이 부족해서 이만...나는 Argo CD에 푹 빠진 것을 후회한다.
실습이 끝난 후
저한테는 첫 인턴이고 회사 사람들과 함께 개발한 경험 자체가 새롭지만 정말 즐거운 인턴이라고 생각해요.Kubbernetes 경험이 없어도 (나는 이 실습에서 처음으로 지령 w를 쳤다) Docker와 클라우드 카드를 좋아하는 사람은 절대로 빠져들 수 있다.
이번 인턴십은 사실상 최우수상인 인형을 받기 위해 노력했다(웃음). 하지만 아쉽게도 최우수상을 놓쳤지만'그로우 업 상'으로 표창했다.
원하는 Kubernetes 환경이 생겼기 때문에 앞으로도 이 환경을 끊임없이 강화하고 싶습니다.
실습 중에 만난 여러분, 일주일 동안 감사합니다!
추기
공식 블로그와 다른 실습 참가자들의 기사를 미리 게재합니다!
Reference
이 문제에 관하여(인터넷 에이전트의'우리 Kubbernetes 실습'에 참가했습니다!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/lapi/articles/145d76743e809439ffb7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)