HomeAbout
[Kubernetes] GCP에서 Kubespray로 Kubernetes 클러스터 구축하기: 단계별 가이드
Docker & Kubernetes
[Kubernetes] GCP에서 Kubespray로 Kubernetes 클러스터 구축하기: 단계별 가이드
NASA1515
NASA1515
June 29, 2021
2 min

목차

01
✔ 사전준비
02
✌ 구성 (Install)
03
Kubespray 로 환경 설정하기
04
👍 Kubespray 설치하기

✔ 사전준비

  • 이번 포스트에 구성할 노드는 Master 노드 하나Worker 노드 세 개로 총 네 개의 서버가 필요합니다.

노드의 최소 요구 사양은 다음과 같습니다.

항목사양
CPU1 CPU 이상
메모리2 GB 이상
OSCentOS 7, RHEL 7, Ubuntu 16.04+ etc.

또한 각 서버는 다음 조건을 만족해야 합니다.

  • 각 노드가 서로 네트워크 연결되어 있어야 합니다.
  • 각 노드는 다음 정보가 겹치지 않아야 합니다.
hostname: hostname
MAC address: ip link 또는 ifconfig -a
product_uuid: sudo cat /sys/class/dmi/id/product_uuid

각 노드가 사용하는 포트입니다. 각 포트는 방화벽에서 모두 허용 되어 있어야 합니다.

노드프로토콜방향포트 범위목적누가 사용?
MasterTCPInbound6443Kubernetes API serverAll
MasterTCPInbound2379-2380etcd server client APIkube-apiserver, etcd
MasterTCPInbound10250Kubelet APISelf, Control plane
MasterTCPInbound10251kube-schedulerSelf
MasterTCPInbound10252kube-controller-managerSelf
WorkerTCPInbound10250Kubelet APISelf, Control plane
WorkerTCPInbound30000-32767NodePort ServicesAll

✌ 구성 (Install)


구성 전 안내

  • GCP에는 이미 Kubernetes Engine란 이름으로 쿠버네티스를 사용할 수 있는 서비스를 제공하고 있습니다.

스크린샷, 2020-08-20 12-34-57


실제 해당 메뉴에 들어가보면 이렇게 설치 없이 바로 클러스터를 만들 수 있습니다.

  • 하지만 이번 포스트에서는 쿠버스프레이를 이용한 구성방법을 포스팅 할 것이기 때문에 해당 서비스는 넘기겠습니다.

Kubespray 로 환경 설정하기


GCP Console에 접속 후 아래 Spec으로 4개의 Instance를 생성합니다.


아래처럼 VM 인스턴스 4개를 생성해야 합니다.


설치 전 사전 작업

  • 사전 작업은 master, node1, node2, node3 모두 동일하게 진행합니다.

사전 작업의 모든 과정은 root 권한으로 진행합니다.

sudo su -

스왑 메모리 사용 중지

  • Swap 은 디스크의 일부 공간을 메모리처럼 사용하는 기능입니다. Kubelet 이 정상 동작할 수 있도록 swap 디바이스와 파일 모두 disable 합니다.
swapoff -a
echo 0 > /proc/sys/vm/swappiness
sed -e '/swap/ s/^#*/#/' -i /etc/fstab
  • swapoff -a: paging 과 swap 기능을 끕니다.
  • /proc/sys/vm/swappiness: 커널 속성을 변경해 swap을 disable 합니다.
  • /etc/fastab: Swap을 하는 파일 시스템을 찾아 disable 합니다.

각 노드의 통신을 원활하게 하기 위해 방화벽을 해제합니다.

systemctl disable firewalld
systemctl stop firewalld

SELinux(Security-Enhanced Linux) 종료. 컨테이너가 호스트의 파일시스템에 접속할 수 있도록 해당 기능을 꺼야 합니다.

setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

RHELCentOS 7에서 iptables 관련 이슈가 있어 커널 매개변수를 다음과 같이 수정하고 적용합니다.

cat <<EOF >  /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system

br_netfilter 모듈활성화합니다. modprobe br_netfilter 명령어로 해당 모듈을 명시적으로 추가합니다.

$ modprobe br_netfilter
$ lsmod | grep br_netfilter [확인]

