mirror of
https://github.com/calofmijuck/blog.git
synced 2025-12-06 22:53:51 +00:00
chore: reorganize all image files and linted documents (#80)
* [PUBLISHER] upload files #62 * [PUBLISHER] upload files #63 * [PUBLISHER] upload files #64 * [PUBLISHER] upload files #65 * [PUBLISHER] upload files #66 * [PUBLISHER] upload files #67 * PUSH NOTE : test-document.md * PUSH NOTE : 09. Lp Functions.md * PUSH ATTACHMENT : mt-09.png * PUSH NOTE : 03. Measure Spaces.md * PUSH ATTACHMENT : mt-03.png * PUSH NOTE : 08. Comparison with the Riemann Integral.md * PUSH ATTACHMENT : mt-08.png * PUSH NOTE : 07. Dominated Convergence Theorem.md * PUSH ATTACHMENT : mt-07.png * PUSH NOTE : 06. Convergence Theorems.md * PUSH ATTACHMENT : mt-06.png * PUSH NOTE : 05. Lebesgue Integration.md * PUSH ATTACHMENT : mt-05.png * PUSH NOTE : test-document.md * [PUBLISHER] upload files #68 * [PUBLISHER] upload files #69 * PUSH NOTE : 08. Comparison with the Riemann Integral.md * PUSH ATTACHMENT : mt-08.png * PUSH NOTE : 02. Construction of Measure.md * PUSH ATTACHMENT : mt-02.png * DELETE FILE : _posts/2023-09-09-test-document.md * DELETE FILE : _posts/Mathematics/Measure Theory/2023-09-09-test-document.md * [PUBLISHER] upload files #70 * PUSH NOTE : Rules of Inference with Coq.md * PUSH NOTE : 수학 공부에 대한 고찰.md * PUSH NOTE : 04. Measurable Functions.md * PUSH ATTACHMENT : mt-04.png * PUSH NOTE : 07. Dominated Convergence Theorem.md * PUSH ATTACHMENT : mt-07.png * PUSH NOTE : 08. Comparison with the Riemann Integral.md * PUSH ATTACHMENT : mt-08.png * PUSH NOTE : 05. Lebesgue Integration.md * PUSH ATTACHMENT : mt-05.png * PUSH NOTE : 03. Measure Spaces.md * PUSH ATTACHMENT : mt-03.png * PUSH NOTE : 09. Lp Functions.md * PUSH ATTACHMENT : mt-09.png * PUSH NOTE : 06. Convergence Theorems.md * PUSH ATTACHMENT : mt-06.png * PUSH NOTE : 02. Construction of Measure.md * PUSH ATTACHMENT : mt-02.png * PUSH NOTE : 01. Algebra of Sets and Set Functions.md * PUSH ATTACHMENT : mt-01.png * PUSH NOTE : 블로그 이주 이야기.md * PUSH ATTACHMENT : blog-logo.png * PUSH ATTACHMENT : github-publisher.png * PUSH NOTE : 05. Services - Enabling Clients to Discover and Talk to Pods.md * PUSH ATTACHMENT : k8s-05.jpeg * PUSH NOTE : 18. Extending Kubernetes.md * PUSH ATTACHMENT : k8s-18.jpeg * PUSH NOTE : 11. Understanding Kubernetes Internals.md * PUSH ATTACHMENT : k8s-11.jpeg * PUSH NOTE : 04. Replication and Other Controllers - Deploying Managed Pods.md * PUSH ATTACHMENT : k8s-04.jpeg * PUSH NOTE : 10. StatefulSets - Deploying Replicated Stateful Applications.md * PUSH ATTACHMENT : k8s-10.jpeg * PUSH NOTE : 02. First Steps with Docker and Kubernetes.md * PUSH ATTACHMENT : k8s-02.jpeg * PUSH NOTE : 06. Volumes - Attaching Disk Storage to Containers.md * PUSH ATTACHMENT : k8s-06.jpeg * PUSH NOTE : 12. Securing the Kubernetes API Server.md * PUSH ATTACHMENT : k8s-12.jpeg * PUSH NOTE : 07. ConfigMaps and Secrets - Configuring Applications.md * PUSH ATTACHMENT : k8s-07.jpeg * PUSH NOTE : 13. Securing Cluster Nodes and the Network.md * PUSH ATTACHMENT : k8s-13.jpeg * PUSH NOTE : 09. Deployments - Updating Applications Declaratively.md * PUSH ATTACHMENT : k8s-09.jpeg * PUSH NOTE : 17. Best Practices for Developing Apps.md * PUSH ATTACHMENT : k8s-17.jpeg * PUSH NOTE : 16. Advanced Scheduling.md * PUSH ATTACHMENT : k8s-16.jpeg * PUSH NOTE : 08. Accessing Pod Metadata and Other Resources from Applications.md * PUSH ATTACHMENT : k8s-08.jpeg * PUSH NOTE : 15. Automatic Scaling of Pods and Cluster Nodes.md * PUSH ATTACHMENT : k8s-15.jpeg * PUSH NOTE : 01. Introducing Kubernetes.md * PUSH ATTACHMENT : k8s-01.jpeg * PUSH NOTE : 03. Pods - Running Containers in Kubernetes.md * PUSH ATTACHMENT : k8s-03.jpeg * PUSH NOTE : 14. Managing Pods' Computational Resources.md * PUSH ATTACHMENT : k8s-14.jpeg * [PUBLISHER] upload files #71 * PUSH NOTE : test-document.md * PUSH NOTE : test-document.md * PUSH ATTACHMENT : test-image.png * DELETE FILE : assets/img/posts/test/test-image.png * [PUBLISHER] upload files #72 * PUSH NOTE : test-document.md * PUSH ATTACHMENT : test-image.png * DELETE FILE : assets/img/posts/test/test-image.png * [PUBLISHER] upload files #73 * PUSH NOTE : test-document.md * PUSH ATTACHMENT : test-image.png * chore: remove test files * [PUBLISHER] upload files #74 * PUSH NOTE : 01. Algebra of Sets and Set Functions.md * PUSH ATTACHMENT : mt-01.png * DELETE FILE : assets/img/posts/Mathematics/Measure Theory/mt-01.png * [PUBLISHER] upload files #76 * PUSH NOTE : 01. Algebra of Sets and Set Functions.md * PUSH ATTACHMENT : mt-01.png * [PUBLISHER] upload files #77 * PUSH NOTE : 09. Lp Functions.md * PUSH ATTACHMENT : mt-09.png * PUSH NOTE : 08. Comparison with the Riemann Integral.md * PUSH ATTACHMENT : mt-08.png * PUSH NOTE : 07. Dominated Convergence Theorem.md * PUSH ATTACHMENT : mt-07.png * PUSH NOTE : 06. Convergence Theorems.md * PUSH ATTACHMENT : mt-06.png * PUSH NOTE : 05. Lebesgue Integration.md * PUSH ATTACHMENT : mt-05.png * PUSH NOTE : 04. Measurable Functions.md * PUSH ATTACHMENT : mt-04.png * PUSH NOTE : 03. Measure Spaces.md * PUSH ATTACHMENT : mt-03.png * PUSH NOTE : 01. Algebra of Sets and Set Functions.md * PUSH ATTACHMENT : mt-01.png * chore: remove images * [PUBLISHER] upload files #78 * PUSH NOTE : 09. Lp Functions.md * PUSH ATTACHMENT : mt-09.png * PUSH NOTE : 08. Comparison with the Riemann Integral.md * PUSH ATTACHMENT : mt-08.png * PUSH NOTE : 07. Dominated Convergence Theorem.md * PUSH ATTACHMENT : mt-07.png * PUSH NOTE : 06. Convergence Theorems.md * PUSH ATTACHMENT : mt-06.png * PUSH NOTE : 05. Lebesgue Integration.md * PUSH ATTACHMENT : mt-05.png * PUSH NOTE : 04. Measurable Functions.md * PUSH ATTACHMENT : mt-04.png * PUSH NOTE : 03. Measure Spaces.md * PUSH ATTACHMENT : mt-03.png * PUSH NOTE : 01. Algebra of Sets and Set Functions.md * PUSH ATTACHMENT : mt-01.png * PUSH NOTE : 18. Extending Kubernetes.md * PUSH ATTACHMENT : k8s-18.jpeg * PUSH NOTE : 17. Best Practices for Developing Apps.md * PUSH ATTACHMENT : k8s-17.jpeg * PUSH NOTE : 16. Advanced Scheduling.md * PUSH ATTACHMENT : k8s-16.jpeg * PUSH NOTE : 15. Automatic Scaling of Pods and Cluster Nodes.md * PUSH ATTACHMENT : k8s-15.jpeg * PUSH NOTE : 14. Managing Pods' Computational Resources.md * PUSH ATTACHMENT : k8s-14.jpeg * PUSH NOTE : 13. Securing Cluster Nodes and the Network.md * PUSH ATTACHMENT : k8s-13.jpeg * PUSH NOTE : 12. Securing the Kubernetes API Server.md * PUSH ATTACHMENT : k8s-12.jpeg * PUSH NOTE : 11. Understanding Kubernetes Internals.md * PUSH ATTACHMENT : k8s-11.jpeg * PUSH NOTE : 10. StatefulSets - Deploying Replicated Stateful Applications.md * PUSH ATTACHMENT : k8s-10.jpeg * PUSH NOTE : 09. Deployments - Updating Applications Declaratively.md * PUSH ATTACHMENT : k8s-09.jpeg * PUSH NOTE : 08. Accessing Pod Metadata and Other Resources from Applications.md * PUSH ATTACHMENT : k8s-08.jpeg * PUSH NOTE : 07. ConfigMaps and Secrets - Configuring Applications.md * PUSH ATTACHMENT : k8s-07.jpeg * PUSH NOTE : 06. Volumes - Attaching Disk Storage to Containers.md * PUSH ATTACHMENT : k8s-06.jpeg * PUSH NOTE : 05. Services - Enabling Clients to Discover and Talk to Pods.md * PUSH ATTACHMENT : k8s-05.jpeg * PUSH NOTE : 04. Replication and Other Controllers - Deploying Managed Pods.md * PUSH ATTACHMENT : k8s-04.jpeg * PUSH NOTE : 03. Pods - Running Containers in Kubernetes.md * PUSH ATTACHMENT : k8s-03.jpeg * PUSH NOTE : 02. First Steps with Docker and Kubernetes.md * PUSH ATTACHMENT : k8s-02.jpeg * PUSH NOTE : 01. Introducing Kubernetes.md * PUSH ATTACHMENT : k8s-01.jpeg * [PUBLISHER] upload files #79 * PUSH NOTE : 02. Construction of Measure.md * PUSH ATTACHMENT : mt-02.png
This commit is contained in:
@@ -7,14 +7,17 @@ title: "02. First Steps with Docker and Kubernetes"
|
||||
date: "2021-03-07"
|
||||
github_title: "2021-03-07-02-first-steps"
|
||||
image:
|
||||
path: /assets/img/posts/k8s-02.jpeg
|
||||
path: /assets/img/posts/Development/Kubernetes/k8s-02.jpeg
|
||||
attachment:
|
||||
folder: assets/img/posts/Development/Kubernetes
|
||||
---
|
||||
|
||||
 _Running a container image in Kubernetes (출처: https://livebook.manning.com/book/kubernetes-in-action/chapter-2)_
|
||||
 _Running a container image in Kubernetes (출처: https://livebook.manning.com/book/kubernetes-in-action/chapter-2)_
|
||||
|
||||
도커와 쿠버네티스를 사용하여 간단한 애플리케이션을 배포해 보자!
|
||||
|
||||
## 2.1 컨테이너 이미지 생성, 실행, 공유하기
|
||||
|
||||
---
|
||||
|
||||
### 2.1.1 도커 설치
|
||||
@@ -38,8 +41,8 @@ $ docker run <IMAGE>:[TAG] [COMMAND]
|
||||
- 우선 해당 이미지의 latest version (`IMAGE:latest`) 가 로컬에 있는지 확인한다. 없으면 Docker Hub 에서 다운받는다.
|
||||
- 이미지로부터 컨테이너를 생성하고 `[COMMAND]` 를 실행한다.
|
||||
|
||||
매 번 `docker run` 을 할 때마다 실행할 명령을 입력하는 것은 불편하므로 보통은 Dockerfile 을 사용해서 실행할 명령을 이미지 생성 과정에 포함시킨다.
|
||||
|
||||
매 번 `docker run` 을 할 때마다 실행할 명령을 입력하는 것은 불편하므로 보통은 Dockerfile 을 사용해서 실행할 명령을 이미지 생성 과정에 포함시킨다.
|
||||
|
||||
이미지도 업데이트 될 수 있기 때문에, 이름은 유지한 채 tag 를 업데이트하여 버전을 관리한다. `latest` 태그는 당연히 이미지의 최신 버전을 가리킨다.
|
||||
|
||||
### 2.1.2 Creating a trivial Node.js app
|
||||
@@ -137,7 +140,7 @@ $ docker rm <CONTAINER> # 삭제
|
||||
|
||||
컨테이너를 정지하게 되면 그 잔해가 남아있게 되는데, `rm` 을 이용해 삭제해주면 완전히 제거된다.
|
||||
|
||||
정지한 컨테이너는 `docker ps` 로 확인이 불가능하므로 (실행 중인 컨테이너만 보인다), `docker ps -a` 로 확인한다.
|
||||
정지한 컨테이너는 `docker ps` 로 확인이 불가능하므로 (실행 중인 컨테이너만 보인다), `docker ps -a` 로 확인한다.
|
||||
|
||||
### 2.1.8 이미지 레지스트리에 이미지 push 하기
|
||||
|
||||
@@ -155,6 +158,7 @@ $ docker tag <SOURCE_IMAGE:TAG> <TARGET_IMAGE:TAG>
|
||||
`docker login` 으로 로그인 한 뒤, `docker push <NAME:TAG>` 으로 이미지를 push 할 수 있다. 당연히 그 반대인 `docker pull` 도 가능하다.
|
||||
|
||||
## 2.2 쿠버네티스 클러스터 설정
|
||||
|
||||
---
|
||||
|
||||
일단 로컬에서 하려면 Minikube 를 설치하면 된다.
|
||||
@@ -203,8 +207,8 @@ $ kubectl describe node <NAME>
|
||||
|
||||
`bash-completion` 을 사용하면 편리하다고 한다.
|
||||
|
||||
|
||||
## 2.3 Kubernetes 에서 앱 실행하기
|
||||
|
||||
---
|
||||
|
||||
### 2.3.1 Node.js 앱 배포하기
|
||||
@@ -235,7 +239,7 @@ $ kubectl get pods
|
||||
- `kubectl run` 을 실행하면 Kubernetes API 서버에 REST HTTP 요청을 보낸다.
|
||||
- Kubernetes API 서버는 요청을 받아 새로운 ReplicationController 오브젝트를 생성한다.
|
||||
- ReplicationController 가 새로운 pod 를 생성하게 되고, 이는 Scheduler 에 의해 어떤 worker 노드에 할당된다.
|
||||
- Kubelet 이 동작하여 Docker 를 실행하게 하고 Docker 가 컨테이너를 실행한다.
|
||||
- Kubelet 이 동작하여 Docker 를 실행하게 하고 Docker 가 컨테이너를 실행한다.
|
||||
|
||||
### 2.3.2 애플리케이션에 접근하기
|
||||
|
||||
@@ -311,4 +315,4 @@ $ kubectl cluster-info | grep dashboard
|
||||
```
|
||||
|
||||
- 대시보드가 실행 중인 주소를 알려줄 것이다.
|
||||
- Minikube 의 경우 `minikube dashboard`.
|
||||
- Minikube 의 경우 `minikube dashboard`.
|
||||
|
||||
Reference in New Issue
Block a user