SlideShare a Scribd company logo
1 of 16
Download to read offline
쿠버네티스 설치
vagrant v2
요약
 v1 차이점
▪ 컨테이너 런타임 변경
▪ 기존: docker
▪ 변경: containerd
▪ 설정파일 생성 스크립트 추가
▪ ansible playbook role 컴퍼넌트 통합
 언제 사용하면 될까?
▪ 테스트 목적으로 갑자기 새로운 쿠버네티스 환경이 필요한 경우!
▪ kubespray에 익숙하다면 kubespray 적극 권장
▪ 비용이 충분하다면 EKS 등 Manged 쿠버네티스 서비스 사용 추천 ㅜ.ㅜ
 설치구조
▪ vagrant로 인프라 구성
▪ ansible server
▪ control-plane
▪ worker
▪ 각 virtualbox는 centos7 운영체제 사용
▪ ansible로 쿠버네티스 클러스터 설치와 구성 자동화
▪ CNI: calico
▪ helm3 설치
▪ CRI는 containerd ① vagrant up
Virtualbox
ansible server
control-plane
worker1
worker2
worker ...
② ansible
playbook
kubernetes
cluster
설치
 준비
▪ 외부통신이 되는 환경
▪ vagrant 설치
▪ virtualbox 설치
▪ python3.6 이상
▪ 충분한 CPU와 메모리
▪ 권장 메모리: 32GB
▪ 권장 CPU: 4core 이상
 설정파일 생성
▪ 2가지 설정파일을 생성하는 스크립트 실행
▪ virtualbox 정보: IP, CPU, Memory, hostname 등
▪ ansible 인벤토리 파일
▪ 프로젝트 다운로드
▪ 파이썬 가상환경 설치와 파이썬 패키지 설치
# git clone https://github.com/choisungwook/vagrant_kubernetes.git
# cd vagrant_kubernetes/config
# virtualenv -m venv
# venvScriptActive
# pip install -r equirements.txt
 설정파일 생성
▪ 스크립트 실행
--bootstrapIP: ansible 서버IP
--controlPlanesIPS: controlplane 노드 IP
--workerIPS: worker 노드 IP
# python generate_config.py --bootstrapIP="192.168.25.220" --
controlPlaneIPS="192.168.25.221" --workerIPS="192.168.25.223,192.168.25.224"
▪ 파일생성 확인
▪ 프로젝트 root/config.yml
▪ 프로젝트 root/ansible_workspace/add_hosts.yaml
 쿠버네티스 설치
▪ vagrant 실행
# vagrant up
※ 약 10분 ~20분 소요(컴퓨터 사양에 따라 상이)
※ 쿠버네티스 설치(최신 버전)와 클러스터 구성
※ CNI는 calico 최신버전
※ CRI는 containered를 사용하고 CLI는 crictl사용
 쿠버네티스 설치
▪ 쿠버네티스 설치와 클러스터 상태 확인
# ssh vagrant@[control-plane IP]
# sudo su
# kubectl get no ; 모든 노드 Ready 확인
# kubectl get po -A ; 모든 pod running상태 확인
# helm ; helm 설치 확인
운영
 쿠버네티스 운영
▪ 테스트 목적이라면 vagrant 명령어로 제어하는 것보다 직접 virtualbox로 직접 제어하는 것이 편리
▪ 원하는 virtualbox을 복수선택하고 오른쪽버튼 클릭 후 상태 제어
①
②
① 일시정지
② 정지
 쿠버네티스 운영
▪ virtualbox를 일시중지하고 다시 시작하는 것보다 완전히 끄고 다시 시작하는 것을 권장
▪ 원인은 못밝혔으나(아마도 시간동기화?) 일시정지하고 오랜 시간이 지난 후에 실행하면 쿠버네티스 클러스터 동작 X
▪ virtualbox를 group으로 묶어서 관리하는 것을 추천
참고자료
 참고자료
▪ flaticon
▪ https://www.flaticon.com/authors/phatplus
▪ https://www.flaticon.com/authors/freepik
▪ hashicorp icon kit: https://www.hashicorp.com/brand
▪ virtualbox icon: https://en.wikipedia.org/wiki/VirtualBox#/media/File:Virtualbox_logo.png

