쏘대리의 티히히히히히히히스토호호호리

스따디

쿠버네티스 실습 용 vm 3대 설치하고 서로 ssh 연결하기

쏘대리❤️ 2023. 11. 3. 15:05

하... 진짜 제가 바보인지

이거 하는데 정말 오래걸렸습니다..

 

일단 vm 설치는 이지피지한데 각각 고정 ip 할당하는 것 부터 제대로 되는게 하나도 없더라구요.

삽질에 삽질에 삽질을 거쳐서 결국 '어댑터에브리지' 네트워크 옵션을 사용했습니다.

 

삽질 1. 호스트 전용 어댑터(주절주절)

더보기

처음엔 호스트전용어댑터를 써서 

각각 임의의 IP를 할당했는데 이거도 엄청 오래걸렸어요

보통 /etc/netplan/00~.yml을 수정하라고 하는데요

addresses -> 내가 사용할 ip. 끝자리만 바꾸기

gateway4 -> route -n 결과의 Gateway 값

nameservers -> cat /etc/resolv.conf 결과의 nameserver 값

이 세개를 다 제 값을 찾아서 바꿔줘야 인터넷도 끊기지 않으면서 고정 ip를 할당할 수 있어요.

 

그런데 제가 못 쓴 이유는

이렇게 제가 임의로 할당한 ip는 외부에서(같은 vm 끼리도) 찾아지지가 않아서

vm 네트워크 설정에서 제 실제 서버 ip 포드를 vm 서버 22번으로 포트포워딩 해줘야 ssh만 겨우 쓸 수 있거든요.

 

이렇게 잘 써보려고 했는데

kubespray로 노드 설치까지 완료하고 나니 ansible에서는 vm 서버만 검색 가능한 대상이라고 해서

결국 외부에서 클러스터를 전혀 관리할 수 없는거에요 후

 

그래서 아 포트포워딩 이건 애초에 말도 안되는거였구나 하고

어댑터에 브리지로 갈아탔어요.

 

원래 그거부터 할 걸 그랬어요

인터넷에 vm 고정 ip 치면 다 이 호스트 전용 어댑터 방법이 나와서

저도 따라하느라 힘든 시간을 가졌네요..후

 

자 여튼 그래서 포기하긴 분해서

어댑터에 브리지라는 네트워크 설정으로 

vm을 다시 만들었어요.

근데 왠걸~ ip가 아무렇게나 잡히고

인터넷도 가능, 외부 접근도 가능한거 있죠. 

복제할 때 NAT주소 생성 옵션으로 하면 ip도 각각 생기구요!

 

전 이제 너무 지쳐서 여기서 무엇을 더 하지않고

3개의 어댑터에 브리지 우분투 vm을 만들어서 바로 사용하기로 했습니다. 후

 

근데 또 열받는 사실 하나~ 

맥에서 어댑터에 브리지 하려니까 무슨 에러가 자꾸 나더라구요.
머리가 지끈지끈 하기 때문에 파고들지 않고

데스크탑 virtual box에 vm을 세 개 생성해서 

맥 터미널로 ssh 해서 쓰고 있습니다 흑

 

ssh 서로 연결하는 방법 한 번 자세히 적어볼게요.

일단 전 세 vm 서버의 ip를 각각 가지고 있는데요

1. 111.111.111.111

2. 222.222.222.222

3. 333.333.333.333 이라고 할게요.

 

1. 우선 /etc/hostname에 가서 이 pc의 이름을 설정해줘요.

저는 각각 ubun1, 2, 3이라고 이름지었어요. (reboot)

 

2. /etc/hosts에 가서 세 ip와 서버명을 정의해줍니다.

3. ssh-keygen 명령어로 ssh key 생성

4. ssh-copy-id ubun1 / ssh-copy-id ubun2 / ssh-copy-id ubun3

로 서버들을 인식? 시킵니다.

 

5. 이제 ssh sj@ubun1, ssh sj@ubun2 이런 명령어로 ssh 접속이 가능해져요.

 

추가로 sj 계정에서 비밀번호 없이 sudo 명령어를 사용할 수 있게하는 설정까지 해주었습니다.

sudo 접속 후 visudo 로 들어가서 sj ALL=(ALL) NOPASSWD:ALL 설정을 추가해주어야 하는데요

꼭 마지막 줄에 적으세요. 아니면 권한 덮어쓰기 당해서 적용이 안된답니다.

 

다음글에서는 kubespray로 3대의 vm에 한번에 노드설치하는 걸 해볼게용

저거도 하다가 다 뿌술번 했네염 ㅎ

 

반응형