설치 진행

  • 앤서블의 인벤토리는 SSH(RSA) 기반으로 동작하므로 VM끼리의 공개 키를 공유해줘야 합니다.

각 인스턴스 별로 호스트 네임을 설정해줍니다.

  • 사실 GCP는 자동적으로 인스턴스의 이름을 받아오지만 GCP가 아닌 직접 구성을 할 경우에는 호스트네임을 모두 바꿔주어야 합니다.
[h43254@nasa-node3 ~]$ hostnamectl set-hostname nasa-node3
[h43254@nasa-node3 ~]$ hostname
nasa-node3

MASTER 인스턴스에 HOST 정보 및 SSH 권한 설정을 합니다. GCP에서는 할 필요가 없지만 직접 구성시에는 필요합니다.

  • /etc/hosts에 각 노드 등록
[h43254@nasa-master ~]$ sudo cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
10.178.0.2      nasa-master
10.178.0.4      nasa-node1
10.178.0.5      nasa-node2
10.178.0.3      nasa-node3

ssh 유저 권한 설정을 위해 master서버/etc/sudoers 파일에 내용을 추가

스크린�샷, 2020-08-21 09-49-17

  • h43254라는 유저에 대해서 패스워드를 물어보지 않겠다는 설정입니다.

공개키 설정을 위해서 SSH 버튼을 눌러서 nasa-master에 접속해 ssh-keygen -t rsa를 입력. 공개키를 생성합니다.

  • (그 외에 옵션은 Enter를 눌러서 기본값을 넣어줍니다.)