More Related Content

What's hot

[네이버클라우드플랫폼 온라인 교육 시리즈] 네이버클라우드플랫폼 쿠버네티스 소개(정낙수 클라우드 솔루션 아키텍트)
[네이버클라우드플랫폼 온라인 교육 시리즈] 네이버클라우드플랫폼 쿠버네티스 소개(정낙수 클라우드 솔루션 아키텍트)[네이버클라우드플랫폼 온라인 교육 시리즈] 네이버클라우드플랫폼 쿠버네티스 소개(정낙수 클라우드 솔루션 아키텍트)
[네이버클라우드플랫폼 온라인 교육 시리즈] 네이버클라우드플랫폼 쿠버네티스 소개(정낙수 클라우드 솔루션 아키텍트)NAVER CLOUD PLATFORMㅣ네이버 클라우드 플랫폼
 
쿠버네티스의 이해 #2
쿠버네티스의 이해 #2쿠버네티스의 이해 #2
쿠버네티스의 이해 #2상욱 송
 
클라우드 서비스운영 플랫폼 가루다 Open cloudengine_패스트캣_cto 송상욱
클라우드 서비스운영 플랫폼 가루다 Open cloudengine_패스트캣_cto 송상욱클라우드 서비스운영 플랫폼 가루다 Open cloudengine_패스트캣_cto 송상욱
클라우드 서비스운영 플랫폼 가루다 Open cloudengine_패스트캣_cto 송상욱uEngine Solutions
 
쿠버네티스 ( Kubernetes ) 소개 자료
쿠버네티스 ( Kubernetes ) 소개 자료쿠버네티스 ( Kubernetes ) 소개 자료
쿠버네티스 ( Kubernetes ) 소개 자료Opennaru, inc.
 
[OpenInfra Days Korea 2018] Day 2 - E5: Mesos to Kubernetes, Cloud Native 서비스...
[OpenInfra Days Korea 2018] Day 2 - E5: Mesos to Kubernetes, Cloud Native 서비스...[OpenInfra Days Korea 2018] Day 2 - E5: Mesos to Kubernetes, Cloud Native 서비스...
[OpenInfra Days Korea 2018] Day 2 - E5: Mesos to Kubernetes, Cloud Native 서비스...OpenStack Korea Community
 
클라우드의 대세 쿠버네티스란 무엇인가?(윤성훈 클라우드 솔루션 아키텍트) - Webinar
클라우드의 대세 쿠버네티스란 무엇인가?(윤성훈 클라우드 솔루션 아키텍트) - Webinar클라우드의 대세 쿠버네티스란 무엇인가?(윤성훈 클라우드 솔루션 아키텍트) - Webinar
클라우드의 대세 쿠버네티스란 무엇인가?(윤성훈 클라우드 솔루션 아키텍트) - WebinarNAVER CLOUD PLATFORMㅣ네이버 클라우드 플랫폼
 
Devfair kubernetes 101
Devfair kubernetes 101Devfair kubernetes 101
Devfair kubernetes 101Daegwon Kim
 
An overview of kubernetes & (very) simple live demo
An overview of kubernetes & (very) simple live demoAn overview of kubernetes & (very) simple live demo
An overview of kubernetes & (very) simple live demoGwan-Taek Lee
 
[네이버클라우드플랫폼 온라인 교육 시리즈] 네이버클라우드플랫폼 CLI 소개 및 활용
[네이버클라우드플랫폼 온라인 교육 시리즈] 네이버클라우드플랫폼 CLI 소개 및 활용[네이버클라우드플랫폼 온라인 교육 시리즈] 네이버클라우드플랫폼 CLI 소개 및 활용
[네이버클라우드플랫폼 온라인 교육 시리즈] 네이버클라우드플랫폼 CLI 소개 및 활용NAVER CLOUD PLATFORMㅣ네이버 클라우드 플랫폼
 
