{"id":14972037,"url":"https://github.com/sysnet4admin/_book_k8sinfra","last_synced_at":"2025-10-04T02:58:03.291Z","repository":{"id":38352206,"uuid":"301707245","full_name":"sysnet4admin/_Book_k8sInfra","owner":"sysnet4admin","description":"\u003c 컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커 \u003e","archived":false,"fork":false,"pushed_at":"2025-06-13T01:05:34.000Z","size":22408,"stargazers_count":470,"open_issues_count":1,"forks_count":183,"subscribers_count":15,"default_branch":"main","last_synced_at":"2025-06-13T02:22:54.345Z","etag":null,"topics":["bluegreen-deployment","docker","gitops","grafana","helm","jenkins","k8s","kubernetes","kustomize","prometheus","runc","vagrant"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sysnet4admin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-10-06T11:41:08.000Z","updated_at":"2025-06-13T01:05:37.000Z","dependencies_parsed_at":"2024-09-27T15:41:02.284Z","dependency_job_id":"da3e4b6d-5dfd-44a3-bc7c-f279d7ddcf09","html_url":"https://github.com/sysnet4admin/_Book_k8sInfra","commit_stats":{"total_commits":314,"total_committers":1,"mean_commits":314.0,"dds":0.0,"last_synced_commit":"a8530c6884aebde43a1de36b384585efd2b0d691"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sysnet4admin/_Book_k8sInfra","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sysnet4admin%2F_Book_k8sInfra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sysnet4admin%2F_Book_k8sInfra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sysnet4admin%2F_Book_k8sInfra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sysnet4admin%2F_Book_k8sInfra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sysnet4admin","download_url":"https://codeload.github.com/sysnet4admin/_Book_k8sInfra/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sysnet4admin%2F_Book_k8sInfra/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278258445,"owners_count":25957282,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bluegreen-deployment","docker","gitops","grafana","helm","jenkins","k8s","kubernetes","kustomize","prometheus","runc","vagrant"],"created_at":"2024-09-24T13:46:16.591Z","updated_at":"2025-10-04T02:58:03.286Z","avatar_url":"https://github.com/sysnet4admin.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커\n\u003ca href=\"https://product.kyobobook.co.kr/detail/S000001834629\"\u003e\n\u003cimg src=\"https://contents.kyobobook.co.kr/sih/fit-in/458x0/pdt/9791165215743.jpg\" width=\"400\"\u003e\n\u003c/a\u003e\n\n\u003e 🔔 **_알림1:_** VirtualBox 6.1.28 이후 버전에서는 Vagrant host-only network와 관련된 이슈과 맥과 리눅스에서 \n\u003e 발생합니다. 자세한 내용은 [다음의 문서](https://github.com/sysnet4admin/_Book_k8sInfra/blob/main/docs/%EC%8B%A4%EC%8A%B5%20%EC%9D%B4%EC%8A%88%231%20-%20VritualBox%20host-only%20Network(MAC%2CLinux).pdf)를 확인하시기 바랍니다.  \n\n\u003e 🔔 **_알림2:_** MetalLB의 [Docker 허브 저장소](https://hub.docker.com/u/metallb)가 더이상 사용되지 않게 됨으로서, quay.io로 변경하였습니다. \n\u003e 이에 MetalLB 관련한 문제가 생기시는 경우 현재 수정된 소스를 다시 내려받으시기 바랍니다. \n\n\u003e 🔔 **_알림3:_** MetalLB의 [쿠버네티스 인증서](https://kubernetes.io/docs/setup/best-practices/certificates/)의 기본값이 1년인 관계로 OVA의 경우 사용을 못하는 경우가 발생합니다.\n\u003e 이에 OVA를 10년으로 변경하였습니다. 그리고 만약 vagrant up으로 배포한 랩의 사용기간이 1년이 다 되어가는 경우 [인증서를 갱신](https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-certs/)하시기 바랍니다.  \n\n\u003e 🔔 **_알림4:_** 3장 도입부의 Docker 버전과 `signature key`간의 이슈가 해결되었습니다. 자세한 사항은 [다음](https://github.com/sysnet4admin/_Book_k8sInfra/issues/33#issuecomment-1890823571) 내용을 참고하세요  \n\n\u003e 🔔 **_알림5:_** 구글이 호스트하고 있던 쿠버네티스 저장소(Repository)가 종료됨에 따라 이를 제공하는 주소가 변경되었습니다. 자세한 사항은 [다음](https://www.inflearn.com/news/1198141) 내용을 참고하세요  \n\n\u003e 🔔 **_알림6:_** 도커허브에서 이미지를 내려받는 정책이 변경되었습니다. (기존 100/6H, 변경 10/1H). 그래서 CNI인 Calico를 quay.io에서 내려받도록 변경하였습니다. 자세한 사항은 [다음](https://inf.run/FD91H) 내용을 참고하세요  \n\n이 저장소는 [컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커](http://www.yes24.com/Product/Goods/102099414) 책에 실습을 위한 코드를 제공합니다.\n\n각 챕터별로 챕터에서 사용하는 스크립트 및 코드를 제공하고 있으며, 별도로 챕터에서 깊게 다루지 않는 부분은 [다른 저장소](https://github.com/iac-source)에서 다룹니다. 그리고 학습에 도움이 되실만한 문서를 디렉터리 [docs](https://github.com/sysnet4admin/_Book_k8sInfra/tree/main/docs)에 추가하였습니다. (2021.10.24)\n\n이 저장소에서 다루는 챕터에 따라 제공되는 스크립트는 아래와 같습니다.\n\n\n***\n\n## 제공되는 스크립트\n\u003ctable\u003e\n    \u003cthead\u003e\n        \u003ctr\u003e\n            \u003cth\u003e경로\u003c/th\u003e\n            \u003cth\u003e챕터 이름\u003c/th\u003e\n            \u003cth\u003e사용 목적 및 제공 스크립트\u003c/th\u003e\n        \u003c/tr\u003e\n    \u003c/thead\u003e\n    \u003ctbody\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://github.com/sysnet4admin/_Book_k8sInfra/tree/main/ch2\"\u003ech2\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e테스트 환경 구성하기\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://www.vagrantup.com/\"\u003e베이그런트\u003c/a\u003e를 이용해서 가상 테스트 환경을 자동으로 배포하기 위한 Vagrantfile과 프로비저닝 스크립트를 제공합니다.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://github.com/sysnet4admin/_Book_k8sInfra/tree/main/ch3\"\u003ech3\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e쿠버네티스로 알아보는 현대적인 인프라 환경\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kubernetes.io\"\u003e쿠버네티스\u003c/a\u003e의 다양한 오브젝트를 구성하기 위한 야믈 파일과 쿠버네티스를 실습하기 위한 가상환경 배포 파일, 동작 테스트를 위한 스크립트를 제공합니다.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://github.com/sysnet4admin/_Book_k8sInfra/tree/main/ch4\"\u003ech4\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e쿠버네티스를 이루는 컨테이너 도우미, 도커\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://docker.com\"\u003e도커\u003c/a\u003e의 일반적인 사용 방법, 도커 고급 기능을 사용하기 위한 가상환경 배포 파일 및 사설 \u003ca href=\"https://docs.docker.com/registry/\"\u003e도커 레지스트리\u003c/a\u003e를 구성하기 위한 스크립트를 제공합니다.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://github.com/sysnet4admin/_Book_k8sInfra/tree/main/ch5\"\u003ech5\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e지속적인 통합과 배포 자동화, 젠킨스\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://helm.sh\"\u003e헬름\u003c/a\u003e으로 쿠버네티스 환경에 \u003ca href=\"https://www.jenkins.io/\"\u003e젠킨스\u003c/a\u003e를 배포하고, CI/CD를 구현할 수 있는 스크립트를 제공합니다.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://github.com/sysnet4admin/_Book_k8sInfra/tree/main/ch6\"\u003ech6\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e안정적인 운영을 완성하는 모니터링, 프로메테우스와 그라파나\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://helm.sh\"\u003e헬름\u003c/a\u003e으로 쿠버네티스 환경에 \u003ca href=\"https://prometheus.io/\"\u003e프로메테우스\u003c/a\u003e와 \u003ca href=\"https://grafana.com/\"\u003e그라파나\u003c/a\u003e를 배포하고 모니터링할 수 있는 스크립트를 제공합니다.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd rowspan=\"4\"\u003e\u003ca href=\"https://github.com/sysnet4admin/_Book_k8sInfra/tree/main/app\"\u003eapp\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003eA. Kubectl을 더 쉽게 사용하기\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kubernetes.io/ko/docs/reference/kubectl/overview/\"\u003ekubectl\u003c/a\u003e을 쉽게 사용할 수 있도록 구성된 스크립트를 제공합니다.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eB. Kubespray로 쿠버네티스 자동 구성하기\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://github.com/kubernetes-sigs/kubespray\"\u003ekubespray\u003c/a\u003e를 통해 쿠버네티스 클러스터를 자동으로 구축하기 위한 스크립트를 제공합니다.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eC. 쿠버 대시보드 구성하기\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://github.com/kubernetes/dashboard\"\u003e쿠버네티스 대시보드\u003c/a\u003e를 배포하기 위한 스크립트를 제공합니다.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003eD. 컨테이너 깊게 들여다보기\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://github.com/opencontainers/runc\"\u003e컨테이너를 깊게\u003c/a\u003e 들여다보기 위한 스크립트를 제공합니다.\u003c/td\u003e\n    \u003c/tr\u003e\n   \u003c/tbody\u003e\n\u003c/table\u003e\n\n***\n\n## 저자\n- ✔️   [조 훈](https://github.com/sysnet4admin)\n- ✔️   [심근우](https://github.com/gnu-gnu)\n- ✔️   [문성주](https://github.com/seongjumoon)\n\n## 도서 구입 안내\n본 도서는 각 온오프라인 서점에서 만나보실 수 있습니다.\n- 📍  [YES24](https://bit.ly/3iq4L5W)\n- 📍  [알라딘](https://bit.ly/3cpo37M)\n- 📍  [교보문고](https://bit.ly/3g1dsC7)\n\n## 책에서 사용하는 프로그램 번들팩\n`VirtualBox 6.1.12`, `vagrant 2.2.9` \n- 🗄️  [윈도우 사용자](https://1drv.ms/f/s!AgCLAIU_47PVhVKg9aAmX87p_Zho)\n- 🗄️  [맥OS 사용자](https://1drv.ms/f/s!AgCLAIU_47PVhVHaQWjq29B8VVt4)\n\n## 🔔 베이그런트 설치로 너무 고생하시는 분들을 위한 이미지(OVA) 파일\n현재 책의 쿠버네티스 실습 랩을 Vagrant가 아닌 이미지로 바로 구성할 수 있도록 OVA 이미지를 제공합니다. \u003c/br\u003e\n다음의 두가지 이미지 번들 팩을 제공합니다. \n - [3.1.3](https://1drv.ms/f/s!AgCLAIU_47PVhU--Y8kbfIuABW9i)에 해당 하는 이미지\n - [4.3.4](https://1drv.ms/f/s!AgCLAIU_47PVhVAVyaX58v-QV44U)에 해당하는 이미지 \u003c/br\u003e\n\u003e 자세한 설정법에 관련한 영상은 아래에 [유용한 정보](#유용한-정보) 부분을 참고하시기 바랍니다.   \n\n## 유용한 정보\n-  📑  [Mac 및 Windows 사용자를 위한 터미널 프로그램인 타비(Tabby) 추천 및 설정법](https://youtu.be/4MhZxSS3Xm8)\n-  🎬  [`vagrant up` 실행 시에 발생하는 에러와 해결책 사례](https://www.inflearn.com/course/%EC%BF%A0%EB%B2%84%EB%84%A4%ED%8B%B0%EC%8A%A4-%EC%89%BD%EA%B2%8C%EC%8B%9C%EC%9E%91/lecture/72911?inst=cf657a9d)\n-  🎬  [테인트(Taints)와 톨러레이션(Tolerations) 설명 영상](https://www.inflearn.com/course/%EA%B7%B8%EB%A6%BC%EC%9C%BC%EB%A1%9C-%EB%B0%B0%EC%9A%B0%EB%8A%94-%EC%BF%A0%EB%B2%84%EB%84%A4%ED%8B%B0%EC%8A%A4/lecture/85683?inst=f3d96ed5)\n-  🎬  [멀티 컨텍스트 랩 환경 구성 on Ubuntu 설명 영상(10:15~)](https://www.inflearn.com/course/%EC%BF%A0%EB%B2%84%EB%84%A4%ED%8B%B0%EC%8A%A4-%EC%89%BD%EA%B2%8C%EC%8B%9C%EC%9E%91/lecture/73341?inst=cf657a9d)\n-  🎬  [쿠버네티스 v1.24에서 발생할 컨테이너 런타임의 변경에 관해서 (dockershim vs containerd)](https://www.inflearn.com/course/%EA%B7%B8%EB%A6%BC%EC%9C%BC%EB%A1%9C-%EB%B0%B0%EC%9A%B0%EB%8A%94-%EC%BF%A0%EB%B2%84%EB%84%A4%ED%8B%B0%EC%8A%A4/lecture/106937?inst=f3d96ed5)\n-  🎬  [쿠버네티스 실습 랩을 vagrant가 아닌 이미지로 바로 구성 설치하는 법](https://youtu.be/KxhSWf0ObEU)\n-  🎬  [슈퍼푸티 터미널을 생산성 있게 꾸미기](https://youtu.be/kv87ynbJlmk)\n\n## 관련 문서 \n-  📜 [왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요?](https://www.slideshare.net/JoHoon1/systemd-cgroup)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsysnet4admin%2F_book_k8sinfra","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsysnet4admin%2F_book_k8sinfra","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsysnet4admin%2F_book_k8sinfra/lists"}