[h43254@nasa-master ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/h43254/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/h43254/.ssh/id_rsa.
Your public key has been saved in /home/h43254/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:sr6RS6MW/ESkXfbVBi9LTdRSfPm3a2F7VrC9K8e93mc h43254@nasa-master
The key's randomart image is:
+---[RSA 2048]----+
|            .+o+o|
|      . o   .++.+|
|     + o . .o.o.o|
|    . o   .. o. o|
|   . .. S   .  +o|
|    o .+      .+o|
|     +*       o B|
|    .+.+     . BE|
|   .. +.      =|
+----[SHA256]-----+

키가 잘 만들어 있는지 확인하기 위해서 아래 명령어로 확인합니다.

[h43254@nasa-master ~]$ cd .ssh
[h43254@nasa-master .ssh]$ ls -al
total 8
drwx------. 2 h43254 h43254   38 Aug 20 05:31 .
drwx------. 3 h43254 h43254   74 Aug 20 05:28 ..
-rw-------. 1 h43254 h43254 1679 Aug 20 05:30 id_rsa
-rw-r--r--. 1 h43254 h43254  400 Aug 20 05:30 id_rsa.pub       ## 정상 생성.

아래 명령어를 통해서 공개키를 복사하고, 나온 명령어를 복사합니다.

[h43254@nasa-master .ssh]$ cat id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMcBYtD/NDrxGOyjPJ9DryBOWzoWlVszqI+jqSAUeAsZ+hwjTtyU60I3vuBn9Ge6HcgKfKUccUyGPickMyTXk2qzeMsa9iN0MOgLZ3GM//aFE5z6yoEvjPJ9KxQg9qRrLhUUWqYtBhyegBt26+YdSWF24ZNutp7CRLtVQpwT/opMkY9XTseaD1kaj1BZF8ls2V5WNCgC504JfPKuKBVKcbuOwBIBv6TyZhhGXRWfKTKpma3/L5Yhc4qNOZGDo913/kkwlMpqPb4JQAEasXELfFPMou9vPOaKEK7CDdcJ/EOkXct7d43vnMRa8360okA+BMP7vJ4c4ElW+T0op5rt h43254@nasa-master

GCP에 공개키를 등록하기 위해서 Compute Engine - 메타데이터- SSH 에서 공개 키를 추가합니다.

스크린샷, 2020-08-20 14-43-15

  • 복사한 키를 넣으면 자동으로 왼쪽에 아이디(여기서는 h43254)이 나타납니다.
    아이디를 확인 한 다음에 저장을 누릅니다. (만약에 나타나지 않았다면 공개키 코드의 띄어쓰기 때문이니 확인해야 합니다)

메타데이터 정상 확인을 위해 NODE1에 접속 후 확인합니다.

[h43254@nasa-node1 ~]$ cat .ssh/authorized_keys 
# Added by Google
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCJjI66r5lO6y/3NVCDA9RZt98Djs1LDLL4rScU+scCDdIJmEHhqvOSU7bmK+a8BezaoqmlQgBWKt0Yj6FqxXyokAs2KBNEJMDA99yTAiyR1omopwsgD7Ce50iUDGs6jWvagPktuUznYyi75hQXoTQKt9FEhjBrpLBxoBZUoBgxa67mkc+rn1icoWoKRlAEt1UQzmT13Spx6ueTMYxC5CZIhPlWpTRpe5SthSvuOShv5KZy+0ByOycrTUrjDfqIY1zPiOJb5Q92UXbmSbsk2ZEMyD5JCC5kvD4poQBToE/mdFcdvfAkta/l9qh2qmI8FMHKkelLXM0m82yM0IRStR google-ssh {"userName":"h43254@gmail.com","expireOn":"2020-08-20T05:49:24+0000"}
# Added by Google
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFwFZIw8RvKf9xUVUx+NO3yzwCMFgqTRB2UxxnjqrxImnPWraBpEKdtY4m/VIxn9hL26OyF3fD+NRGMySo7xlnI= google-ssh{"userName":"h43254@gmail.com","expireOn":"2020-08-20T05:49:22+0000"}
# Added by Google         ###### 정상 등록 확인!!! ######
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMcBYtD/NDrxGOyjPJ9DryBOWzoWlVszqI+jqSAUeAsZ+hwjTtyU60I3vuBn9Ge6HcgKfKUccUyGPickMyTXk2qzeMsa9iN0MOgLZ3GM//aFE5z6yoEvjPJ9KxQg9qRrLhUUWqYtBhyegBt26+YdSWF24ZNutp7CRLtVQpwT/opMkY9XTseaD1kaj1BZF8ls2V5WNCgC504JfPKuKBVKcbuOwBIBv6TyZhhGXRWfKTKpma3/L5Yhc4qNOZGDo913/kkwlMpqPb4JQAEasXELfFPMou9vPOaKEK7CDdcJ/EOkXct7d43vnMRa8360okA+BMP7vJ4c4ElW+T0op5rt h43254@nasa-master
[h43254@nasa-node1 ~]$ 

터미널에서 cat .ssh/authorized_keys를 쳐보면 등록된 키를 확인할 수 있습니다.

  • 자 이제 마스터 <-> 노드의 통신이 원활해졌으니 본격적으로 설치를 진행하죠.


👍 Kubespray 설치하기

스크린샷, 2020-08-20 14-57-48

  • 이제 Kubespray를 설치해보도록 하겠습니다. Kubespray는 Ansible을 기반으로 Kubernetes를 설치하는 도구 입니다.

우선 Master 인스턴스인 nasa-master에서 패키지를 업데이트 합니다.

[h43254@nasa-master .ssh]$ sudo yum update
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.navercorp.com
* epel: d2lzkl7pfhq30w.cloudfront.net
* extras: mirror.navercorp.com
* updates: mirror.navercorp.com
Resolving Dependencies
--> Running transaction check
---> Package google-cloud-sdk.x86_64 0:304.0.0-1 will be updated
---> Package google-cloud-sdk.x86_64 0:306.0.0-1 will be an update
--> Finished Dependency Resolution
....
....(중략)
Updated:
google-cloud-sdk.x86_64 0:306.0.0-1                                                                                                                                                        
Complete!

그리고 pip를 설치합니다.

[h43254@nasa-master /]$ sudo yum -y install python-pip
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.navercorp.com
* epel: d2lzkl7pfhq30w.cloudfront.net
* extras: mirror.navercorp.com
* updates: mirror.navercorp.com
Resolving Dependencies
--> Running transaction check
...
...(중략)
python-ipaddress.noarch 0:1.0.16-2.el7                                                       
python-setuptools.noarch 0:0.9.8-7.el7                                                       

Complete!

패키지가 정상적으로 설치되었는지 확인해봅니다

[h43254@nasa-master /]$ pip --version
pip 8.1.2 from /usr/lib/python2.7/site-packages (python 2.7)

git clone 명령어를 통해서 Kubespray File을 다운로드 합니다.

$ git clone https://github.com/kubernetes-sigs/kubespray.git

다운로드 완료!!

[h43254@nasa-master /]$ sudo git clone https://github.com/kubernetes-sigs/kubespray.git
Cloning into 'kubespray'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 46404 (delta 2), reused 2 (delta 2), pack-reused 46401
Receiving objects: 100% (46404/46404), 13.45 MiB | 6.09 MiB/s, done.
Resolving deltas: 100% (25881/25881), done.

다운받은 설치 파일은 아래와 같습니다.

$ cd kubespray/
$ ls -alrt
[h43254@nasa-master /]$ cd /kubespray/
[h43254@nasa-master kubespray]$ ls -alrt 
total 184
dr-xr-xr-x. 18 root root   241 Aug 20 06:26 ..
-rw-r--r--.  1 root root   285 Aug 20 06:26 .editorconfig
-rw-r--r--.  1 root root   832 Aug 20 06:26 .ansible-lint
-rw-r--r--.  1 root root     0 Aug 20 06:26 .nojekyll
-rw-r--r--.  1 root root    17 Aug 20 06:26 .markdownlint.yaml
-rw-r--r--.  1 root root     0 Aug 20 06:26 .gitmodules
-rw-r--r--.  1 root root  1980 Aug 20 06:26 .gitlab-ci.yml
drwxr-xr-x.  2 root root   102 Aug 20 06:26 .gitlab-ci
-rw-r--r--.  1 root root  1192 Aug 20 06:26 .gitignore
drwxr-xr-x.  3 root root    60 Aug 20 06:26 .github
-rw-r--r--.  1 root root   289 Aug 20 06:26 .yamllint
-rw-r--r--.  1 root root   531 Aug 20 06:26 SECURITY_CONTACTS
-rw-r--r--.  1 root root  3272 Aug 20 06:26 RELEASE.md
-rw-r--r--.  1 root root 12328 Aug 20 06:26 README.md
-rw-r--r--.  1 root root   283 Aug 20 06:26 OWNERS_ALIASES
-rw-r--r--.  1 root root   121 Aug 20 06:26 OWNERS
-rw-r--r--.  1 root root    85 Aug 20 06:26 Makefile
-rw-r--r--.  1 root root 11342 Aug 20 06:26 LICENSE
-rw-r--r--.  1 root root   969 Aug 20 06:26 Dockerfile
-rw-r--r--.  1 root root  1661 Aug 20 06:26 CONTRIBUTING.md
-rw-r--r--.  1 root root    12 Aug 20 06:26 CNAME
-rw-r--r--.  1 root root 10127 Aug 20 06:26 Vagrantfile
-rw-r--r--.  1 root root    30 Aug 20 06:26 _config.yml
-rw-r--r--.  1 root root   148 Aug 20 06:26 code-of-conduct.md
-rw-r--r--.  1 root root  4526 Aug 20 06:26 cluster.yml
-rw-r--r--.  1 root root   412 Aug 20 06:26 ansible_version.yml
-rw-r--r--.  1 root root   927 Aug 20 06:26 ansible.cfg
drwxr-xr-x. 13 root root   193 Aug 20 06:26 contrib
drwxr-xr-x.  4 root root    33 Aug 20 06:26 inventory
-rw-r--r--.  1 root root  1468 Aug 20 06:26 index.html
-rw-r--r--.  1 root root   484 Aug 20 06:26 facts.yml
drwxr-xr-x.  3 root root   115 Aug 20 06:26 extra_playbooks
drwxr-xr-x.  5 root root  4096 Aug 20 06:26 dojs
drwxr-xr-x.  2 root root    21 Aug 20 06:26 library
-rw-r--r--.  1 root root    94 Aug 20 06:26 requirements.txt
-rw-r--r--.  1 root root  1705 Aug 20 06:26 remove-node.yml
-rw-r--r--.  1 root root   612 Aug 20 06:26 recover-control-plane.yml
-rw-r--r--.  1 root root  1172 Aug 20 06:26 mitogen.yml
drwxr-xr-x.  2 root root  4096 Aug 20 06:26 logo
-rw-r--r--.  1 root root   726 Aug 20 06:26 reset.yml
-rw-r--r--.  1 root root  2608 Aug 20 06:26 scale.yml
drwxr-xr-x. 17 root root  4096 Aug 20 06:26 roles
-rw-r--r--.  1 root root   693 Aug 20 06:26 setup.py
-rw-r--r--.  1 root root  1663 Aug 20 06:26 setup.cfg

requirements.txt에 필요한 패키지들이 명시되어 있는데 이를 이용해 패키지 설치를 진행합니다.

[h43254@nasa-master kubespray]$ sudo pip install -r requirements.txt
Collecting ansible==2.9.6 (from -r requirements.txt (line 1))
Downloading https://files.pythonhosted.org/packages/ae/b7/c717363f767f7af33d90af9458d5f1e0960
db9c2393a6c221c2ce97ad1aa/ansible-2.9.6.tar.gz (14.2MB)
    100% |████████████████████████████████| 14.2MB 75kB/s 
Collecting jinja2==2.11.1 (from -r requirements.txt (line 2))
Downloading https://files.pythonhosted.org/packages/27/24/4f35961e5c669e96f6559760042a55b9bcf
...
...(중략)
8e2a0ecf73d21d6b85865da11/MarkupSafe-1.1.1-cp27-cp27mu-manylinux1_x86_64.whl
Collecting ruamel.ordereddict; platform_python_implementation == "CPython" and python_version <
= "2.7" (from ruamel.yaml==0.16.10->-r requirements.txt (line 6))
Downloading https://files.pythonhosted.org/packages/8c/d6/4971e55c60b972160b911368fa4cd756d68
739b6616b0cb57d09d8a6ee18/ruamel.ordereddict-0.4.14-cp27-cp27mu-manylinux1_x86_64.whl (93kB)
    100% |████████████████████████████████| 102kB 9.2MB/s 

이 후 정상적으로 ansible이 설치된 것을 확인 할 수 있습니다.

[h43254@nasa-master kubespray]$ ansible --version
/usr/lib64/python2.7/site-packages/cryptography/__init__.py:39: CryptographyDeprecationWarning: Python 2 is no longer supported by the Python core team. Support for it is now deprecated incryptography, and will be removed in a future release.
CryptographyDeprecationWarning,
ansible 2.9.6
config file = /kubespray/ansible.cfg
configured module search path = [u'/kubespray/library']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.5 (default, Apr  2 2020, 13:16:51) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]