Mesos + Marathon + Docker
Mesos + Marathon + DockerMesos + Marathon + Docker
Mesos + Marathon + Dockerbighouse
 
Prometheus in openstack-helm
Prometheus in openstack-helmPrometheus in openstack-helm
Prometheus in openstack-helm성일 임
 
Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안
Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안
Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안Opennaru, inc.
 
[221] docker orchestration
[221] docker orchestration[221] docker orchestration
[221] docker orchestrationNAVER D2
 
[NDC17] Kubernetes로 개발서버 간단히 찍어내기
[NDC17] Kubernetes로 개발서버 간단히 찍어내기[NDC17] Kubernetes로 개발서버 간단히 찍어내기
[NDC17] Kubernetes로 개발서버 간단히 찍어내기SeungYong Oh
 
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
제2회 난공불락 오픈소스 인프라 세미나 KubernetesTommy Lee
 
카카오에서의 Trove 운영사례
카카오에서의 Trove 운영사례카카오에서의 Trove 운영사례
카카오에서의 Trove 운영사례Won-Chon Jung
 
GitLab과 Kubernetes를 통한 CI/CD 구축
GitLab과 Kubernetes를 통한 CI/CD 구축GitLab과 Kubernetes를 통한 CI/CD 구축
GitLab과 Kubernetes를 통한 CI/CD 구축철구 김
 
쿠버네티스의 이해 #1
쿠버네티스의 이해 #1쿠버네티스의 이해 #1
쿠버네티스의 이해 #1상욱 송
 
Source To URL Without Dockerfile
Source To URL Without DockerfileSource To URL Without Dockerfile
Source To URL Without DockerfileWon-Chon Jung
 

What's hot (20)

[네이버클라우드플랫폼 온라인 교육 시리즈] 네이버클라우드플랫폼 쿠버네티스 소개(정낙수 클라우드 솔루션 아키텍트)
[네이버클라우드플랫폼 온라인 교육 시리즈] 네이버클라우드플랫폼 쿠버네티스 소개(정낙수 클라우드 솔루션 아키텍트)[네이버클라우드플랫폼 온라인 교육 시리즈] 네이버클라우드플랫폼 쿠버네티스 소개(정낙수 클라우드 솔루션 아키텍트)
[네이버클라우드플랫폼 온라인 교육 시리즈] 네이버클라우드플랫폼 쿠버네티스 소개(정낙수 클라우드 솔루션 아키텍트)
 
쿠버네티스의 이해 #2
쿠버네티스의 이해 #2쿠버네티스의 이해 #2
쿠버네티스의 이해 #2
 
클라우드 서비스운영 플랫폼 가루다 Open cloudengine_패스트캣_cto 송상욱
클라우드 서비스운영 플랫폼 가루다 Open cloudengine_패스트캣_cto 송상욱클라우드 서비스운영 플랫폼 가루다 Open cloudengine_패스트캣_cto 송상욱
클라우드 서비스운영 플랫폼 가루다 Open cloudengine_패스트캣_cto 송상욱
 
쿠버네티스 ( Kubernetes ) 소개 자료
쿠버네티스 ( Kubernetes ) 소개 자료쿠버네티스 ( Kubernetes ) 소개 자료
쿠버네티스 ( Kubernetes ) 소개 자료
 
[OpenInfra Days Korea 2018] Day 2 - E5: Mesos to Kubernetes, Cloud Native 서비스...
[OpenInfra Days Korea 2018] Day 2 - E5: Mesos to Kubernetes, Cloud Native 서비스...[OpenInfra Days Korea 2018] Day 2 - E5: Mesos to Kubernetes, Cloud Native 서비스...
[OpenInfra Days Korea 2018] Day 2 - E5: Mesos to Kubernetes, Cloud Native 서비스...
 
클라우드의 대세 쿠버네티스란 무엇인가?(윤성훈 클라우드 솔루션 아키텍트) - Webinar
클라우드의 대세 쿠버네티스란 무엇인가?(윤성훈 클라우드 솔루션 아키텍트) - Webinar클라우드의 대세 쿠버네티스란 무엇인가?(윤성훈 클라우드 솔루션 아키텍트) - Webinar
클라우드의 대세 쿠버네티스란 무엇인가?(윤성훈 클라우드 솔루션 아키텍트) - Webinar
 
