2025년 1월 업데이트
다음은 쿠버네티스 스터디 자료를 참고해 정리한 내용입니다.
3년전 작성본인데 버전업 후 오류가 납니다.
오류 내용 확인해서 수정이 필요한 내용입니다.
도커, 쿠버네티스 실습을 하기 위한 실습환경 구축 자료 입니다.
노트북에 K8S설치해서 사용 하기를 추천합니다.
비용이 안나오는 환경입니다.
설치 순서는 Virtual box,베어그런트, K8s설치
1
가상머신을 생성할수 있는 소프트웨어.
2
내 Windows 11 PC에 설치해보자.
https://www.virtualbox.org/wiki/Downloads
Windows hosts 버전을 설치 시도 한다.
3
C++이 미리 설치되어야 한다.
https://learn.microsoft.com/ko-kr/cpp/windows/latest-supported-vc-redist?view=msvc-170
4
설치후 PC 재시작 필요
5
내 Windows PC 에 설치한다.
설치 경로를 지정한다.
디폴트로 C: 로 잡지만 나는 D: 드라이브에 설치한다.
C: 드라이브로 해도 된다~
(5분)
1
하시코프사 소프트웨어
사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해두었다가 필요할 때 시스템을 사용할 수 있는 상태로 만들어주는 프로비저닝 기능을 위함
2
https://www.vagrantup.com/downloads
설치 경로를 지정한다. 디폴트로 C 드라이브 로 잡지만 나는 D: 드라이브에 설치한다.
(5분)
3
PC 재부팅이 필요하다~~
1
나는 WINDOWS PC에 D:\1K8S 폴더를 만든다.
D: 드라이브에 공간이 많아서 ^^
( C:\1K8S 폴더를 만들어도 된다.)
2
# k8s 설치용 vagrant 파일 다운로드
D:\1K8S >
curl -O https://raw.githubusercontent.com/gasida/DKOS/main/2/Vagrantfile
실행
3
# 배포
vagrant up
(30분 걸림)
4
중간에 Windows 접근 필요로 보안 허용 클릭 몇번 해줘야 한다.
5
https://vclock.kr/timer/#countdown=00:10:00&enabled=0&seconds=600&sound=xylophone&loop=1
6
바탕화면에 Virtual box 실행.
k8s-m 설치
k8s-w1 설치
k8s-w2 설치 순으로 진행된다.
7
설치 완료!!
# 참고 : 설치완료후 Virtoual box 에서 마우스 이동법 = Crtl + ALT 로 화면을 나올수 있다.
8
# 트라블 슈팅
VT-x is not avaliable 오류 나며 안되는경우?
노트북이나 PC에서 가상화 허용이 Enable 안되어 있어서 그렇다.
PC부팅하여 BIOS들어가서 가상화 Enable 해주기 바란다.
# C:\1k8s>vagrant up --provider=virtualbox
# 오류
k8s-w2: Processing triggers for libc-bin (2.31-0ubuntu9.16) ...
k8s-w2: deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main
k8s-w2: Hit:1 https://download.docker.com/linux/ubuntu focal InRelease
k8s-w2: Ign:2 https://packages.cloud.google.com/apt kubernetes-xenial InRelease
k8s-w2: Hit:3 http://security.ubuntu.com/ubuntu focal-security InRelease
k8s-w2: Err:4 https://packages.cloud.google.com/apt kubernetes-xenial Release
k8s-w2: 404 Not Found [IP: 172.217.161.46 443]
k8s-w2: Hit:5 http://archive.ubuntu.com/ubuntu focal InRelease
k8s-w2: Hit:6 http://archive.ubuntu.com/ubuntu focal-updates InRelease
k8s-w2: Hit:7 http://archive.ubuntu.com/ubuntu focal-backports InRelease
k8s-w2: Reading package lists...
k8s-w2: E: The repository 'https://apt.kubernetes.io kubernetes-xenial Release' does not have a Release file.
k8s-w2: Reading package lists...
k8s-w2: Building dependency tree...
k8s-w2: Reading state information...
k8s-w2: E: Unable to locate package kubelet
k8s-w2: E: Unable to locate package kubectl
k8s-w2: E: Unable to locate package kubeadm
k8s-w2: E: Unable to locate package kubelet
k8s-w2: E: Unable to locate package kubeadm
k8s-w2: E: Unable to locate package kubectl
k8s-w2: E: No packages found
k8s-w2: Failed to enable unit: Unit file kubelet.service does not exist.
The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.
9
사용해보기
## 마스터 노드 접속 , putty 사용
ssh root@192.168.100.10
# 암호는 qwe123
혹은
ssh root@127.0.0.1 -p 50010
혹은
ssh root@<HomePC IP> -p 50010
10
## k8s 클러스터에 노드 확인
kubectl get node
root@k8s-m:~# kubectl get node
NAME STATUS ROLES AGE VERSION
k8s-m Ready control-plane,master 3m27s v1.21.1
k8s-w1 Ready <none> 99s v1.21.1
k8s-w2 Ready <none> 99s v1.21.1
## 워커노드 접속 : root / qwe123
ssh root@127.0.0.1 -p 50011
# 암호는 qwe123, 워커노드1
ssh root@127.0.0.1 -p 50012
# 암호는 qwe123, 워커노드2
ssh root@127.0.0.1 -p 50013
# 암호는 qwe123, 워커노드3
0...
혹은
ssh root@<HomePC IP> -p 50011
ssh root@<HomePC IP> -p 50012
ssh root@<HomePC IP> -p 50013
혹은
ssh root@192.168.100.101 # 워커노드1
ssh root@192.168.100.102 # 워커노드2
ssh root@192.168.100.103 # 워커노드3
# 실습 진행 후 중지 : 생성된 순서대로 삭제됨
vagrant halt
# 중지된 VM 시작
vagrant reload
# 종료 및 VM 삭제
vagrant destroy -f && rm -rf .vagrant share
11
# 설치파일 버전 관리 - 2025-01-08
쿠버네티스 설치는 됨
로컬로 로그인 가능
ssh 안됨, 유틸 설치 안됨
# 파일 첨부
# 설치파일 버전 관리 - 2025-01-08- 1 ?
# 미니 쿠버네티스인 k3s 설치법이다.
메모리가 8G이상이라면 K8s를 설치하자
1
pc에 1k3s 폴더 만들기
설치 스크립트 다운로드
curl -O https://raw.githubusercontent.com/gasida/DKOS/main/K3S/Vagrantfile
2
서버 사양 수정
3
설치
vagrant up
# 배포
# ssh 접속 : root / qwe123
## 마스터 노드 접속
vagrant ssh k3s-m
혹은
ssh root@127.0.0.1 -p 60010 # 암호는 qwe123
## k8s 클러스터에 노드 확인
kubectl get node
root@k3s-m:~# kubectl get node
NAME STATUS ROLES AGE VERSION
k3s-m Ready control-plane,master 3m10s v1.21.1+k3s1
k3s-w1 Ready <none> 98s v1.21.1+k3s1
k3s-w2 Ready <none> 17s v1.21.1+k3s1
kubectl get node -o wide
root@k3s-m:~# kubectl get node -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
k3s-m Ready control-plane,master 3m13s v1.21.1+k3s1 192.168.200.10 <none> Ubuntu 20.04.2 LTS 5.4.0-74-generic docker://20.10.7
k3s-w1 Ready <none> 101s v1.21.1+k3s1 192.168.200.101 <none> Ubuntu 20.04.2 LTS 5.4.0-74-generic docker://20.10.7
k3s-w2 Ready <none> 20s v1.21.1+k3s1 192.168.200.102 <none> Ubuntu 20.04.2 LTS 5.4.0-74-generic docker://20.10.7
## 워커노드 접속 : root / qwe123
vagrant ssh k3s-w1
혹은
ssh root@127.0.0.1 -p 60011 # 암호는 qwe123, 워커노드1
vagrant ssh k3s-w2
혹은
ssh root@127.0.0.1 -p 60012 # 암호는 qwe123, 워커노드2
# 중지
vagrant halt
# 중지된 VM 시작
vagrant reload
# 종료 및 VM 삭제
vagrant destroy -f && rm -rf .vagrant share
# 실습 진행 후 중지 : 생성된 순서대로 삭제됨
vagrant halt
# 중지된 VM 시작
vagrant reload
# 종료 및 VM 삭제
vagrant destroy -f && rm -rf .vagrant share
https://brunch.co.kr/@topasvga/705
https://brunch.co.kr/@topasvga/1667
putty
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
전체 보기
https://brunch.co.kr/@topasvga/1656
https://brunch.co.kr/@topasvga/1683