Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update outdated files of setup and tasks in dev-1.14-ko.2 partly #13893

Merged
merged 1 commit into from
Apr 20, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
111 changes: 68 additions & 43 deletions content/ko/docs/setup/cri.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,20 +12,21 @@ weight: 100

{{% capture body %}}


{{< caution >}}
컨테이너를 실행할 때 runc가 시스템 파일 디스크립터를 처리하는 방식에서 결함이 발견되었다.
악성 컨테이너는 이 결함을 사용하여 runc 바이너리의 내용을 덮어쓸 수 있으며
따라서 컨테이너 호스트 시스템에서 임의의 명령을 실행할 수 있다.

이 문제에 대한 자세한 내용은
이 문제에 대한 자세한 내용은
[cve-2019-5736 : runc 취약점 ] (https://access.redhat.com/security/cve/cve-2019-5736) 참고하자.
{{< /caution >}}

### 적용 가능성

{{< note >}}
이 문서는 Linux에 CRI를 설치하는 사용자를 위해 작성되었다.
다른 운영 체제의 경우, 해당 플랫폼과 관련된 문서를 찾아보자.
다른 운영 체제의 경우, 해당 플랫폼과 관련된 문서를 찾아보자.
{{< /note >}}

이 가이드의 모든 명령은 `root`로 실행해야 한다.
Expand Down Expand Up @@ -61,23 +62,20 @@ Control group은 프로세스에 할당된 리소스를 제한하는데 사용
{{< tabs name="tab-cri-docker-installation" >}}
{{< tab name="Ubuntu 16.04" codelang="bash" >}}
# Docker CE 설치
## 저장소 설정
### apt 패키지 인덱스 업데이트
apt-get update

### apt가 HTTPS 저장소를 사용할 수 있도록 해주는 패키지 설치
apt-get update && apt-get install apt-transport-https ca-certificates curl software-properties-common
## 리포지터리 설정
### apt가 HTTPS 리포지터리를 사용할 수 있도록 해주는 패키지 설치
apt-get update && apt-get install apt-transport-https ca-certificates curl software-properties-common

### Docker의 공식 GPG 키 추가
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -

### Docker apt 저장소 추가.
add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
### Docker apt 리포지터리 추가.
add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"

## Docker ce 설치.
## Docker CE 설치.
apt-get update && apt-get install docker-ce=18.06.2~ce~3-0~ubuntu

# 데몬 설정.
Expand All @@ -101,19 +99,19 @@ systemctl restart docker
{{< tab name="CentOS/RHEL 7.4+" codelang="bash" >}}

# Docker CE 설치
## 저장소 설정
## 리포지터리 설정
### 필요한 패키지 설치.
yum install yum-utils device-mapper-persistent-data lvm2
yum install yum-utils device-mapper-persistent-data lvm2

### Docker 저장소 추가
### Docker 리포지터리 추가
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

## Docker ce 설치.
## Docker CE 설치.
yum update && yum install docker-ce-18.06.2.ce

## /etc/docker 디렉토리 생성.
## /etc/docker 디렉터리 생성.
mkdir /etc/docker

# 데몬 설정.
Expand Down Expand Up @@ -220,36 +218,63 @@ EOF
sysctl --system
```

### containerd 설치

{{< tabs name="tab-cri-containerd-installation" >}}
{{< tab name="Ubuntu 16.04+" codelang="bash" >}}
apt-get install -y libseccomp2
{{< tab name="Ubuntu 16.04" codelang="bash" >}}
# containerd 설치
## 리포지터리 설정
### apt가 HTTPS로 리포지터리를 사용하는 것을 허용하기 위한 패키지 설치
apt-get update && apt-get install -y apt-transport-https ca-certificates curl software-properties-common

### Docker의 공식 GPG 키 추가
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -

### Docker apt 리포지터리 추가.
add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"

## containerd 설치
apt-get update && apt-get install -y containerd.io

# containerd 설정
mkdir -p /etc/containerd
containerd config default > /etc/containerd/config.toml

# containerd 재시작
systemctl restart containerd
{{< /tab >}}
{{< tab name="CentOS/RHEL 7.4+" codelang="bash" >}}
yum install -y libseccomp
{{< /tab >}}
{{< /tabs >}}

### Containerd 설치
# containerd 설치
## 리포지터리 설정
### 필요한 패키지 설치
yum install yum-utils device-mapper-persistent-data lvm2

[Containerd 릴리스](https://github.com/containerd/containerd/releases)는 주기적으로 출판된다. 아래의 값들은 작성 당시에 가용한 최신 버전을 기준으로 하드코드 되었다. 새로운 버전과 해시는 [여기](https://storage.googleapis.com/cri-containerd-release)에서 참고한다.
### Docker 리포지터리 추가리
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

```shell
# 요구되는 환경 변수 export.
export CONTAINERD_VERSION="1.1.2"
export CONTAINERD_SHA256="d4ed54891e90a5d1a45e3e96464e2e8a4770cd380c21285ef5c9895c40549218"
## containerd 설치
yum update && yum install containerd.io

# containerd tar 다운로드.
wget https://storage.googleapis.com/cri-containerd-release/cri-containerd-${CONTAINERD_VERSION}.linux-amd64.tar.gz
# containerd 설정
mkdir -p /etc/containerd
containerd config default > /etc/containerd/config.toml

# 해시 확인.
echo "${CONTAINERD_SHA256} cri-containerd-${CONTAINERD_VERSION}.linux-amd64.tar.gz" | sha256sum --check -
# containerd 재시작
systemctl restart containerd
{{< /tab >}}
{{< /tabs >}}

# 풀기.
tar --no-overwrite-dir -C / -xzf cri-containerd-${CONTAINERD_VERSION}.linux-amd64.tar.gz
### systemd

# containerd 시작.
systemctl start containerd
```
`systemd` cgroup driver를 사용하려면, `/etc/containerd/config.toml`의 `plugins.cri.systemd_cgroup = true`을 설정한다.
kubeadm을 사용하는 경우에도 마찬가지로, 수동으로
[cgroup driver for kubelet](/docs/setup/independent/install-kubeadm/#configure-cgroup-driver-used-by-kubelet-on-master-node)을
설정해준다.

## 다른 CRI 런타임: frakti

Expand Down
6 changes: 3 additions & 3 deletions content/ko/docs/setup/multiple-zones.md
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ kubernetes-minion-wf8i Ready <none> 2m v1.13.0
Create a volume using the dynamic volume creation (only PersistentVolumes are supported for zone affinity):

```json
kubectl create -f - <<EOF
kubectl apply -f - <<EOF
{
"kind": "PersistentVolumeClaim",
"apiVersion": "v1",
Expand Down Expand Up @@ -236,7 +236,7 @@ Because GCE PDs / AWS EBS volumes cannot be attached across zones,
this means that this pod can only be created in the same zone as the volume:

```yaml
kubectl create -f - <<EOF
kubectl apply -f - <<EOF
kind: Pod
apiVersion: v1
metadata:
Expand Down Expand Up @@ -303,7 +303,7 @@ kubectl get nodes --show-labels
Create the guestbook-go example, which includes an RC of size 3, running a simple web app:

```shell
find kubernetes/examples/guestbook-go/ -name '*.json' | xargs -I {} kubectl create -f {}
find kubernetes/examples/guestbook-go/ -name '*.json' | xargs -I {} kubectl apply -f {}
```

The pods should be spread across all 3 zones:
Expand Down
Loading