Devfair kubernetes 101
Devfair kubernetes 101Devfair kubernetes 101
Devfair kubernetes 101
 
An overview of kubernetes & (very) simple live demo
An overview of kubernetes & (very) simple live demoAn overview of kubernetes & (very) simple live demo
An overview of kubernetes & (very) simple live demo
 
[네이버클라우드플랫폼 온라인 교육 시리즈] 네이버클라우드플랫폼 CLI 소개 및 활용
[네이버클라우드플랫폼 온라인 교육 시리즈] 네이버클라우드플랫폼 CLI 소개 및 활용[네이버클라우드플랫폼 온라인 교육 시리즈] 네이버클라우드플랫폼 CLI 소개 및 활용
[네이버클라우드플랫폼 온라인 교육 시리즈] 네이버클라우드플랫폼 CLI 소개 및 활용
 
Mesos + Marathon + Docker
Mesos + Marathon + DockerMesos + Marathon + Docker
Mesos + Marathon + Docker
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
Prometheus in openstack-helm
Prometheus in openstack-helmPrometheus in openstack-helm
Prometheus in openstack-helm
 
Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안
Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안
Final 07.컨테이너 환경에서 모니터링 이슈와 해결 방안
 
[221] docker orchestration
[221] docker orchestration[221] docker orchestration
[221] docker orchestration
 
[NDC17] Kubernetes로 개발서버 간단히 찍어내기
[NDC17] Kubernetes로 개발서버 간단히 찍어내기[NDC17] Kubernetes로 개발서버 간단히 찍어내기
[NDC17] Kubernetes로 개발서버 간단히 찍어내기
 
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
 
카카오에서의 Trove 운영사례
카카오에서의 Trove 운영사례카카오에서의 Trove 운영사례
카카오에서의 Trove 운영사례
 
GitLab과 Kubernetes를 통한 CI/CD 구축
GitLab과 Kubernetes를 통한 CI/CD 구축GitLab과 Kubernetes를 통한 CI/CD 구축
GitLab과 Kubernetes를 통한 CI/CD 구축
 
쿠버네티스의 이해 #1
쿠버네티스의 이해 #1쿠버네티스의 이해 #1
쿠버네티스의 이해 #1
 
Source To URL Without Dockerfile
Source To URL Without DockerfileSource To URL Without Dockerfile
Source To URL Without Dockerfile
 

Similar to cbhoilab vagrant와 ansible 쿠버네티스 설치 v2

onpremise환경에서 kubespray설치
onpremise환경에서 kubespray설치onpremise환경에서 kubespray설치
onpremise환경에서 kubespray설치choi sungwook
 
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축Ji-Woong Choi
 
Deploying Hyperledger Fabric on Kubernetes.pptx
Deploying Hyperledger Fabric on Kubernetes.pptxDeploying Hyperledger Fabric on Kubernetes.pptx
Deploying Hyperledger Fabric on Kubernetes.pptxwonyong hwang
 
Kubernetes on Premise Practical Guide
Kubernetes on Premise Practical GuideKubernetes on Premise Practical Guide
Kubernetes on Premise Practical GuideChan Shik Lim
 
F5 container ingress_service_in_kuernetes_with_calico_cni_by_duck_in_korea
F5 container ingress_service_in_kuernetes_with_calico_cni_by_duck_in_koreaF5 container ingress_service_in_kuernetes_with_calico_cni_by_duck_in_korea
F5 container ingress_service_in_kuernetes_with_calico_cni_by_duck_in_koreaInfraEngineer
 
세션3_데보션테크데이_gitopsinfra_v1.1.pdf
세션3_데보션테크데이_gitopsinfra_v1.1.pdf세션3_데보션테크데이_gitopsinfra_v1.1.pdf
세션3_데보션테크데이_gitopsinfra_v1.1.pdfJaesuk Ahn
 
