Skip to content

Commit

Permalink
[ko] Update dev-1.22-ko.2 (M52,M53)
Browse files Browse the repository at this point in the history
  • Loading branch information
yoonian committed Nov 8, 2021
1 parent 6eb257f commit 3b1edf7
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 7 deletions.
60 changes: 54 additions & 6 deletions content/ko/docs/setup/best-practices/certificates.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,13 @@ etcd 역시 클라이언트와 피어 간에 상호 TLS 인증을 구현한다.

## 인증서를 저장하는 위치

만약 쿠버네티스를 kubeadm으로 설치했다면 인증서는 `/etc/kubernetes/pki`에 저장된다. 이 문서에 언급된 모든 파일 경로는 그 디렉터리에 상대적이다.
만약 쿠버네티스를 kubeadm으로 설치했다면, 대부분의 인증서는 `/etc/kubernetes/pki`에 저장된다. 이 문서에 언급된 모든 파일 경로는 그 디렉터리에 상대적이나, kubeadm이 `/etc/kubernetes`에 저장하는 사용자 어카운트 인증서는 예외이다.

## 인증서 수동 설정

필요한 인증서를 kubeadm으로 생성하기 싫다면 다음 방법 중 하나로 생성할 수 있다.
필요한 인증서를 kubeadm으로 생성하기 싫다면, 단일 루트 CA를 이용하거나 모든 인증서를 제공하여 생성할 수 있다. 소유한 인증기관을 이용해서 생성하는 방법에 대해서는 [인증서](/ko/docs/tasks/administer-cluster/certificates/)를 살펴본다.
인증서를 관리하는 방법에 대해서는 [kubeadm을 사용한 인증서 관리](/ko/docs/tasks/administer-cluster/kubeadm/kubeadm-certs/)를 살펴본다.


### 단일 루트 CA

Expand All @@ -55,7 +57,16 @@ etcd 역시 클라이언트와 피어 간에 상호 TLS 인증을 구현한다.
| front-proxy-ca.crt,key | kubernetes-front-proxy-ca | [front-end proxy](/docs/tasks/extend-kubernetes/configure-aggregation-layer/) 위해서 |

위의 CA외에도, 서비스 계정 관리를 위한 공개/개인 키 쌍인 `sa.key``sa.pub` 을 얻는 것이 필요하다.
다음은 이전 표에 나온 CA 키와 인증서 파일을 보여준다.

```
/etc/kubernetes/pki/ca.crt
/etc/kubernetes/pki/ca.key
/etc/kubernetes/pki/etcd/ca.crt
/etc/kubernetes/pki/etcd/ca.key
/etc/kubernetes/pki/front-proxy-ca.crt
/etc/kubernetes/pki/front-proxy-ca.key
```
### 모든 인증서

이런 개인키를 API 서버에 복사하기 원치 않는다면, 모든 인증서를 스스로 생성할 수 있다.
Expand All @@ -72,7 +83,8 @@ etcd 역시 클라이언트와 피어 간에 상호 TLS 인증을 구현한다.
| kube-apiserver-kubelet-client | kubernetes-ca | system:masters | client | |
| front-proxy-client | kubernetes-front-proxy-ca | | client | |