이어서 기본 inventory/sampleinventory/mycluster 로 복사합니다.

[h43254@nasa-master kubespray]$ cp -rfp inventory/sample inventory/cluster
cp: cannot create directory ‘inventory/mycluster’: Permission denied
[h43254@nasa-master kubespray]$ sudo cp -rfp inventory/sample inventory/mycluster
[h43254@nasa-master kubespray]$ ls -alrt inventory/mycluster/
total 4
drwxr-xr-x. 4 root root  52 Aug 20 06:26 group_vars
-rw-r--r--. 1 root root 994 Aug 20 06:26 inventory.ini
drwxr-xr-x. 3 root root  45 Aug 20 06:26 .
drwxr-xr-x. 5 root root  50 Aug 20 06:45 ..
  • inventory를 복사할 디렉토리 이름은 아무이름이나 설정해도 됩니다.

디렉토리의 tree 구조를 보기 위해서 tree 패키지를 설치합니다.

[h43254@nasa-master kubespray]$ 
[h43254@nasa-master kubespray]$ sudo yum -y install tree
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.navercorp.com
* epel: d2lzkl7pfhq30w.cloudfront.net
* extras: mirror.navercorp.com
* updates: mirror.navercorp.com
Resolving Dependencies
...
...(중략)
Transaction test succeeded
Running transaction
Installing : tree-1.6.0-10.el7.x86_64                                                    1/1 
Verifying  : tree-1.6.0-10.el7.x86_64                                                    1/1 
Installed:
tree.x86_64 0:1.6.0-10.el7                                                                   
Complete!