vagrant로 간단한 vm생성
vagrant로 간단한 vm생성vagrant로 간단한 vm생성
vagrant로 간단한 vm생성choi sungwook
 
리눅스 커널 디버거 KGDB/KDB
리눅스 커널 디버거 KGDB/KDB리눅스 커널 디버거 KGDB/KDB
리눅스 커널 디버거 KGDB/KDBManjong Han
 
Docker로 서버 개발 편하게 하기
Docker로 서버 개발 편하게 하기Docker로 서버 개발 편하게 하기
Docker로 서버 개발 편하게 하기Dronix
 
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 DockerXECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 DockerXpressEngine
 
Ch7,8. Configmaps, Secrets and API
Ch7,8. Configmaps, Secrets and APICh7,8. Configmaps, Secrets and API
Ch7,8. Configmaps, Secrets and APIHongmin Park
 
BRK3738 - Azure Container Instance로 시작하는 간편한 서버리스 컨테이너 개발
BRK3738 - Azure Container Instance로 시작하는 간편한 서버리스 컨테이너 개발BRK3738 - Azure Container Instance로 시작하는 간편한 서버리스 컨테이너 개발
BRK3738 - Azure Container Instance로 시작하는 간편한 서버리스 컨테이너 개발Jung Hyun Nam
 
쿠버네티스 오픈 소스와 클라우드 매니지드 서비스 접점 소개
쿠버네티스 오픈 소스와 클라우드 매니지드 서비스 접점 소개쿠버네티스 오픈 소스와 클라우드 매니지드 서비스 접점 소개
쿠버네티스 오픈 소스와 클라우드 매니지드 서비스 접점 소개Ian Choi
 
Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기
Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기
Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기Jongwon Han
 