[1]: 클러스터에 접속한 다른 IP 또는 DNS 이름([kubeadm](/ko/docs/reference/setup-tools/kubeadm/) 이 사용하는 로드 밸런서 안정 IP 또는 DNS 이름, `kubernetes`, `kubernetes.default`, `kubernetes.default.svc`,
[1]: 클러스터에 접속한 다른 IP 또는 DNS 이름([kubeadm](/ko/docs/reference/setup-tools/kubeadm/)이 사용하는
로드 밸런서 안정 IP 또는 DNS 이름, `kubernetes`, `kubernetes.default`, `kubernetes.default.svc`,
`kubernetes.default.svc.cluster`, `kubernetes.default.svc.cluster.local`)

`kind`는 하나 이상의 [x509 키 사용](https://godoc.org/k8s.io/api/certificates/v1beta1#KeyUsage) 종류를 가진다.
Expand All @@ -95,9 +107,10 @@ kubeadm 사용자만 해당:

{{< /note >}}

### 인증서 파일 경로
### 인증서 파일 경로 {#certificate-paths}

인증서는 권고하는 파일 경로에 존재해야 한다([kubeadm](/ko/docs/reference/setup-tools/kubeadm/)에서 사용되는 것처럼). 경로는 위치에 관계없이 주어진 파라미터를 사용하여 지정해야 한다.
인증서는 권고하는 파일 경로에 존재해야 한다([kubeadm](/ko/docs/reference/setup-tools/kubeadm/)에서 사용되는 것처럼).
경로는 위치에 관계없이 주어진 파라미터를 사용하여 지정해야 한다.

| 기본 CN | 권고되는 키 파일 경로 | 권고하는 인증서 파일 경로 | 명령어 | 키 파라미터 | 인증서 파라미터 |
|------------------------------|------------------------------|-----------------------------|----------------|------------------------------|-------------------------------------------|
Expand All @@ -123,6 +136,32 @@ kubeadm 사용자만 해당:
| sa.key | | kube-controller-manager | --service-account-private-key-file |
| | sa.pub | kube-apiserver | --service-account-key-file |

다음은 키와 인증서를 모두 생성할 때에 제공해야 하는 [이전 표에 있는](#certificate-paths) 파일의 경로를 보여준다.

```
/etc/kubernetes/pki/etcd/ca.key
/etc/kubernetes/pki/etcd/ca.crt
/etc/kubernetes/pki/apiserver-etcd-client.key
/etc/kubernetes/pki/apiserver-etcd-client.crt
/etc/kubernetes/pki/ca.key
/etc/kubernetes/pki/ca.crt
/etc/kubernetes/pki/apiserver.key
/etc/kubernetes/pki/apiserver.crt
/etc/kubernetes/pki/apiserver-kubelet-client.key
/etc/kubernetes/pki/apiserver-kubelet-client.crt
/etc/kubernetes/pki/front-proxy-ca.key
/etc/kubernetes/pki/front-proxy-ca.crt
/etc/kubernetes/pki/front-proxy-client.key
/etc/kubernetes/pki/front-proxy-client.crt
/etc/kubernetes/pki/etcd/server.key
/etc/kubernetes/pki/etcd/server.crt
/etc/kubernetes/pki/etcd/peer.key
/etc/kubernetes/pki/etcd/peer.crt
/etc/kubernetes/pki/etcd/healthcheck-client.key
/etc/kubernetes/pki/etcd/healthcheck-client.crt
/etc/kubernetes/pki/sa.key
/etc/kubernetes/pki/sa.pub
```
## 각 사용자 계정을 위한 인증서 설정하기

반드시 이런 관리자 계정과 서비스 계정을 설정해야 한다.
Expand All @@ -142,7 +181,7 @@ kubeadm 사용자만 해당:

1. 각 환경 설정에 대해 다음과 같이 `kubectl`를 실행한다.

```shell
```
KUBECONFIG=<filename> kubectl config set-cluster default-cluster --server=https://<host ip>:6443 --certificate-authority <path-to-kubernetes-ca> --embed-certs
KUBECONFIG=<filename> kubectl config set-credentials <credential-name> --client-key <path-to-key>.pem --client-certificate <path-to-cert>.pem --embed-certs
KUBECONFIG=<filename> kubectl config set-context default-system --cluster default-cluster --user <credential-name>
Expand All @@ -157,3 +196,12 @@ KUBECONFIG=<filename> kubectl config use-context default-system
| kubelet.conf | kubelet | 클러스터 각 노드를 위해 필요하다. |
| controller-manager.conf | kube-controller-manager | 반드시 매니페스트를 `manifests/kube-controller-manager.yaml`에 추가해야 한다. |
| scheduler.conf | kube-scheduler | 반드시 매니페스트를 `manifests/kube-scheduler.yaml`에 추가해야 한다. |

다음의 파일은 이전 표에 나열된 파일의 전체 경로를 보여준다.

```
/etc/kubernetes/admin.conf
/etc/kubernetes/kubelet.conf
/etc/kubernetes/controller-manager.conf
/etc/kubernetes/scheduler.conf
```
3 changes: 2 additions & 1 deletion content/ko/docs/setup/learning-environment/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ weight: 20
{{/* If you're localizing this page, you only need to copy the front matter */}}
{{/* and add a redirect into "/static/_redirects", for YOUR localization. */}}
-->

<!--
## kind
[`kind`](https://kind.sigs.k8s.io/docs/)를 사용하면 로컬 컴퓨터에서
Expand All @@ -31,3 +31,4 @@ kind를 시작하고 실행하기 위해 해야 할 일이 나와 있다.
툴을 설치하고 싶으면
[시작하기!](https://minikube.sigs.k8s.io/docs/start/) 공식 가이드를
참조하기 바란다.
-->

0 comments on commit 3b1edf7

Please sign in to comment.