treegroup_vars 디렉토리를 보면 설치에 필요한 yml 파일이 있는걸 볼 수 있습니다.

[h43254@nasa-master kubespray]$ tree inventory/cluster/group_vars
inventory/mycluster/group_vars
├── all
│   ├── all.yml
│   ├── aws.yml
│   ├── azure.yml
│   ├── containerd.yml
│   ├── coreos.yml
│   ├── docker.yml
│   ├── gcp.yml
│   ├── oci.yml
│   ├── openstack.yml
│   └── vsphere.yml
├── etcd.yml
└── k8s-cluster
    ├── addons.yml
    ├── k8s-cluster.yml
    ├── k8s-net-calico.yml
    ├── k8s-net-canal.yml
    ├── k8s-net-cilium.yml
    ├── k8s-net-contiv.yml
    ├── k8s-net-flannel.yml
    ├── k8s-net-kube-router.yml
    ├── k8s-net-macvlan.yml
    └── k8s-net-weave.yml
2 directories, 21 files

설치를 위해 inventory.ini를 수정합니다.

vi inventory/mycluster/inventory.ini

스크린샷, 2020-08-21 10-18-49

  • [all] 그룹에는 인스턴스의 내부 아이피를 입력합니다
  • [kube-master] 그룹에는 마스터로 사용할 인스턴스 명을 넣습니다.
  • [etcd] 그룹에는 etcd를 사용할 인스턴스를 입력합니다 (홀수)
  • [kube-node] 그룹에는 노드로 사용 할 인스턴스 명을 넣습니다.

