mirror of
https://github.com/calofmijuck/blog.git
synced 2025-12-06 14:53:50 +00:00
feat: breaking change (unstable) (#198)
* [PUBLISHER] upload files #175 * PUSH NOTE : 3. Symmetric Key Encryption.md * PUSH NOTE : 03. Symmetric Key Cryptography (2).md * DELETE FILE : _posts/lecture-notes/modern-cryptography/2023-09-18-symmetric-key-cryptography-2.md * DELETE FILE : _posts/lecture-notes/modern-cryptography/2023-09-19-symmetric-key-encryption.md * [PUBLISHER] upload files #177 * PUSH NOTE : 3. Symmetric Key Encryption.md * PUSH NOTE : 03. Symmetric Key Cryptography (2).md * DELETE FILE : _posts/lecture-notes/modern-cryptography/2023-09-18-symmetric-key-cryptography-2.md * DELETE FILE : _posts/lecture-notes/modern-cryptography/2023-09-19-symmetric-key-encryptio.md * [PUBLISHER] upload files #178 * PUSH NOTE : 3. Symmetric Key Encryption.md * PUSH NOTE : 03. Symmetric Key Cryptography (2).md * DELETE FILE : _posts/lecture-notes/modern-cryptography/2023-09-18-symmetric-key-cryptography-2.md * [PUBLISHER] upload files #179 * PUSH NOTE : 3. Symmetric Key Encryption.md * PUSH NOTE : 03. Symmetric Key Cryptography (2).md * DELETE FILE : _posts/lecture-notes/modern-cryptography/2023-09-18-symmetric-key-cryptography-2.md * [PUBLISHER] upload files #180 * PUSH NOTE : 3. Symmetric Key Encryption.md * PUSH NOTE : 03. Symmetric Key Cryptography (2).md * DELETE FILE : _posts/lecture-notes/modern-cryptography/2023-09-18-symmetric-key-cryptography-2.md * [PUBLISHER] upload files #181 * PUSH NOTE : 3. Symmetric Key Encryption.md * PUSH NOTE : 03. Symmetric Key Cryptography (2).md * DELETE FILE : _posts/lecture-notes/modern-cryptography/2023-09-18-symmetric-key-cryptography-2.md * [PUBLISHER] upload files #182 * PUSH NOTE : 3. Symmetric Key Encryption.md * PUSH NOTE : 03. Symmetric Key Cryptography (2).md * [PUBLISHER] upload files #183 * PUSH NOTE : 3. Symmetric Key Encryption.md * PUSH NOTE : 03. Symmetric Key Cryptography (2).md * DELETE FILE : _posts/lecture-notes/modern-cryptography/2023-09-18-symmetric-key-cryptography-2.md * [PUBLISHER] upload files #184 * PUSH NOTE : 3. Symmetric Key Encryption.md * PUSH NOTE : 03. Symmetric Key Cryptography (2).md * DELETE FILE : _posts/lecture-notes/modern-cryptography/2023-09-18-symmetric-key-cryptography-2.md * [PUBLISHER] upload files #185 * PUSH NOTE : 3. Symmetric Key Encryption.md * PUSH NOTE : 03. Symmetric Key Cryptography (2).md * DELETE FILE : _posts/lecture-notes/modern-cryptography/2023-09-18-symmetric-key-cryptography-2.md * [PUBLISHER] upload files #186 * PUSH NOTE : 3. Symmetric Key Encryption.md * PUSH NOTE : 03. Symmetric Key Cryptography (2).md * [PUBLISHER] upload files #187 * PUSH NOTE : 3. Symmetric Key Encryption.md * PUSH NOTE : 14. Secure Multiparty Computation.md * DELETE FILE : _posts/Lecture Notes/Modern Cryptography/2023-09-19-symmetric-key-encryption.md * DELETE FILE : _posts/lecture-notes/modern-cryptography/2023-09-18-symmetric-key-cryptography-2.md * [PUBLISHER] upload files #188 * PUSH NOTE : 3. Symmetric Key Encryption.md * PUSH NOTE : 14. Secure Multiparty Computation.md * DELETE FILE : _posts/Lecture Notes/Modern Cryptography/2023-09-19-symmetric-key-encryption.md * chore: remove files * [PUBLISHER] upload files #197 * PUSH NOTE : 수학 공부에 대한 고찰.md * 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 : 04. Measurable Functions.md * PUSH ATTACHMENT : mt-04.png * PUSH NOTE : 06. Convergence Theorems.md * PUSH ATTACHMENT : mt-06.png * PUSH NOTE : 07. Dominated Convergence Theorem.md * PUSH ATTACHMENT : mt-07.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 : 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 : Rules of Inference with Coq.md * PUSH NOTE : 블로그 이주 이야기.md * PUSH NOTE : Secure IAM on AWS with Multi-Account Strategy.md * PUSH ATTACHMENT : separation-by-product.png * PUSH NOTE : You and Your Research, Richard Hamming.md * PUSH NOTE : 10. Digital Signatures.md * PUSH ATTACHMENT : mc-10-dsig-security.png * PUSH ATTACHMENT : mc-10-schnorr-identification.png * PUSH NOTE : 9. Public Key Encryption.md * PUSH ATTACHMENT : mc-09-ss-pke.png * PUSH NOTE : 8. Number Theory.md * PUSH NOTE : 7. Key Exchange.md * PUSH ATTACHMENT : mc-07-dhke.png * PUSH ATTACHMENT : mc-07-dhke-mitm.png * PUSH ATTACHMENT : mc-07-merkle-puzzles.png * PUSH NOTE : 6. Hash Functions.md * PUSH ATTACHMENT : mc-06-merkle-damgard.png * PUSH ATTACHMENT : mc-06-davies-meyer.png * PUSH ATTACHMENT : mc-06-hmac.png * PUSH NOTE : 5. CCA-Security and Authenticated Encryption.md * PUSH ATTACHMENT : mc-05-ci.png * PUSH ATTACHMENT : mc-05-etm-mte.png * PUSH NOTE : 1. OTP, Stream Ciphers and PRGs.md * PUSH ATTACHMENT : mc-01-prg-game.png * PUSH ATTACHMENT : mc-01-ss.png * PUSH NOTE : 4. Message Authentication Codes.md * PUSH ATTACHMENT : mc-04-mac.png * PUSH ATTACHMENT : mc-04-mac-security.png * PUSH ATTACHMENT : mc-04-cbc-mac.png * PUSH ATTACHMENT : mc-04-ecbc-mac.png * PUSH NOTE : 3. Symmetric Key Encryption.md * PUSH ATTACHMENT : is-03-ecb-encryption.png * PUSH ATTACHMENT : is-03-cbc-encryption.png * PUSH ATTACHMENT : is-03-ctr-encryption.png * PUSH NOTE : 2. PRFs, PRPs and Block Ciphers.md * PUSH ATTACHMENT : mc-02-block-cipher.png * PUSH ATTACHMENT : mc-02-feistel-network.png * PUSH ATTACHMENT : mc-02-des-round.png * PUSH ATTACHMENT : mc-02-DES.png * PUSH ATTACHMENT : mc-02-aes-128.png * PUSH ATTACHMENT : mc-02-2des-mitm.png * PUSH NOTE : 18. Bootstrapping & CKKS.md * PUSH NOTE : 17. BGV Scheme.md * PUSH NOTE : 16. The GMW Protocol.md * PUSH ATTACHMENT : mc-16-beaver-triple.png * PUSH NOTE : 15. Garbled Circuits.md * PUSH NOTE : 14. Secure Multiparty Computation.md * PUSH NOTE : 13. Sigma Protocols.md * PUSH ATTACHMENT : mc-13-sigma-protocol.png * PUSH ATTACHMENT : mc-13-okamoto.png * PUSH ATTACHMENT : mc-13-chaum-pedersen.png * PUSH ATTACHMENT : mc-13-gq-protocol.png * PUSH NOTE : 12. Zero-Knowledge Proofs (Introduction).md * PUSH ATTACHMENT : mc-12-id-protocol.png * PUSH NOTE : 11. Advanced Topics.md * PUSH NOTE : 0. Introduction.md * PUSH NOTE : 02. Symmetric Key Cryptography (1).md * PUSH NOTE : 09. Transport Layer Security.md * PUSH ATTACHMENT : is-09-tls-handshake.png * PUSH NOTE : 08. Public Key Infrastructure.md * PUSH ATTACHMENT : is-08-certificate-validation.png * PUSH NOTE : 07. Public Key Cryptography.md * PUSH NOTE : 06. RSA and ElGamal Encryption.md * PUSH NOTE : 05. Modular Arithmetic (2).md * PUSH NOTE : 03. Symmetric Key Cryptography (2).md * PUSH ATTACHMENT : is-03-feistel-function.png * PUSH ATTACHMENT : is-03-cfb-encryption.png * PUSH ATTACHMENT : is-03-ofb-encryption.png * PUSH NOTE : 04. Modular Arithmetic (1).md * PUSH NOTE : 01. Security Introduction.md * PUSH ATTACHMENT : is-01-cryptosystem.png * PUSH NOTE : Search Time in Hash Tables.md * PUSH NOTE : 랜덤 PS일지 (1).md * chore: rearrange articles * feat: fix paths * feat: fix all broken links * feat: title font to palatino
This commit is contained in:
@@ -3,18 +3,19 @@ share: true
|
||||
pin: true
|
||||
categories:
|
||||
- Development
|
||||
path: _posts/development
|
||||
tags:
|
||||
- AWS
|
||||
- dev
|
||||
title: Secure IAM on AWS with Multi-Account Strategy
|
||||
date: 2024-02-26
|
||||
github_title: 2024-02-26-secure-iam
|
||||
image: /assets/img/posts/Development/separation-by-product.png
|
||||
image: /assets/img/posts/development/separation-by-product.png
|
||||
attachment:
|
||||
folder: assets/img/posts/Development
|
||||
folder: assets/img/posts/development
|
||||
---
|
||||
|
||||

|
||||

|
||||
|
||||
2024\. 2. B.S. Graduation Paper, Received Best Paper Award!
|
||||
|
||||
|
||||
@@ -2,17 +2,18 @@
|
||||
share: true
|
||||
toc: true
|
||||
categories: [Development, Kubernetes]
|
||||
path: "_posts/development/kubernetes"
|
||||
tags: [kubernetes, sre, devops, docker]
|
||||
title: "01. Introducing Kubernetes"
|
||||
date: "2021-02-28"
|
||||
github_title: "2021-02-28-01-introducing-k8s"
|
||||
image:
|
||||
path: /assets/img/posts/Development/Kubernetes/k8s-01.jpeg
|
||||
path: /assets/img/posts/development/kubernetes/k8s-01.jpeg
|
||||
attachment:
|
||||
folder: assets/img/posts/Development/Kubernetes
|
||||
folder: assets/img/posts/development/kubernetes
|
||||
---
|
||||
|
||||
 _Overview of Kubernetes Architecture (출처: https://livebook.manning.com/book/kubernetes-in-action/chapter-1)_
|
||||
 _Overview of Kubernetes Architecture (출처: https://livebook.manning.com/book/kubernetes-in-action/chapter-1)_
|
||||
|
||||
기존에는 소프트웨어가 커다란 덩어리였지만 최근에는 독립적으로 작동하는 작은 **마이크로서비스**(microservice)로 나뉘고 있다. 이들은 독립적으로 동작하기 때문에, 개발하고 배포하거나 스케일링을 따로 해줄 수 있다는 장점이 있으며, 이 장점은 빠르게 변화하는 소프트웨어의 요구사항을 반영하기에 적합하다.
|
||||
|
||||
@@ -81,7 +82,7 @@ attachment:
|
||||
|
||||
VM은 독자적인 운영체제를 사용하기 때문에 시스템 프로세스가 필요하고 이는 추가적인 리소스의 소모로 이어진다. (윈도우 VM에 RAM 4GB씩 준다고 생각하면 몇 개를 띄울 수 있을지...)
|
||||
|
||||
반면 컨테이너는 호스트 머신에서 돌아가는 프로세스이기 때문에 추가적인 시스템 프로세스가 필요 없어서 애플리케이션이 필요한 리소스만 소모하게 된다. VM에 비해 훨씬 가볍기 때문에 한 머신에서 여러 컨테이너를 돌릴 수 있게 된다.
|
||||
반면 컨테이너는 호스트 머신에서 돌아가는 프로세스이기 때문에 추가적인 시스템 프로세스가 필요 없어서 애플리케이션이 필요한 리소스만 소모하게 된다. VM에 비해 훨씬 가볍기 때문에 한 머신에서 여러 컨테이너를 돌릴 수 있게 된다.
|
||||
|
||||
VM을 사용하게 되면 hypervisor 가 하드웨어 자원을 가상 자원(virtual resource)으로 나누어 각 VM안의 OS가 사용할 수 있게 해준다. VM 안에서 돌아가는 애플리케이션은 VM의 OS에 system call 을 하게 되고, VM의 커널은 hypervisor를 통해 호스트의 CPU에서 명령을 수행하게 된다.
|
||||
|
||||
@@ -165,7 +166,7 @@ VM은 자체적으로 OS를 가지고 있기 때문에 VM을 사용하게 되면
|
||||
|
||||
- **스케쥴러**: 애플리케이션 배포시 워커 노드에 서비스를 할당한다.
|
||||
|
||||
- **Controller Manager**: 클러스터 수준의 기능을 담당한다. 컴포넌트를 복제하거나 워커 노드 개수를 관리하거나, 노드 에러를 처리하는 등 작업을 담당한다.
|
||||
- **Controller Manager**: 클러스터 수준의 기능을 담당한다. 컴포넌트를 복제하거나 워커 노드 개수를 관리하거나, 노드 에러를 처리하는 등 작업을 담당한다.
|
||||
|
||||
- **etcd**: 클러스터의 설정을 저장하는 persistent 분산 데이터 스토어이다.
|
||||
|
||||
|
||||
@@ -2,17 +2,18 @@
|
||||
share: true
|
||||
toc: true
|
||||
categories: [Development, Kubernetes]
|
||||
path: "_posts/development/kubernetes"
|
||||
tags: [kubernetes, sre, devops, docker]
|
||||
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/Development/Kubernetes/k8s-02.jpeg
|
||||
path: /assets/img/posts/development/kubernetes/k8s-02.jpeg
|
||||
attachment:
|
||||
folder: assets/img/posts/Development/Kubernetes
|
||||
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,17 +2,18 @@
|
||||
share: true
|
||||
toc: true
|
||||
categories: [Development, Kubernetes]
|
||||
path: "_posts/development/kubernetes"
|
||||
tags: [kubernetes, sre, devops]
|
||||
title: "03. Pods: Running Containers in Kubernetes"
|
||||
date: "2021-03-17"
|
||||
github_title: "2021-03-17-03-pods"
|
||||
image:
|
||||
path: /assets/img/posts/Development/Kubernetes/k8s-03.jpeg
|
||||
path: /assets/img/posts/development/kubernetes/k8s-03.jpeg
|
||||
attachment:
|
||||
folder: assets/img/posts/Development/Kubernetes
|
||||
folder: assets/img/posts/development/kubernetes
|
||||
---
|
||||
|
||||
 _A container shouldn’t run multiple processes. (출처: https://livebook.manning.com/book/kubernetes-in-action/chapter-3)_
|
||||
 _A container shouldn’t run multiple processes. (출처: https://livebook.manning.com/book/kubernetes-in-action/chapter-3)_
|
||||
|
||||
다양한 쿠버네티스 오브젝트 (resources) 를 살펴보는 단원이다. 가장 기본이 되는 Pod 부터 시작한다. 이외의 모든 것들은 pod 를 관리하거나, pod 를 노출하거나, pod 에 의해 사용된다.
|
||||
|
||||
|
||||
@@ -2,17 +2,18 @@
|
||||
share: true
|
||||
toc: true
|
||||
categories: [Development, Kubernetes]
|
||||
path: "_posts/development/kubernetes"
|
||||
tags: [kubernetes, sre, devops]
|
||||
title: "04. Replication and Other Controllers: Deploying Managed Pods"
|
||||
date: "2021-03-21"
|
||||
github_title: "2021-03-21-04-replication-and-controllers"
|
||||
image:
|
||||
path: /assets/img/posts/Development/Kubernetes/k8s-04.jpeg
|
||||
path: /assets/img/posts/development/kubernetes/k8s-04.jpeg
|
||||
attachment:
|
||||
folder: assets/img/posts/Development/Kubernetes
|
||||
folder: assets/img/posts/development/kubernetes
|
||||
---
|
||||
|
||||
 _ReplicationController recreating pods. (출처: https://livebook.manning.com/book/kubernetes-in-action/chapter-4)_
|
||||
 _ReplicationController recreating pods. (출처: https://livebook.manning.com/book/kubernetes-in-action/chapter-4)_
|
||||
|
||||
3장에서는 pod 를 직접 관리하는 방법에 대해 살펴봤다. 하지만 실무에서는 pod 의 관리가 자동으로 되길 원한다. 이를 위해 ReplicationController 나 Deployment 를 사용한다.
|
||||
|
||||
|
||||
@@ -2,17 +2,18 @@
|
||||
share: true
|
||||
toc: true
|
||||
categories: [Development, Kubernetes]
|
||||
path: "_posts/development/kubernetes"
|
||||
tags: [kubernetes, sre, devops]
|
||||
title: "05. Services: Enabling Clients to Discover and Talk to Pods"
|
||||
date: "2021-04-07"
|
||||
github_title: "2021-04-07-05-services"
|
||||
image:
|
||||
path: /assets/img/posts/Development/Kubernetes/k8s-05.jpeg
|
||||
path: /assets/img/posts/development/kubernetes/k8s-05.jpeg
|
||||
attachment:
|
||||
folder: assets/img/posts/Development/Kubernetes
|
||||
folder: assets/img/posts/development/kubernetes
|
||||
---
|
||||
|
||||
 _Using `kubectl exec` to test out a connection to the service by running curl in one of the pods. (출처: https://livebook.manning.com/book/kubernetes-in-action/chapter-5)_
|
||||
 _Using `kubectl exec` to test out a connection to the service by running curl in one of the pods. (출처: https://livebook.manning.com/book/kubernetes-in-action/chapter-5)_
|
||||
|
||||
많은 앱들이 request (요청) 을 받아 서비스를 제공하는 형태인데, 이런 요청을 보내려면 IP 주소를 알아야 한다. 한편 Kubernetes 를 사용하게 되면 pod 의 IP 주소를 알아야 하는데, Kubernetes 의 pod 들은 굉장히 동적이므로 이들의 IP 주소를 알아낼 방법이 필요하다.
|
||||
|
||||
|
||||
@@ -2,17 +2,18 @@
|
||||
share: true
|
||||
toc: true
|
||||
categories: [Development, Kubernetes]
|
||||
path: "_posts/development/kubernetes"
|
||||
tags: [kubernetes, sre, devops]
|
||||
title: "06. Volumes: Attaching Disk Storage to Containers"
|
||||
date: "2021-04-07"
|
||||
github_title: "2021-04-07-06-volumes"
|
||||
image:
|
||||
path: /assets/img/posts/Development/Kubernetes/k8s-06.jpeg
|
||||
path: /assets/img/posts/development/kubernetes/k8s-06.jpeg
|
||||
attachment:
|
||||
folder: assets/img/posts/Development/Kubernetes
|
||||
folder: assets/img/posts/development/kubernetes
|
||||
---
|
||||
|
||||
 _The complete picture of dynamic provisioning of PersistentVolumes. (출처: https://livebook.manning.com/book/kubernetes-in-action/chapter-6)_
|
||||
 _The complete picture of dynamic provisioning of PersistentVolumes. (출처: https://livebook.manning.com/book/kubernetes-in-action/chapter-6)_
|
||||
|
||||
컨테이너가 재시작되면 기존 작업 내역이 모두 사라지게 될 수 있으므로, 컨테이너의 작업 내역을 저장하고 같은 pod 내의 다른 컨테이너가 함께 사용하는 저장 공간이다.
|
||||
|
||||
|
||||
@@ -2,17 +2,18 @@
|
||||
share: true
|
||||
toc: true
|
||||
categories: [Development, Kubernetes]
|
||||
path: "_posts/development/kubernetes"
|
||||
tags: [kubernetes, sre, devops]
|
||||
title: "07. ConfigMaps and Secrets: Configuring Applications"
|
||||
date: "2021-04-18"
|
||||
github_title: "2021-04-18-07-configmaps-and-secrets"
|
||||
image:
|
||||
path: /assets/img/posts/Development/Kubernetes/k8s-07.jpeg
|
||||
path: /assets/img/posts/development/kubernetes/k8s-07.jpeg
|
||||
attachment:
|
||||
folder: assets/img/posts/Development/Kubernetes
|
||||
folder: assets/img/posts/development/kubernetes
|
||||
---
|
||||
|
||||
 _Combining a ConfigMap and a Secret to run your fortune-https pod (출처: https://livebook.manning.com/book/kubernetes-in-action/chapter-7)_
|
||||
 _Combining a ConfigMap and a Secret to run your fortune-https pod (출처: https://livebook.manning.com/book/kubernetes-in-action/chapter-7)_
|
||||
|
||||
거의 대부분의 앱은 설정(configuration)이 필요하다. 개발 서버, 배포 서버의 설정 사항 (접속하려는 DB 서버 주소 등)이 다를 수도 있고, 클라우드 등에 접속하기 위한 access key 가 필요하거나, 데이터를 암호화하는 encryption key 도 설정해야하는 경우가 있다. 이러한 경우에 해당 값들을 도커 이미지 자체에 넣어버리면 보안 상 취약하고, 또 설정 사항을 변경하는 경우 이미지를 다시 빌드해야하는 등 불편함이 따른다.
|
||||
|
||||
|
||||
@@ -2,17 +2,18 @@
|
||||
share: true
|
||||
toc: true
|
||||
categories: [Development, Kubernetes]
|
||||
path: "_posts/development/kubernetes"
|
||||
tags: [kubernetes, sre, devops]
|
||||
title: "08. Accessing Pod Metadata and Other Resources from Applications"
|
||||
date: "2021-04-18"
|
||||
github_title: "2021-04-18-08-accessing-pod-metadata"
|
||||
image:
|
||||
path: /assets/img/posts/Development/Kubernetes/k8s-08.jpeg
|
||||
path: /assets/img/posts/development/kubernetes/k8s-08.jpeg
|
||||
attachment:
|
||||
folder: assets/img/posts/Development/Kubernetes
|
||||
folder: assets/img/posts/development/kubernetes
|
||||
---
|
||||
|
||||
 _Using the files from the default-token Secret to talk to the API server (출처: https://livebook.manning.com/book/kubernetes-in-action/chapter-8)_
|
||||
 _Using the files from the default-token Secret to talk to the API server (출처: https://livebook.manning.com/book/kubernetes-in-action/chapter-8)_
|
||||
|
||||
### 주요 내용
|
||||
|
||||
@@ -138,7 +139,7 @@ spec:
|
||||
volumes:
|
||||
- name: downward
|
||||
downwardAPI:
|
||||
items: # 설정한 경로의 파일에 필요한 정보가 저장된다
|
||||
items: # 설정한 경로의 파일에 필요한 정보가 저장된다
|
||||
- path: "podName"
|
||||
fieldRef:
|
||||
fieldPath: metadata.name
|
||||
@@ -217,7 +218,7 @@ API 서버는 HTTPS 를 사용하므로, 인증 없이는 직접 요청을 보
|
||||
`kubectl proxy` 를 이용하면 로컬에서 HTTP 요청을 받아서 Kubernetes API 서버로 요청을 전달해 주고, 인증도 알아서 처리해준다. 더불어 매 요청마다 서버의 인증서를 확인하여 MITM attack 을 막고 실제 서버와 통신할 수 있도록 해준다.
|
||||
|
||||
```
|
||||
$ kubectl proxy
|
||||
$ kubectl proxy
|
||||
Starting to serve on 127.0.0.1:8001
|
||||
```
|
||||
|
||||
@@ -380,13 +381,13 @@ root@curl:/# curl https://kubernetes -k
|
||||
"kind": "Status",
|
||||
"apiVersion": "v1",
|
||||
"metadata": {
|
||||
|
||||
|
||||
},
|
||||
"status": "Failure",
|
||||
"message": "forbidden: User \"system:anonymous\" cannot get path \"/\"",
|
||||
"reason": "Forbidden",
|
||||
"details": {
|
||||
|
||||
|
||||
},
|
||||
"code": 403
|
||||
}
|
||||
@@ -404,13 +405,13 @@ root@curl:/# curl --cacert /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
|
||||
"kind": "Status",
|
||||
"apiVersion": "v1",
|
||||
"metadata": {
|
||||
|
||||
|
||||
},
|
||||
"status": "Failure",
|
||||
"message": "forbidden: User \"system:anonymous\" cannot get path \"/\"",
|
||||
"reason": "Forbidden",
|
||||
"details": {
|
||||
|
||||
|
||||
},
|
||||
"code": 403
|
||||
}
|
||||
@@ -434,13 +435,13 @@ $ curl -H "Authorization: Bearer $TOKEN" https://kubernetes
|
||||
```
|
||||
|
||||
> Role-based access control ([RBAC](https://kubernetes.io/docs/reference/access-authn-authz/rbac/)) 이 실행되고 있는 클러스터에서는 위 `curl` 에서 에러가 난다. 일단 테스트를 위해서 임시적으로
|
||||
>
|
||||
>
|
||||
> ```bash
|
||||
> kubectl create clusterrolebinding permissive-binding \
|
||||
> --clusterrole=cluster-admin \
|
||||
> --group=system:serviceaccounts
|
||||
> ```
|
||||
>
|
||||
>
|
||||
> 를 입력하여 모든 serviceaccounts 에 admin 권한을 줄 수 있다 ㅋㅋㅋ;
|
||||
|
||||
#### 현재 pod 의 namespace 가져오기
|
||||
|
||||
@@ -2,17 +2,18 @@
|
||||
share: true
|
||||
toc: true
|
||||
categories: [Development, Kubernetes]
|
||||
path: "_posts/development/kubernetes"
|
||||
tags: [kubernetes, sre, devops]
|
||||
title: "09. Deployments: Updating Applications Declaratively"
|
||||
date: "2021-04-30"
|
||||
github_title: "2021-04-30-09-deployments"
|
||||
image:
|
||||
path: /assets/img/posts/Development/Kubernetes/k8s-09.jpeg
|
||||
path: /assets/img/posts/development/kubernetes/k8s-09.jpeg
|
||||
attachment:
|
||||
folder: assets/img/posts/Development/Kubernetes
|
||||
folder: assets/img/posts/development/kubernetes
|
||||
---
|
||||
|
||||
 _Rolling update of Deployments (출처: livebook.manning.com/book/kubernetes-in-action/chapter-9)_
|
||||
 _Rolling update of Deployments (출처: livebook.manning.com/book/kubernetes-in-action/chapter-9)_
|
||||
|
||||
### 주요 내용
|
||||
|
||||
|
||||
@@ -2,17 +2,18 @@
|
||||
share: true
|
||||
toc: true
|
||||
categories: [Development, Kubernetes]
|
||||
path: "_posts/development/kubernetes"
|
||||
tags: [kubernetes, sre, devops]
|
||||
title: "10. StatefulSets: Deploying Replicated Stateful Applications"
|
||||
date: "2021-05-17"
|
||||
github_title: "2021-05-17-10-statefulsets"
|
||||
image:
|
||||
path: /assets/img/posts/Development/Kubernetes/k8s-10.jpeg
|
||||
path: /assets/img/posts/development/kubernetes/k8s-10.jpeg
|
||||
attachment:
|
||||
folder: assets/img/posts/Development/Kubernetes
|
||||
folder: assets/img/posts/development/kubernetes
|
||||
---
|
||||
|
||||
 _A stateful pod may be rescheduled to a different node, but it retains the name, hostname, and storage. (출처: https://livebook.manning.com/book/kubernetes-in-action/chapter-10)_
|
||||
 _A stateful pod may be rescheduled to a different node, but it retains the name, hostname, and storage. (출처: https://livebook.manning.com/book/kubernetes-in-action/chapter-10)_
|
||||
|
||||
### 주요 내용
|
||||
|
||||
|
||||
@@ -2,17 +2,18 @@
|
||||
share: true
|
||||
toc: true
|
||||
categories: [Development, Kubernetes]
|
||||
path: "_posts/development/kubernetes"
|
||||
tags: [kubernetes, sre, devops]
|
||||
title: "11. Understanding Kubernetes Internals"
|
||||
date: "2021-05-30"
|
||||
github_title: "2021-05-30-11-k8s-internals"
|
||||
image:
|
||||
path: /assets/img/posts/Development/Kubernetes/k8s-11.jpeg
|
||||
path: /assets/img/posts/development/kubernetes/k8s-11.jpeg
|
||||
attachment:
|
||||
folder: assets/img/posts/Development/Kubernetes
|
||||
folder: assets/img/posts/development/kubernetes
|
||||
---
|
||||
|
||||
 _The chain of events that unfolds when a Deployment resource is posted to the API server (출처: https://livebook.manning.com/book/kubernetes-in-action/chapter-11)_
|
||||
 _The chain of events that unfolds when a Deployment resource is posted to the API server (출처: https://livebook.manning.com/book/kubernetes-in-action/chapter-11)_
|
||||
|
||||
### 주요 내용
|
||||
|
||||
|
||||
@@ -2,17 +2,18 @@
|
||||
share: true
|
||||
toc: true
|
||||
categories: [Development, Kubernetes]
|
||||
path: "_posts/development/kubernetes"
|
||||
tags: [kubernetes, sre, devops]
|
||||
title: "12. Securing the Kubernetes API Server"
|
||||
date: "2021-06-06"
|
||||
github_title: "2021-06-06-12-securing-k8s-api-server"
|
||||
image:
|
||||
path: /assets/img/posts/Development/Kubernetes/k8s-12.jpeg
|
||||
path: /assets/img/posts/development/kubernetes/k8s-12.jpeg
|
||||
attachment:
|
||||
folder: assets/img/posts/Development/Kubernetes
|
||||
folder: assets/img/posts/development/kubernetes
|
||||
---
|
||||
|
||||
 _Roles grant permissions, whereas RoleBindings bind Roles to subjects (출처: https://livebook.manning.com/book/kubernetes-in-action/chapter-12)_
|
||||
 _Roles grant permissions, whereas RoleBindings bind Roles to subjects (출처: https://livebook.manning.com/book/kubernetes-in-action/chapter-12)_
|
||||
|
||||
### 주요 내용
|
||||
|
||||
|
||||
@@ -2,17 +2,18 @@
|
||||
share: true
|
||||
toc: true
|
||||
categories: [Development, Kubernetes]
|
||||
path: "_posts/development/kubernetes"
|
||||
tags: [kubernetes, sre, devops]
|
||||
title: "13. Securing Cluster Nodes and the Network"
|
||||
date: "2021-06-29"
|
||||
github_title: "2021-06-29-13-securing-nodes-and-network"
|
||||
image:
|
||||
path: /assets/img/posts/Development/Kubernetes/k8s-13.jpeg
|
||||
path: /assets/img/posts/development/kubernetes/k8s-13.jpeg
|
||||
attachment:
|
||||
folder: assets/img/posts/Development/Kubernetes
|
||||
folder: assets/img/posts/development/kubernetes
|
||||
---
|
||||
|
||||
 _A pod with hostNetwork: true uses the node's network interfaces instead of its own. (출처: https://livebook.manning.com/book/kubernetes-in-action/chapter-13)_
|
||||
 _A pod with hostNetwork: true uses the node's network interfaces instead of its own. (출처: https://livebook.manning.com/book/kubernetes-in-action/chapter-13)_
|
||||
|
||||
### 주요 내용
|
||||
|
||||
|
||||
@@ -2,17 +2,18 @@
|
||||
share: true
|
||||
toc: true
|
||||
categories: [Development, Kubernetes]
|
||||
path: "_posts/development/kubernetes"
|
||||
tags: [kubernetes, sre, devops]
|
||||
title: "14. Managing Pods' Computational Resources"
|
||||
date: "2021-07-11"
|
||||
github_title: "2021-07-11-14-managing-computation-resources"
|
||||
image:
|
||||
path: /assets/img/posts/Development/Kubernetes/k8s-14.jpeg
|
||||
path: /assets/img/posts/development/kubernetes/k8s-14.jpeg
|
||||
attachment:
|
||||
folder: assets/img/posts/Development/Kubernetes
|
||||
folder: assets/img/posts/development/kubernetes
|
||||
---
|
||||
|
||||
 _The Scheduler only cares about requests, not actual usage. (출처: https://livebook.manning.com/book/kubernetes-in-action/chapter-14)_
|
||||
 _The Scheduler only cares about requests, not actual usage. (출처: https://livebook.manning.com/book/kubernetes-in-action/chapter-14)_
|
||||
|
||||
### 주요 내용
|
||||
|
||||
|
||||
@@ -2,17 +2,18 @@
|
||||
share: true
|
||||
toc: true
|
||||
categories: [Development, Kubernetes]
|
||||
path: "_posts/development/kubernetes"
|
||||
tags: [kubernetes, sre, devops]
|
||||
title: "15. Automatic Scaling of Pods and Cluster Nodes"
|
||||
date: "2021-07-18"
|
||||
github_title: "2021-07-18-15-autoscaling"
|
||||
image:
|
||||
path: /assets/img/posts/Development/Kubernetes/k8s-15.jpeg
|
||||
path: /assets/img/posts/development/kubernetes/k8s-15.jpeg
|
||||
attachment:
|
||||
folder: assets/img/posts/Development/Kubernetes
|
||||
folder: assets/img/posts/development/kubernetes
|
||||
---
|
||||
|
||||
 _How the autoscaler obtains metrics and rescales the target deployment (출처: https://livebook.manning.com/book/kubernetes-in-action/chapter-15)_
|
||||
 _How the autoscaler obtains metrics and rescales the target deployment (출처: https://livebook.manning.com/book/kubernetes-in-action/chapter-15)_
|
||||
|
||||
### 주요 내용
|
||||
|
||||
|
||||
@@ -2,17 +2,18 @@
|
||||
share: true
|
||||
toc: true
|
||||
categories: [Development, Kubernetes]
|
||||
path: "_posts/development/kubernetes"
|
||||
tags: [kubernetes, sre, devops]
|
||||
title: "16. Advanced Scheduling"
|
||||
date: "2021-08-15"
|
||||
github_title: "2021-08-15-16-advanced-scheduling"
|
||||
image:
|
||||
path: /assets/img/posts/Development/Kubernetes/k8s-16.jpeg
|
||||
path: /assets/img/posts/development/kubernetes/k8s-16.jpeg
|
||||
attachment:
|
||||
folder: assets/img/posts/Development/Kubernetes
|
||||
folder: assets/img/posts/development/kubernetes
|
||||
---
|
||||
|
||||
 _A pod is only scheduled to a node if it tolerates the node’s taints. (출처: https://livebook.manning.com/book/kubernetes-in-action/chapter-16)_
|
||||
 _A pod is only scheduled to a node if it tolerates the node’s taints. (출처: https://livebook.manning.com/book/kubernetes-in-action/chapter-16)_
|
||||
|
||||
### 주요 내용
|
||||
|
||||
|
||||
@@ -2,17 +2,18 @@
|
||||
share: true
|
||||
toc: true
|
||||
categories: [Development, Kubernetes]
|
||||
path: "_posts/development/kubernetes"
|
||||
tags: [kubernetes, sre, devops]
|
||||
title: "17. Best Practices for Developing Apps"
|
||||
date: "2021-08-15"
|
||||
github_title: "2021-08-15-17-best-practices"
|
||||
image:
|
||||
path: /assets/img/posts/Development/Kubernetes/k8s-17.jpeg
|
||||
path: /assets/img/posts/development/kubernetes/k8s-17.jpeg
|
||||
attachment:
|
||||
folder: assets/img/posts/Development/Kubernetes
|
||||
folder: assets/img/posts/development/kubernetes
|
||||
---
|
||||
|
||||
 _Resources in a typical application (출처: https://livebook.manning.com/book/kubernetes-in-action/chapter-17)_
|
||||
 _Resources in a typical application (출처: https://livebook.manning.com/book/kubernetes-in-action/chapter-17)_
|
||||
|
||||
### 주요 내용
|
||||
|
||||
|
||||
@@ -2,17 +2,18 @@
|
||||
share: true
|
||||
toc: true
|
||||
categories: [Development, Kubernetes]
|
||||
path: "_posts/development/kubernetes"
|
||||
tags: [kubernetes, sre, devops]
|
||||
title: "18. Extending Kubernetes"
|
||||
date: "2021-09-04"
|
||||
github_title: "2021-09-04-18-extending-k8s"
|
||||
image:
|
||||
path: /assets/img/posts/Development/Kubernetes/k8s-18.jpeg
|
||||
path: /assets/img/posts/development/kubernetes/k8s-18.jpeg
|
||||
attachment:
|
||||
folder: assets/img/posts/Development/Kubernetes
|
||||
folder: assets/img/posts/development/kubernetes
|
||||
---
|
||||
|
||||
 _API Server Aggregation (출처: https://livebook.manning.com/book/kubernetes-in-action/chapter-18)_
|
||||
 _API Server Aggregation (출처: https://livebook.manning.com/book/kubernetes-in-action/chapter-18)_
|
||||
|
||||
### 주요 내용
|
||||
|
||||
|
||||
@@ -1,16 +1,21 @@
|
||||
---
|
||||
share: true
|
||||
toc: true
|
||||
categories: [Development, Web]
|
||||
tags: [development, web]
|
||||
title: "블로그 이주 이야기"
|
||||
date: "2023-06-25"
|
||||
github_title: "2023-06-25-blog-moving"
|
||||
categories:
|
||||
- Development
|
||||
- Web
|
||||
path: _posts/development/web
|
||||
tags:
|
||||
- development
|
||||
- web
|
||||
title: 블로그 이주 이야기
|
||||
date: 2023-06-25
|
||||
github_title: 2023-06-25-blog-moving
|
||||
image:
|
||||
path: /assets/img/posts/blog-logo.png
|
||||
---
|
||||
|
||||
 _New blog logo_
|
||||
 _New blog logo_
|
||||
|
||||
오래 전, Github Pages가 불편하다는 이유로 티스토리로 옮겼었다.
|
||||
근데 어쩌다 보니 결국 다시 돌아오게 되었다.
|
||||
@@ -57,15 +62,15 @@ image:
|
||||
|
||||
마지막으로 Graph View가 좀 사기인 것 같다. Reddit에서 Obsidian에 수업 필기하는 사람들의 Graph View 결과를 몇 개 봤는데, 문서 간의 수많은 연결고리가 마치 지식이 서로 연결되어 있는 느낌을 줬다. 사실 처음으로 Obsidian을 접했을 때 해보고 싶었던 것이 있었다. 배우고 있는 과목의 내용을 잘 정리해서 서로 링크로 연결하여 그 과목에서 배운 내용에 대한 지도를 만드는 것이다. 기회가 된다면 꼭 한 번 해보고 그 결과물을 Graph View로 보고 싶다.
|
||||
|
||||
아무튼, 종합하면 Notion보다는 Obsidian이 맞겠다는 판단을 하고 과감하게 Obsidian으로 옮겼다.
|
||||
아무튼, 종합하면 Notion보다는 Obsidian이 맞겠다는 판단을 하고 과감하게 Obsidian으로 옮겼다.
|
||||
|
||||
물론 이 결정을 한 시점은 시험기간이었음을 밝힌다.[^1]
|
||||
물론 이 결정을 한 시점은 시험기간이었음을 밝힌다.[^1]
|
||||
|
||||
## Obsidian with Github Publisher Plugin
|
||||
|
||||
Obsidian을 Github과 연동하기 위해 [Obsidian Github Publisher](https://github.com/ObsidianPublisher/obsidian-github-publisher) 플러그인을 사용할 수 있다.
|
||||
|
||||
{: .shadow } _플러그인 설정 화면: 어느 폴더에 어떤 이름으로 파일을 업로드할지 설정할 수 있다._
|
||||
{: .shadow } _플러그인 설정 화면: 어느 폴더에 어떤 이름으로 파일을 업로드할지 설정할 수 있다._
|
||||
|
||||
이 플러그인을 사용하면 Obsidian의 문서 중에서 `share: true` 로 마킹된 문서들을 레포에 저장할 수 있게 된다. 그렇다면 블로그 글을 Obsidian에서 작성하고, 플러그인을 이용해 레포에 push하게 되면, 자동으로 빌드/배포가 이뤄져서 블로그에 반영되는 것을 확인할 수 있을 것이다.
|
||||
|
||||
Reference in New Issue
Block a user