minikube를 cluster로 설치하기
일단 사전 작업으로 docker랑 kubectl을 설치해준다.
web ui를 올려야하니 방화벽을 꺼주고 시작한다. 나중에 하면 까먹음
systemctl stop firewalld
systemctl disable firewalld
1. kubectl 설치
아래 링크로 최신 릴리즈 파일을 다운받는다.
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
아래처럼 특정 버전을 다운받을 수 있다.
curl -LO https://dl.k8s.io/release/v1.23.0/bin/linux/amd64/kubectl
바이너리를 실행 가능하게 변경한다.
chmod +x ./kubectl
kubectl을 실행 경로로 이동시킨다.
sudo mv ./kubectl /usr/local/bin/kubectl
kubectl 설치 완료.
2. docker 설치
기존 설치된 docker를 제거해준다.
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
yum-utils를 설치한다.
sudo yum install -y yum-utils
docker repository를 등록한다.
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
docker를 install 해준다. (docker 설치 binary는 다음 링크에 있음 https://download.docker.com/linux/centos/)
yum install -y docker-ce docker-ce-cli containerd.io
다음과 같은 dependency가 함께 설치된다.
인터넷이 안되는 환경이라면 아래 package를 버전에 받게 다운받고 서버에 올리고 하면 될 듯
========================================================================================================================
Package Arch Version Repository Size
========================================================================================================================
Installing:
containerd.io x86_64 1.5.10-3.1.el7 docker-ce-stable 30 M
docker-ce x86_64 3:20.10.13-3.el7 docker-ce-stable 22 M
docker-ce-cli x86_64 1:20.10.13-3.el7 docker-ce-stable 30 M
Installing for dependencies:
audit-libs-python x86_64 2.8.5-4.el7 base 76 k
checkpolicy x86_64 2.5-8.el7 base 295 k
container-selinux noarch 2:2.119.2-1.911c772.el7_8 extras 40 k
docker-ce-rootless-extras x86_64 20.10.13-3.el7 docker-ce-stable 8.1 M
docker-scan-plugin x86_64 0.17.0-3.el7 docker-ce-stable 3.7 M
fuse-overlayfs x86_64 0.7.2-6.el7_8 extras 54 k
fuse3-libs x86_64 3.6.1-4.el7 extras 82 k
libcgroup x86_64 0.41-21.el7 base 66 k
libseccomp x86_64 2.3.1-4.el7 base 56 k
libsemanage-python x86_64 2.5-14.el7 base 113 k
policycoreutils-python x86_64 2.5-34.el7 base 457 k
python-IPy noarch 0.75-6.el7 base 32 k
setools-libs x86_64 3.3.8-4.el7 base 620 k
slirp4netns x86_64 0.4.3-4.el7_8 extras 81 k
Updating for dependencies:
policycoreutils x86_64 2.5-34.el7 base 917 k
Transaction Summary
========================================================================================================================
Install 3 Packages (+14 Dependent packages)
docker start
sudo systemctl start docker
*설치 버전
[root@edge ~]# docker version
Client: Docker Engine - Community
Version: 20.10.13
API version: 1.41
Go version: go1.16.15
Git commit: a224086
Built: Thu Mar 10 14:09:51 2022
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.13
API version: 1.41 (minimum version 1.12)
Go version: go1.16.15
Git commit: 906f57f
Built: Thu Mar 10 14:08:16 2022
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.5.10
GitCommit: 2a1d4dbdb2a1030dc5b01e96fb110a9d9f150ecc
runc:
Version: 1.0.3
GitCommit: v1.0.3-0-gf46b6ba
docker-init:
Version: 0.19.0
GitCommit: de40ad0
docker 설치 완료.
3. minikube 설치
minikube를 master, worker로 설치한다.
여러 노드에 cluster을 구성하는 건 아니고 노드 하나에 master, worker를 같이 올리는 구조인 것 같음.
참고로 --nodes (-n) 옵션은 무시되니 대신에 "minikube node add" 명령을 써야함.
minikube 바이너리 파일을 다운로드한다.
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
minikube install 하기
sudo install minikube-linux-amd64 /usr/local/bin/minikube
minikube start
minikube start
minikube start를 하니 다음과 같은 error가 발생하며 시작되지 않음
X Exiting due to DRV_AS_ROOT: The "docker" driver should not be used with root privileges.
root user로 하지 말라는 것 같으니 다른 유저로 로그인해 실행한다.
ddadmin user로 로그인 후 docker group에 추가해줌
su ddadmin
sudo usermod -aG docker ddadmin && newgrp docker
minikube를 다시 시작해본다.
minikube start --driver=docker
아래처럼 --force 옵션을 주면 root에서도 실행 가능하긴 함
minikube start --force --driver=docker
--memory=max --cpus=max or --memory=1024mb --cpus=4 요런식으로 memory, cpu 할당 가능함.
max는 왠만하면 안 주는 게 좋을 듯
현재 상태는 master만 올라와 있는 상태 kubectl get nodes로 확인해본다.
[ddadmin@edge root]$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
minikube Ready control-plane,master 5m55s v1.23.3
노드를 추가하고 다시 확인해본다.
[ddadmin@edge root]$ minikube node add
[ddadmin@edge root]$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
minikube Ready control-plane,master 7m29s v1.23.3
minikube-m02 Ready <none> 45s v1.23.3
master, worker가 잘 올라와있다.
그런데 root로 돌아가 kubectl get pods를 실행해보니 아래와 같은 요상한 에러가 나타남
The connection to the server localhost:8080 was refused - did you specify the right host or port?
이건 ddadmin의 ~/.kube 아래에 있는 config 파일을 복사해주면 해결 가능
cp /home/ddadmin/.kube/config /root/.kube/config
'kubenetes' 카테고리의 다른 글
kubernetes dashboard login skip하는 방법 (0) | 2022.03.20 |
---|---|
kubernetes dashboard 설치 (0) | 2022.03.20 |
kubernetes 설치 (0) | 2022.03.19 |
minikube service web에서 접속하는 방법 (2) | 2022.03.16 |
minikube dashboard 활성화, 접속 방법 (1) | 2022.03.13 |
댓글