SSH KEY를 한번 사용해서 마스터와 동기화 시켜줍니다

[h43254@nasa-master ~]$ ssh h43254@nasa-node1
Last login: Thu Aug 20 09:12:40 2020 from nasa-master.asia-northeast3-a.c.nasa1515.internal
[h43254@nasa-node1 ~]$ exit
logout
Connection to nasa-node1 closed.
[h43254@nasa-master ~]$ ssh h43254@nasa-node2
The authenticity of host 'nasa-node2 (10.178.0.5)' can't be established.
ECDSA key fingerprint is SHA256:+Pjsu6s4ImB0kob1TZ41ieS8wz2drCalVIVzBawpRlk.
ECDSA key fingerprint is MD5:26:6a:41:28:c8:5a:77:3e:04:7d:88:1e:14:44:d8:14.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'nasa-node2' (ECDSA) to the list of known hosts.
Last login: Thu Aug 20 09:12:40 2020 from nasa-master.asia-northeast3-a.c.nasa1515.internal
[h43254@nasa-node2 ~]$ exit
logout
Connection to nasa-node2 closed.
[h43254@nasa-master ~]$ ssh h43254@nasa-node3
Last login: Fri Aug 21 00:43:40 2020 from 35.235.240.229
[h43254@nasa-node3 ~]$ exit
logout
Connection to nasa-node3 closed.
[h43254@nasa-master ~]$ 
  • 위와 같이 ssh로 한번씩 접속만 해주면 됩니다.

모두 완료 되었으면 필요로 하는 의존성 및 설정을 세팅합니다.

$ ansible-playbook -i kubespray/inventory/cluster/inventory.ini -v --become --become-user=root kubespray/cluster.yml

스크린샷, 2020-08-21 11-11-23

  • skipped이 많긴하지만 여러 테스트를 하며 설치를 해서 상관없습니다

간혹가다 다음과 같은 에러가 발생할 경우에는 디렉토리를 수동으로 생성해주면 됩니다

스크린샷, 2020-08-21 10-42-48

sudo mkdir credentials

설치가 완료되고 root 권한으로 노드 정보를 정상적으로 받아옴을 확인합니다

스크린샷, 2020-08-21 11-36-30


Tags

#Kubernetes
NASA1515

NASA1515

Data Engineer

Hello I'M Wonseok aka NASA1515

Expertise

Public Cloud
k8s/Docker
Python

Social Media

instagramwebsitelinkedingithub

Related Posts

[Kubernetes] VSCode (VisualStudio Code)로 Kubernetes 클러스터 관리 : 초보자를 위한 완벽 가이드
[Kubernetes] VSCode (VisualStudio Code)로 Kubernetes 클러스터 관리 : 초보자를 위한 완벽 가이드
2021-08-19
2 min

Topics

CloudDevelop

Social Media