[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래NAVER D2
 

Similar to cbhoilab vagrant와 ansible 쿠버네티스 설치 v2 (20)

onpremise환경에서 kubespray설치
onpremise환경에서 kubespray설치onpremise환경에서 kubespray설치
onpremise환경에서 kubespray설치
 
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
 
Deploying Hyperledger Fabric on Kubernetes.pptx
Deploying Hyperledger Fabric on Kubernetes.pptxDeploying Hyperledger Fabric on Kubernetes.pptx
Deploying Hyperledger Fabric on Kubernetes.pptx
 
Kubernetes on Premise Practical Guide
Kubernetes on Premise Practical GuideKubernetes on Premise Practical Guide
Kubernetes on Premise Practical Guide
 
F5 container ingress_service_in_kuernetes_with_calico_cni_by_duck_in_korea
F5 container ingress_service_in_kuernetes_with_calico_cni_by_duck_in_koreaF5 container ingress_service_in_kuernetes_with_calico_cni_by_duck_in_korea
F5 container ingress_service_in_kuernetes_with_calico_cni_by_duck_in_korea
 
jbug-vagrant
jbug-vagrantjbug-vagrant
jbug-vagrant
 
K8s in action02
K8s in action02K8s in action02
K8s in action02
 
세션3_데보션테크데이_gitopsinfra_v1.1.pdf
세션3_데보션테크데이_gitopsinfra_v1.1.pdf세션3_데보션테크데이_gitopsinfra_v1.1.pdf
세션3_데보션테크데이_gitopsinfra_v1.1.pdf
 
vagrant로 간단한 vm생성
vagrant로 간단한 vm생성vagrant로 간단한 vm생성
vagrant로 간단한 vm생성
 
리눅스 커널 디버거 KGDB/KDB
리눅스 커널 디버거 KGDB/KDB리눅스 커널 디버거 KGDB/KDB
리눅스 커널 디버거 KGDB/KDB
 
Docker로 서버 개발 편하게 하기
Docker로 서버 개발 편하게 하기Docker로 서버 개발 편하게 하기
Docker로 서버 개발 편하게 하기
 
Kafka slideshare
Kafka   slideshareKafka   slideshare
Kafka slideshare
 
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 DockerXECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
 
AWS + Docker in Vingle
AWS + Docker in VingleAWS + Docker in Vingle
AWS + Docker in Vingle
 
[온라인교육시리즈] NKS에서 Cluster & Pods Autoscaling 적용
[온라인교육시리즈] NKS에서 Cluster & Pods Autoscaling 적용[온라인교육시리즈] NKS에서 Cluster & Pods Autoscaling 적용
[온라인교육시리즈] NKS에서 Cluster & Pods Autoscaling 적용
 
Ch7,8. Configmaps, Secrets and API
Ch7,8. Configmaps, Secrets and APICh7,8. Configmaps, Secrets and API
Ch7,8. Configmaps, Secrets and API
 
BRK3738 - Azure Container Instance로 시작하는 간편한 서버리스 컨테이너 개발
BRK3738 - Azure Container Instance로 시작하는 간편한 서버리스 컨테이너 개발BRK3738 - Azure Container Instance로 시작하는 간편한 서버리스 컨테이너 개발
BRK3738 - Azure Container Instance로 시작하는 간편한 서버리스 컨테이너 개발
 
쿠버네티스 오픈 소스와 클라우드 매니지드 서비스 접점 소개
쿠버네티스 오픈 소스와 클라우드 매니지드 서비스 접점 소개쿠버네티스 오픈 소스와 클라우드 매니지드 서비스 접점 소개
쿠버네티스 오픈 소스와 클라우드 매니지드 서비스 접점 소개
 
Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기
Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기
Daily Continuous Deployment를 위한 Custom CLI 개발 및
 AWS Elastic Beanstalk에 적용하기
 
[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래
 

More from choi sungwook

테라폼스터디5주차 1편
테라폼스터디5주차 1편테라폼스터디5주차 1편
테라폼스터디5주차 1편choi sungwook
 
컨테이너와 도커 이해
컨테이너와 도커 이해컨테이너와 도커 이해
컨테이너와 도커 이해choi sungwook
 
kustomize 빠르게 시작하기
kustomize 빠르게 시작하기kustomize 빠르게 시작하기
kustomize 빠르게 시작하기choi sungwook
 
entrypoint 오버라이딩
entrypoint 오버라이딩entrypoint 오버라이딩
entrypoint 오버라이딩choi sungwook
 
System Manager를 이용한 EC2 원격쉘 접속
System Manager를 이용한 EC2 원격쉘 접속System Manager를 이용한 EC2 원격쉘 접속
System Manager를 이용한 EC2 원격쉘 접속choi sungwook
 
nginx 입문 공부자료
nginx 입문 공부자료nginx 입문 공부자료
nginx 입문 공부자료choi sungwook
 
nginx 504 timeout오류 해결
nginx 504 timeout오류 해결nginx 504 timeout오류 해결
nginx 504 timeout오류 해결choi sungwook
 
AWS 다른계정 리소스 사용방법
AWS 다른계정 리소스 사용방법AWS 다른계정 리소스 사용방법
AWS 다른계정 리소스 사용방법choi sungwook
 
Dockerfile과 도커 이미지 레이어 관계
Dockerfile과 도커 이미지 레이어 관계Dockerfile과 도커 이미지 레이어 관계
Dockerfile과 도커 이미지 레이어 관계choi sungwook
 
도커 이미지 레이어 구조
도커 이미지 레이어 구조도커 이미지 레이어 구조
도커 이미지 레이어 구조choi sungwook
 
Prometheus 원리와 예제
Prometheus 원리와 예제Prometheus 원리와 예제
Prometheus 원리와 예제choi sungwook
 
쿠버네티스 멀티 클러스터 관리
쿠버네티스 멀티 클러스터 관리쿠버네티스 멀티 클러스터 관리
쿠버네티스 멀티 클러스터 관리choi sungwook
 
스프링부트 JPA와 mariadb 도커 컨테이너 연동
스프링부트 JPA와 mariadb 도커 컨테이너 연동스프링부트 JPA와 mariadb 도커 컨테이너 연동
스프링부트 JPA와 mariadb 도커 컨테이너 연동choi sungwook
 
윈도우에서 도커 설치
윈도우에서 도커 설치윈도우에서 도커 설치
윈도우에서 도커 설치choi sungwook
 
[개인 프로젝트] 쿠버네티스를 이용한 개발환경 자동화 구축시스템 - 프로토타입
[개인 프로젝트] 쿠버네티스를 이용한 개발환경 자동화 구축시스템 - 프로토타입[개인 프로젝트] 쿠버네티스를 이용한 개발환경 자동화 구축시스템 - 프로토타입
[개인 프로젝트] 쿠버네티스를 이용한 개발환경 자동화 구축시스템 - 프로토타입choi sungwook
 

More from choi sungwook (20)

테라폼스터디5주차 1편
테라폼스터디5주차 1편테라폼스터디5주차 1편
테라폼스터디5주차 1편
 
컨테이너와 도커 이해
컨테이너와 도커 이해컨테이너와 도커 이해
컨테이너와 도커 이해
 
kustomize 빠르게 시작하기
kustomize 빠르게 시작하기kustomize 빠르게 시작하기
kustomize 빠르게 시작하기
 
entrypoint 오버라이딩
entrypoint 오버라이딩entrypoint 오버라이딩
entrypoint 오버라이딩
 
젠킨스 컨셉
젠킨스 컨셉젠킨스 컨셉
젠킨스 컨셉
 
System Manager를 이용한 EC2 원격쉘 접속
System Manager를 이용한 EC2 원격쉘 접속System Manager를 이용한 EC2 원격쉘 접속
System Manager를 이용한 EC2 원격쉘 접속
 
aws profile관리
aws profile관리aws profile관리
aws profile관리
 
nginx 입문 공부자료
nginx 입문 공부자료nginx 입문 공부자료
nginx 입문 공부자료
 
nginx 504 timeout오류 해결
nginx 504 timeout오류 해결nginx 504 timeout오류 해결
nginx 504 timeout오류 해결
 
AWS 다른계정 리소스 사용방법
AWS 다른계정 리소스 사용방법AWS 다른계정 리소스 사용방법
AWS 다른계정 리소스 사용방법
 
docker build cache
docker build cachedocker build cache
docker build cache
 
Dockerfile과 도커 이미지 레이어 관계
Dockerfile과 도커 이미지 레이어 관계Dockerfile과 도커 이미지 레이어 관계
Dockerfile과 도커 이미지 레이어 관계
 
도커 이미지 레이어 구조
도커 이미지 레이어 구조도커 이미지 레이어 구조
도커 이미지 레이어 구조
 
helm 입문
helm 입문helm 입문
helm 입문
 
Prometheus 원리와 예제
Prometheus 원리와 예제Prometheus 원리와 예제
Prometheus 원리와 예제
 
쿠버네티스 멀티 클러스터 관리
쿠버네티스 멀티 클러스터 관리쿠버네티스 멀티 클러스터 관리
쿠버네티스 멀티 클러스터 관리
 
EC2 기타비용
EC2 기타비용EC2 기타비용
EC2 기타비용
 
스프링부트 JPA와 mariadb 도커 컨테이너 연동
스프링부트 JPA와 mariadb 도커 컨테이너 연동스프링부트 JPA와 mariadb 도커 컨테이너 연동
스프링부트 JPA와 mariadb 도커 컨테이너 연동
 
윈도우에서 도커 설치
윈도우에서 도커 설치윈도우에서 도커 설치
윈도우에서 도커 설치
 
[개인 프로젝트] 쿠버네티스를 이용한 개발환경 자동화 구축시스템 - 프로토타입
[개인 프로젝트] 쿠버네티스를 이용한 개발환경 자동화 구축시스템 - 프로토타입[개인 프로젝트] 쿠버네티스를 이용한 개발환경 자동화 구축시스템 - 프로토타입
[개인 프로젝트] 쿠버네티스를 이용한 개발환경 자동화 구축시스템 - 프로토타입
 

cbhoilab vagrant와 ansible 쿠버네티스 설치 v2

  • 3.  v1 차이점 ▪ 컨테이너 런타임 변경 ▪ 기존: docker ▪ 변경: containerd ▪ 설정파일 생성 스크립트 추가 ▪ ansible playbook role 컴퍼넌트 통합
  • 4.  언제 사용하면 될까? ▪ 테스트 목적으로 갑자기 새로운 쿠버네티스 환경이 필요한 경우! ▪ kubespray에 익숙하다면 kubespray 적극 권장 ▪ 비용이 충분하다면 EKS 등 Manged 쿠버네티스 서비스 사용 추천 ㅜ.ㅜ
  • 5.  설치구조 ▪ vagrant로 인프라 구성 ▪ ansible server ▪ control-plane ▪ worker ▪ 각 virtualbox는 centos7 운영체제 사용 ▪ ansible로 쿠버네티스 클러스터 설치와 구성 자동화 ▪ CNI: calico ▪ helm3 설치 ▪ CRI는 containerd ① vagrant up Virtualbox ansible server control-plane worker1 worker2 worker ... ② ansible playbook kubernetes cluster
  • 7.  준비 ▪ 외부통신이 되는 환경 ▪ vagrant 설치 ▪ virtualbox 설치 ▪ python3.6 이상 ▪ 충분한 CPU와 메모리 ▪ 권장 메모리: 32GB ▪ 권장 CPU: 4core 이상
  • 8.  설정파일 생성 ▪ 2가지 설정파일을 생성하는 스크립트 실행 ▪ virtualbox 정보: IP, CPU, Memory, hostname 등 ▪ ansible 인벤토리 파일 ▪ 프로젝트 다운로드 ▪ 파이썬 가상환경 설치와 파이썬 패키지 설치 # git clone https://github.com/choisungwook/vagrant_kubernetes.git # cd vagrant_kubernetes/config # virtualenv -m venv # venvScriptActive # pip install -r equirements.txt
  • 9.  설정파일 생성 ▪ 스크립트 실행 --bootstrapIP: ansible 서버IP --controlPlanesIPS: controlplane 노드 IP --workerIPS: worker 노드 IP # python generate_config.py --bootstrapIP="192.168.25.220" -- controlPlaneIPS="192.168.25.221" --workerIPS="192.168.25.223,192.168.25.224" ▪ 파일생성 확인 ▪ 프로젝트 root/config.yml ▪ 프로젝트 root/ansible_workspace/add_hosts.yaml
  • 10.  쿠버네티스 설치 ▪ vagrant 실행 # vagrant up ※ 약 10분 ~20분 소요(컴퓨터 사양에 따라 상이) ※ 쿠버네티스 설치(최신 버전)와 클러스터 구성 ※ CNI는 calico 최신버전 ※ CRI는 containered를 사용하고 CLI는 crictl사용
  • 11.  쿠버네티스 설치 ▪ 쿠버네티스 설치와 클러스터 상태 확인 # ssh vagrant@[control-plane IP] # sudo su # kubectl get no ; 모든 노드 Ready 확인 # kubectl get po -A ; 모든 pod running상태 확인 # helm ; helm 설치 확인
  • 13.  쿠버네티스 운영 ▪ 테스트 목적이라면 vagrant 명령어로 제어하는 것보다 직접 virtualbox로 직접 제어하는 것이 편리 ▪ 원하는 virtualbox을 복수선택하고 오른쪽버튼 클릭 후 상태 제어 ① ② ① 일시정지 ② 정지
  • 14.  쿠버네티스 운영 ▪ virtualbox를 일시중지하고 다시 시작하는 것보다 완전히 끄고 다시 시작하는 것을 권장 ▪ 원인은 못밝혔으나(아마도 시간동기화?) 일시정지하고 오랜 시간이 지난 후에 실행하면 쿠버네티스 클러스터 동작 X ▪ virtualbox를 group으로 묶어서 관리하는 것을 추천
  • 16.  참고자료 ▪ flaticon ▪ https://www.flaticon.com/authors/phatplus ▪ https://www.flaticon.com/authors/freepik ▪ hashicorp icon kit: https://www.hashicorp.com/brand ▪ virtualbox icon: https://en.wikipedia.org/wiki/VirtualBox#/media/File:Virtualbox_logo.png