AWS 기반
Docker, Kubernetes
권정빈
datamaker@urbanbase.com
Urbanbase Inc.
목차
1. Docker
- 컨테이너 이해
- 설치
- Run
- 정리
- exec
- build
- Dockerfile
3. S3 + kube-registry
- 설치(.yaml)
- Secrets (TLS 인증서 let's
encrypt)
2. kubernetes
- 컨셉
- 설치
- kube-up
- kops
- rolling-update
- Workloads
- Deployments
- ReplicationController
- Pods
- Service
1. Docker
- 컨테이너 이해
출처:http://blog.skhynix.com/1317
1. Docker
- 설치
curl -s https://get.docker.com/ | sudo sh
끝!!
1. Docker
- Run
docker run -d --name wekan-db mongo:3.4.3
docker run -d --name wekan --link "wekan-db:db" -e "MONGO_URL=mongodb://db" -e
"ROOT_URL=http://localhost:8080" -p 8080:80 wekanteam/wekan:meteor-1.4
1. Docker
- 정리
docker kill $(docker ps -q)
docker rm $(docker ps -a -q)
docker rmi -f $(docker images -q)
docker ps -a
1. Docker
- Exec
docker ps
docker exec -it c10c3f5b74f9 /bin/bash
1. Docker
- Build
docker pull ubuntu
Docoker build –t urbanbase-main:v1 .
docker tag urbanbase-main registry.urbanbase.com:****/
urbanbase-main
docker push registry.urbanbase.com:****/urbanbase-main
1. Docker
FROM phusion/passenger-nodejs:latest
MAINTAINER datamaker <datamaker@urbanbase.com>
COPY dockerTest.conf /etc/nginx/sites-enabled/dockerTest.conf
COPY ./bundle /home/app/dockerTest/bundle
RUN 
rm -f /etc/service/nginx/down && 
rm -f /etc/nginx/sites-enabled/default && 
cd /home/app/dockerTest/bundle/programs/server && npm install && 
chown app:app --recursive /home/app/dockerTest/
CMD ["/sbin/my_init"]
2. kubernetes
- 컨셉
출처 : http://blog.arungupta.me/key-concepts-kubernetes/
AWS 기반 Docker, Kubernetes
2. kubernetes
- 설치 / kube-up
# 설치
aws configure --profile user2
export KUBERNETES_PROVIDER=aws; wget –q –O – https://get.k8s.io | bash
# 환경변수
export AWS_DEFAULT_PROFILE=user2
export KUBE_AWS_ZONE=ap-northeast-2a
export MASTER_SIZE=t2.medium
export NODE_SIZE=t2.small
export NUM_NODES=1
export AWS_S3_REGION=ap-northeast-2
export AWS_S3_BUCKET=kubernetes-ub
export KUBE_AWS_INSTANCE_PREFIX=k15s
export AWS_ACCESS_KEY_ID=****************************
export AWS_SECRET_ACCESS_KEY=****************************
export PATH=/home/ec2-user/kubernetes/platforms/linux/amd64:$PATH
export VPC_ID=vpc-f5678c9c
V1.5.5 까지 지원하고 v1.6부터 aws는 지원 안함
2. kubernetes
- 설치 / kops
## kubectl 다운로드 및 설치
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
## kops 다운로드 및 설치
curl -LO https://github.com/kubernetes/kops/releases/download/1.5.3/kops-linux-amd64
chmod +x kops-linux-amd64
sudo mv kops-linux-amd64 /usr/local/bin/kops
# Because "aws configure" doesn't export these vars for kops to use, we export them now
export AWS_ACCESS_KEY_ID=******************************
export AWS_SECRET_ACCESS_KEY=********************************
-계속-
2. kubernetes
## Cluster State storage
aws s3api create-bucket --bucket kops-urbanbase --region ap-northeast-2
aws s3api create-bucket --bucket kops-urbanbase --region us-east-1
aws s3api put-bucket-versioning --bucket kops-urbanbase --versioning-configuration Status=Enabled
# 이름 및 s3 설정
export NAME=kops.urbanbase.com
export KOPS_STATE_STORE=s3://kops-urbanbase
export VPC_ID=vpc-a6618acf
export NETWORK_CIDR=10.10.0.0/16
# s3 설정 파일 생성
kops create cluster 
--zones ap-northeast-2a 
--node-size t2.medium 
--master-size t2.medium 
--vpc=${VPC_ID} 
${NAME} -계속-
2. kubernetes
# 클러스터 설정 파일 수정
kops edit cluster ${NAME}
# 클러스터 설치
kops update cluster ${NAME} --yes
# 정상적으로 설치 되었는지 검사
kubectl get nodes
kops validate cluster
kubectl -n kube-system get po
# 대쉬보드 설치
kubectl create -f https://raw.githubusercontent.com/kubernetes/kops/master/addons/kubernetes-dashboard/v1.5.0.yaml
-계속-
2. kubernetes
# Monitoring with Heapster - Standalone
kubectl create -f https://raw.githubusercontent.com/kubernetes/kops/master/addons/monitoring-standalone/v1.2.0.yaml
# Route53 Mapper
kubectl apply -f https://raw.githubusercontent.com/kubernetes/kops/master/addons/route53-mapper/v1.2.0.yml
# 클러스터 삭제
kops delete cluster ${NAME} --yes
2. kubernetes
- rolling-update
Kubectl create –f urbanbase-main-rc.yaml
Kubectl create –f urbanbase-main-svc.yaml
kubectl rolling-update urbanbase-main-v2 -f urbanbase-main-
rc.yaml
2. kubernetes
- Workloads
- Deployments
- ReplicationController
- Pods
- Service
3. S3 + kube-registry
- 설치
Kubectl create –f registry-controller.yaml
Kubectl create –f registry-service.yaml
3. S3 + kube-registry
Secrets (TLS 인증서 let's encrypt)
# 인증서 시크릿 생성
kubectl --namespace=kube-system create secret generic
registry-tls-secret --from-file=domain.crt=fullchain1.pem --
from-file=domain.key=privkey1.pem

More Related Content

PDF
Fun with containers: Use Ansible to build Docker images
PDF
CoreOS : 설치부터 컨테이너 배포까지
PDF
Automatic docker service announcement with registrator and confd
PDF
Docker orchestration using core os and ansible - Ansible IL 2015
PDF
Launching containers with fleet
PPTX
Couch to OpenStack: Glance - July, 23, 2013
PDF
CoreOSによるDockerコンテナのクラスタリング
PDF
Chef introduction
Fun with containers: Use Ansible to build Docker images
CoreOS : 설치부터 컨테이너 배포까지
Automatic docker service announcement with registrator and confd
Docker orchestration using core os and ansible - Ansible IL 2015
Launching containers with fleet
Couch to OpenStack: Glance - July, 23, 2013
CoreOSによるDockerコンテナのクラスタリング
Chef introduction

What's hot (20)

PDF
Docker up and running
PDF
CoreOS: Control Your Fleet
PDF
AWS ECSを用いてbatchを動かそう
PPTX
Basics of Ansible - Sahil Davawala
PDF
Very Early Review - Rocket(CoreOS)
PPTX
How to manage Microsoft Azure with open source
PDF
使用 CLI 管理 OpenStack 平台
PPTX
Docker container management
PDF
이미지 기반의 배포 패러다임 Immutable infrastructure
PDF
Getting instantly up and running with Docker and Symfony
PDF
Build your own private openstack cloud
PDF
Docker 基本概念與指令操作
PPTX
Hadoop presentation
ODP
Forget MAMP and WAMP, Use Virtual Box to Have a Real Ubuntu Server
PDF
Ansible
PDF
Using filesystem capabilities with rsync
PDF
How to contribute Apache CloudStack
PPTX
Dockerize Me: Distributed PHP applications with Symfony, Docker, Consul and A...
PPTX
Academy PRO: Docker. Lecture 4
PPTX
Hadoop presentation
Docker up and running
CoreOS: Control Your Fleet
AWS ECSを用いてbatchを動かそう
Basics of Ansible - Sahil Davawala
Very Early Review - Rocket(CoreOS)
How to manage Microsoft Azure with open source
使用 CLI 管理 OpenStack 平台
Docker container management
이미지 기반의 배포 패러다임 Immutable infrastructure
Getting instantly up and running with Docker and Symfony
Build your own private openstack cloud
Docker 基本概念與指令操作
Hadoop presentation
Forget MAMP and WAMP, Use Virtual Box to Have a Real Ubuntu Server
Ansible
Using filesystem capabilities with rsync
How to contribute Apache CloudStack
Dockerize Me: Distributed PHP applications with Symfony, Docker, Consul and A...
Academy PRO: Docker. Lecture 4
Hadoop presentation

Similar to AWS 기반 Docker, Kubernetes (20)

PDF
AWS에서 Kubernetes 실전 활용하기::유병우::AWS Summit Seoul 2018
PDF
Open stack and k8s(v4)
PDF
Aws container webinar day 1
PPTX
Kubernetes BateMetal Installation and Practice
PDF
[OpenInfra Days Korea 2018] Day 2 - E5-1: "Invited Talk: Kubicorn - Building ...
PDF
K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트
PDF
Docker kubernetes fundamental(pod_service)_190307
PDF
About docker in GDG Seoul
PPTX
Kubernetes walkthrough
PDF
Creating docker custom image
PDF
Creating docker custom image
PDF
AWS 고객사를 위한 ‘AWS 컨테이너 교육’ - 유재석, AWS 솔루션즈 아키텍트
PPTX
k8s practice 2023.pptx
PPTX
Docker practice
PDF
Microservices blue-green-deployment-with-docker
PPTX
Installation Openstack Swift
PDF
Amazon Container Services – 유재석 (AWS 솔루션즈 아키텍트)
PDF
AWS Container Services – 유재석 (AWS 솔루션즈 아키텍트)
PDF
Cloud for Kubernetes : Session3
PDF
OpenStack Korea 2015 상반기스터디(devops) 스크립트로 오픈스택 설치하기 20150728
AWS에서 Kubernetes 실전 활용하기::유병우::AWS Summit Seoul 2018
Open stack and k8s(v4)
Aws container webinar day 1
Kubernetes BateMetal Installation and Practice
[OpenInfra Days Korea 2018] Day 2 - E5-1: "Invited Talk: Kubicorn - Building ...
K8s, Amazon EKS - 유재석, AWS 솔루션즈 아키텍트
Docker kubernetes fundamental(pod_service)_190307
About docker in GDG Seoul
Kubernetes walkthrough
Creating docker custom image
Creating docker custom image
AWS 고객사를 위한 ‘AWS 컨테이너 교육’ - 유재석, AWS 솔루션즈 아키텍트
k8s practice 2023.pptx
Docker practice
Microservices blue-green-deployment-with-docker
Installation Openstack Swift
Amazon Container Services – 유재석 (AWS 솔루션즈 아키텍트)
AWS Container Services – 유재석 (AWS 솔루션즈 아키텍트)
Cloud for Kubernetes : Session3
OpenStack Korea 2015 상반기스터디(devops) 스크립트로 오픈스택 설치하기 20150728

Recently uploaded (20)

PPTX
oracle_ebs_12.2_project_cutoveroutage.pptx
PPT
introduction of sql, sql commands(DD,DML,DCL))
PDF
Science is Not Enough SPLC2009 Richard P. Gabriel
PPTX
Beige and Black Minimalist Project Deck Presentation (1).pptx
PDF
WhatsApp Chatbots The Key to Scalable Customer Support.pdf
PDF
Difference Between Website and Web Application.pdf
PDF
SBOM Document Quality Guide - OpenChain SBOM Study Group
PPTX
Relevance Tuning with Genetic Algorithms
PDF
10 Mistakes Agile Project Managers Still Make
PDF
solman-7.0-ehp1-sp21-incident-management
PPTX
Presentation - Summer Internship at Samatrix.io_template_2.pptx
PDF
Module 1 - Introduction to Generative AI.pdf
PDF
Streamlining Project Management in Microsoft Project, Planner, and Teams with...
PDF
Coding with GPT-5- What’s New in GPT 5 That Benefits Developers.pdf
PPTX
Post-Migration Optimization Playbook: Getting the Most Out of Your New Adobe ...
PPTX
AI Tools Revolutionizing Software Development Workflows
PDF
OpenColorIO Virtual Town Hall - August 2025
PDF
Enscape 3D Crack + With 2025 Activation Key free
PPTX
Independent Consultants’ Biggest Challenges in ERP Projects – and How Apagen ...
PPTX
Hexagone difital twin solution in the desgining
oracle_ebs_12.2_project_cutoveroutage.pptx
introduction of sql, sql commands(DD,DML,DCL))
Science is Not Enough SPLC2009 Richard P. Gabriel
Beige and Black Minimalist Project Deck Presentation (1).pptx
WhatsApp Chatbots The Key to Scalable Customer Support.pdf
Difference Between Website and Web Application.pdf
SBOM Document Quality Guide - OpenChain SBOM Study Group
Relevance Tuning with Genetic Algorithms
10 Mistakes Agile Project Managers Still Make
solman-7.0-ehp1-sp21-incident-management
Presentation - Summer Internship at Samatrix.io_template_2.pptx
Module 1 - Introduction to Generative AI.pdf
Streamlining Project Management in Microsoft Project, Planner, and Teams with...
Coding with GPT-5- What’s New in GPT 5 That Benefits Developers.pdf
Post-Migration Optimization Playbook: Getting the Most Out of Your New Adobe ...
AI Tools Revolutionizing Software Development Workflows
OpenColorIO Virtual Town Hall - August 2025
Enscape 3D Crack + With 2025 Activation Key free
Independent Consultants’ Biggest Challenges in ERP Projects – and How Apagen ...
Hexagone difital twin solution in the desgining

