[Kubernetes] UTM으로 ubuntu server 가상머신 설치 및 네트워크 세팅 2부

skybluelion·2023년 12월 31일
1

kubernetes

목록 보기
2/3
post-thumbnail

들어가며

1부에서는 우분투 설치까지랄 다루었고, 이번 포스팅 2부에서는 네크워크 세팅을 통해 인터넷연결과 SSH 연결후 vm간에 연결까지 진행하려한다.

1. 네트워크 설정

1부에서 만들었던 우분투 vm을 종료를 한 뒤 우클릭해 edit을 선택한다. Devices 탭에서 +추가 를 눌러 네트워크를 추가한다.


첫 번째 네트워크는 Bridged (Advanced)를 고르고 두번째는 Shared Network를 고르고 저장을 한다. Bridged (Advanced)는 Host Only와 NAT를 모두 사용 가능 한것이고, Shared Network는 NAT의 기능을 담당한다. 필자가 참고한 유튜브 링크를 아래 링크이다.
https://youtu.be/GgDEwQXpZI8?si=O2PM2OBXOFd-6V6y

저장을 하고 vm을 부팅하고 로그인을 해준다.

ip addr

를 입력하여 네트워크가 두개가 잡히는지 확인한다.

이 두개의 이름을 기억해 두고 다음의 명령어를 실행한다.

sudo vi /etc/netplan/00-installer-config.yaml

SSH를 사용하기 위해 고정 IP를 할당하려고 한다. 다음과 같이 설정하고

sudo netplan apply
netplan get
ip addr

를 쳐서 저장하고 잘 저장됐는지 확인한다.


이 화면에서 i를 누르면 insert 입력 모드가 되고 다 수정하고 나면 esc를 누르고 :wq엔터를 치고 저장하면 된다.

enp0s1에 적는 주소는 맥 터미널에 ifcongig를 입력해 뜨는 주소의 앞부분을 적고 제일 뒷부분만 vm마다 다르게 설정해주었다.

인터넷과 연결되었는지 확인은 여러 방법이 있지만 다음처럼 curl 명령어를 사용해 응답이 제대로 되었는지 확인했다.

2. SSH 연결 및 기타 설정

이제 맥북 로컬 환경으로 돌아와 터미널을 키고 ssh를 통해 현재 켜둔 vm에 접속해보자.

ssh 계정명@ip주소

처음 연결하는 것이기에 yes라 입력하고 엔터. 비밀번호를 입력하면 다음처럼 vm에 연결된 것을 볼 수 있다. 터미널에서 작업하는 것이 보다 수월하기 때문에 앞으로 터미널에서 작업하려한다.

이제 남은 설치를 위해 우분투 서버를 최신 상태로 업데이트를 해준다.

$ sudo apt update && sudo apt upgrade -y
$ sudo ufw disable
$ sudo su -
$ visudo
<본인계정> ALL=NOPASSWD: ALL //추가
$ sudo vi -f /etc/hosts
…
10.0.2.101      test1
10.0.2.102      test2
10.0.2.103      test3

이제 방화벽 해제, 암호 없이 sudo 실행, 가상머신 hostname 설정을 차례대로 해준다.




위 화면에서 control+o를 누르고 .tmp를 지운다. 그리고yes, yes 하고 덮어쓴뒤 control+x를 해서 빠져 나온다. 루트 계정에서는 exit를 하고 나온다.

3. 가상머신 복제

쿠버네티스를 위해 이제 총 3대의 가상머신을 만들어야한다. 지금까지의 과정을 반복하면 너무 오래 걸리므로 복제를 해서 몇가지 설정만 고쳐주면 된다.
UTM 목록으로 돌아와서 우클릭-clone을 눌러 두개를 추가로 더 만든다. 그리고 edit으로 이름을 각각 설정하고 두 개의 네트워크에서 맥 주소를 random을 눌러 모두 바꿔준다.
2024.01.01. 수정 - 복제를 하게 되면 어디선가 중복으로 값이 겹치게 되어 ssh가 제대로 활성되지 않는 문제가 존재한다. 이 문제를 알아내기 전까지는 복제가 아닌 새로 만드는 방법을 추천.

이제 생성한 두개를 각각 켜주고 hostname을 각각 바꿔주고 재부팅을 해준다.

sudo hostnamectl set-hostname 새이름 —static
sudo reboot

이제 각 가상머신의 IP주소를 변경해주어야 한다.

sudo vi /etc/netplan/00-installer-config.yaml

그리고 각 ip를 다음과 같이 바꾼다.

sudo netplan apply

를 쳐서 저장을 한다.

ping 명령어를 사용해 서로 ip주소에 되는지 확인을 한다. 정상이라면 다음과 같이 뜰것이다.

다시 맥북 터미널로 돌아와 각 vm에 ssh 접속이 되는지 확인한다.

가상 머신 IP주소를 등록한 파일에 가서 제일 위에 이름을 각각 맞도록 다시 수정해준다.

sudo vi -f /etc/hosts

터미널에서 암호 입력 없이 가상머신 간 ssh 접속을 가능하도록 설정한다.아래 프로그램 실행 시 물음에 모두 엔터 치고 3대 모두 해준다.

$ ssh-keygen

$ ssh-copy-id test1
$ ssh-copy-id test2
$ ssh-copy-id test3

*주의

필자는 여기까지 했을 때 안된 경우도 존재해서 복제를 하지 않고 전 과정을 다시 해서 성공을 하기도 했다. 복제를 하는 경우 바꿔줘야하는 설정이 더 존재하는 것인지 아직 알 수가 없다,,,

마치며

실습을 따라가기 위해 다른 환경이지만 비슷하게 구성하려 노력하다 보니 알게모르게 틀린 부분이 존재할 수 있다. 이런 환경을 구축하면서 새로운 것들을 깊게 파고 들어 배우는게 많았던 과정이었다.

profile
에러란무엇일까

0개의 댓글