AWS 기반 Docker, Kubernetes

  • 2. 목차 1. Docker - 컨테이너 이해 - 설치 - Run - 정리 - exec - build - Dockerfile 3. S3 + kube-registry - 설치(.yaml) - Secrets (TLS 인증서 let's encrypt) 2. kubernetes - 컨셉 - 설치 - kube-up - kops - rolling-update - Workloads - Deployments - ReplicationController - Pods - Service
  • 3. 1. Docker - 컨테이너 이해 출처:http://blog.skhynix.com/1317
  • 4. 1. Docker - 설치 curl -s https://get.docker.com/ | sudo sh 끝!!
  • 5. 1. Docker - Run docker run -d --name wekan-db mongo:3.4.3 docker run -d --name wekan --link "wekan-db:db" -e "MONGO_URL=mongodb://db" -e "ROOT_URL=http://localhost:8080" -p 8080:80 wekanteam/wekan:meteor-1.4
  • 6. 1. Docker - 정리 docker kill $(docker ps -q) docker rm $(docker ps -a -q) docker rmi -f $(docker images -q) docker ps -a
  • 7. 1. Docker - Exec docker ps docker exec -it c10c3f5b74f9 /bin/bash
  • 8. 1. Docker - Build docker pull ubuntu Docoker build –t urbanbase-main:v1 . docker tag urbanbase-main registry.urbanbase.com:****/ urbanbase-main docker push registry.urbanbase.com:****/urbanbase-main
  • 9. 1. Docker FROM phusion/passenger-nodejs:latest MAINTAINER datamaker <[email protected]> COPY dockerTest.conf /etc/nginx/sites-enabled/dockerTest.conf COPY ./bundle /home/app/dockerTest/bundle RUN rm -f /etc/service/nginx/down && rm -f /etc/nginx/sites-enabled/default && cd /home/app/dockerTest/bundle/programs/server && npm install && chown app:app --recursive /home/app/dockerTest/ CMD ["/sbin/my_init"]
  • 10. 2. kubernetes - 컨셉 출처 : http://blog.arungupta.me/key-concepts-kubernetes/
  • 12. 2. kubernetes - 설치 / kube-up # 설치 aws configure --profile user2 export KUBERNETES_PROVIDER=aws; wget –q –O – https://get.k8s.io | bash # 환경변수 export AWS_DEFAULT_PROFILE=user2 export KUBE_AWS_ZONE=ap-northeast-2a export MASTER_SIZE=t2.medium export NODE_SIZE=t2.small export NUM_NODES=1 export AWS_S3_REGION=ap-northeast-2 export AWS_S3_BUCKET=kubernetes-ub export KUBE_AWS_INSTANCE_PREFIX=k15s export AWS_ACCESS_KEY_ID=**************************** export AWS_SECRET_ACCESS_KEY=**************************** export PATH=/home/ec2-user/kubernetes/platforms/linux/amd64:$PATH export VPC_ID=vpc-f5678c9c V1.5.5 까지 지원하고 v1.6부터 aws는 지원 안함
  • 13. 2. kubernetes - 설치 / kops ## kubectl 다운로드 및 설치 curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl chmod +x ./kubectl sudo mv ./kubectl /usr/local/bin/kubectl ## kops 다운로드 및 설치 curl -LO https://github.com/kubernetes/kops/releases/download/1.5.3/kops-linux-amd64 chmod +x kops-linux-amd64 sudo mv kops-linux-amd64 /usr/local/bin/kops # Because "aws configure" doesn't export these vars for kops to use, we export them now export AWS_ACCESS_KEY_ID=****************************** export AWS_SECRET_ACCESS_KEY=******************************** -계속-
  • 14. 2. kubernetes ## Cluster State storage aws s3api create-bucket --bucket kops-urbanbase --region ap-northeast-2 aws s3api create-bucket --bucket kops-urbanbase --region us-east-1 aws s3api put-bucket-versioning --bucket kops-urbanbase --versioning-configuration Status=Enabled # 이름 및 s3 설정 export NAME=kops.urbanbase.com export KOPS_STATE_STORE=s3://kops-urbanbase export VPC_ID=vpc-a6618acf export NETWORK_CIDR=10.10.0.0/16 # s3 설정 파일 생성 kops create cluster --zones ap-northeast-2a --node-size t2.medium --master-size t2.medium --vpc=${VPC_ID} ${NAME} -계속-
  • 15. 2. kubernetes # 클러스터 설정 파일 수정 kops edit cluster ${NAME} # 클러스터 설치 kops update cluster ${NAME} --yes # 정상적으로 설치 되었는지 검사 kubectl get nodes kops validate cluster kubectl -n kube-system get po # 대쉬보드 설치 kubectl create -f https://raw.githubusercontent.com/kubernetes/kops/master/addons/kubernetes-dashboard/v1.5.0.yaml -계속-
  • 16. 2. kubernetes # Monitoring with Heapster - Standalone kubectl create -f https://raw.githubusercontent.com/kubernetes/kops/master/addons/monitoring-standalone/v1.2.0.yaml # Route53 Mapper kubectl apply -f https://raw.githubusercontent.com/kubernetes/kops/master/addons/route53-mapper/v1.2.0.yml # 클러스터 삭제 kops delete cluster ${NAME} --yes
  • 17. 2. kubernetes - rolling-update Kubectl create –f urbanbase-main-rc.yaml Kubectl create –f urbanbase-main-svc.yaml kubectl rolling-update urbanbase-main-v2 -f urbanbase-main- rc.yaml
  • 18. 2. kubernetes - Workloads - Deployments - ReplicationController - Pods - Service
  • 19. 3. S3 + kube-registry - 설치 Kubectl create –f registry-controller.yaml Kubectl create –f registry-service.yaml
  • 20. 3. S3 + kube-registry Secrets (TLS 인증서 let's encrypt) # 인증서 시크릿 생성 kubectl --namespace=kube-system create secret generic registry-tls-secret --from-file=domain.crt=fullchain1.pem -- from-file=domain.key=privkey1.pem