윈도우에서 ubuntu multipass 를 사용하여 ubuntu 4 대 (k3s master 1개, node 3개) 를 설치한다.
mutipass 의 경우 hyper-v(권장) 를 사용하므로 윈도우 재부팅시마다 IP 가 변경되므로 2가지 방법을 사용할 수 있다.
방법2를 사용하였다.
- 방법1. 네트워크를 추가 및 ubuntu 설정에 고정 IP 설정 (설정 방법은 글 하단에 기록한다.)
- 방법2. C:\Windows\System32\drivers\etc\host.ics 에 등록된 도메인을 사용하여 통신한다. (윈도우 재시작시마다 변경된 IP 정보가 갱신된다.)
# multipass 로 ubuntu 설치 (on windows)
https://multipass.run/
# ubuntu 설치
multipass launch -n k3s-master -c 2 -m 2G -d 20G impish
multipass launch -n k3s-node1 -c 2 -m 2G -d 20G impish
multipass launch -n k3s-node2 -c 2 -m 2G -d 20G impish
multipass launch -n k3s-node3 -c 2 -m 2G -d 20G impish
# ubuntu 구동 확인
multipass ls
# ubuntu swapoff
multipass exec k3s-master -- /bin/bash -c "sudo swapoff -a"
multipass exec k3s-node1 -- /bin/bash -c "sudo swapoff -a"
multipass exec k3s-node2 -- /bin/bash -c "sudo swapoff -a"
multipass exec k3s-node3 -- /bin/bash -c "sudo swapoff -a"
multipass exec k3s-master -- /bin/bash -c "free -m"
multipass exec k3s-node1 -- /bin/bash -c "free -m"
multipass exec k3s-node2 -- /bin/bash -c "free -m"
multipass exec k3s-node3 -- /bin/bash -c "free -m"
# 도메인 확인
C:\Windows\System32\drivers\etc\host.ics 에 등록된 각 ubuntu 주소를 사용한다.
# k3s 마스터 설치
# https://rancher.com/docs/k3s/latest/en/quick-start/
multipass exec k3s-master -- /bin/bash -c "curl -sfL https://get.k3s.io | sh -"
# k3s 마스터 토큰 정보 조회
multipass exec k3s-master -- /bin/bash -c "sudo cat /var/lib/rancher/k3s/server/node-token"
# k3s 노드 설치 - node1, 2, 3
# multipass exec k3s-node1 -- /bin/bash -c "curl -sfL https://get.k3s.io | K3S_TOKEN=\"<토큰 정보>\" K3S_URL=https://<마스터 노드 IP>:6443 sh -"
multipass exec k3s-node1 -- /bin/bash -c "curl -sfL https://get.k3s.io | K3S_TOKEN=K10c9bdcda4f8d25fc78c40ab5663939f2afda0891cdb34130cb930be9025cdc7f9::server:b66b233891f92e47feea3e30477fb72e K3S_URL=https://k3s-master.mshome.net:6443 sh -"
multipass exec k3s-node2 -- /bin/bash -c "curl -sfL https://get.k3s.io | K3S_TOKEN=K10c9bdcda4f8d25fc78c40ab5663939f2afda0891cdb34130cb930be9025cdc7f9::server:b66b233891f92e47feea3e30477fb72e K3S_URL=https://k3s-master.mshome.net:6443 sh -"
multipass exec k3s-node3 -- /bin/bash -c "curl -sfL https://get.k3s.io | K3S_TOKEN=K10c9bdcda4f8d25fc78c40ab5663939f2afda0891cdb34130cb930be9025cdc7f9::server:b66b233891f92e47feea3e30477fb72e K3S_URL=https://k3s-master.mshome.net:6443 sh -"
# 관리 PC - 마스터 설정 복사
multipass exec k3s-master -- /bin/bash -c "sudo cp /etc/rancher/k3s/k3s.yaml /home/ubuntu/k3s.yaml"
multipass exec k3s-master -- /bin/bash -c "sudo chown ubuntu.ubuntu /home/ubuntu/k3s.yaml"
multipass transfer k3s-master:/home/ubuntu/k3s.yaml c:\
multipass exec k3s-master -- /bin/bash -c "sudo rm -rf /home/ubuntu/k3s.yaml"
# ~/.kube/config 은 확장자 없는 파일이다.
md ~/.kube -ea 0
Move-item -Path 'c:/k3s.yaml' -destination '~/.kube/config' -force
# k3s.yaml 파일 마스터 ip 수정
cd ~/.kube
notepad config
server: https://k3s-master.mshome.net:6443
# 관리 PC - kubectl 설치
# https://kubernetes.io/ko/docs/tasks/tools/
# 관리 PC - kubectl 체크
kubectl get nodes
# k9s 설치
# https://k9scli.io/
choco install -y k9s
# ubuntu 시작/중지
# multipass start k3s-master k3s-node1 k3s-node2 k3s-node3
# multipass stop k3s-master k3s-node1 k3s-node2 k3s-node3
네트워크를 추가 및 ubuntu 설정에 고정 IP 설정 방법
hyper-v 는 윈도우 재시작 마다 "vEthernet (Default Switch)" 의 ip 가 변경되므로
multipass 의 ubuntu ip 가 매번 변경되기 때문에 IP 를 고정하기 위한 방법이다.
관리자 권한 파워쉘에서 실행.
# 고정된 스위치와 인터넷 통신을 위한 NAT 를 생성한다. 172.16.0.1/16
New-VMSwitch -SwitchName "MySwitch" -SwitchType Internal
New-NetIPAddress -IPAddress 172.16.0.1 -PrefixLength 16 -InterfaceAlias "vEthernet (MySwitch)"
New-NetNat -Name "NATNetwork" -InternalIPInterfaceAddressPrefix "172.16.0.1/16"
# mutipass launch 시 network 를 추가한다.
multipass launch -n k3s-master -c 2 -m 2G -d 20G --network name=MySwitch impish
# ubuntu 접속
multipass shell k3s-master
# 50-cloud-init.yaml 에 고정 아이피를 설정한다.
sudo su
vi /etc/netplan/50-cloud-init.yaml
-- 기존
network:
ethernets:
default:
dhcp4: true
match:
macaddress: 52:54:00:0f:3c:3f
extra0:
dhcp4: true
dhcp4-overrides:
route-metric: 200
match:
macaddress: 52:54:00:6c:aa:ef
optional: true
version: 2
-- 수정
network:
ethernets:
default:
dhcp4: true
match:
macaddress: 52:54:00:0f:3c:3f
extra0:
dhcp4: no
dhcp4-overrides:
route-metric: 200
match:
macaddress: 52:54:00:6c:aa:ef
optional: true
addresses:
- 172.16.0.2/24
routes:
- to: default
via: 172.16.0.1
nameservers:
addresses: [8.8.8.8,168.126.63.1]
version: 2
# 설정 적용
netplan apply
# netplan apply 시 실제 콘솔에선 먹통이 되므로
# 다른 powershell 에서 호가인해보면 ip 가 추가로 적용된 것을 알 수 있다.
PS C:\WINDOWS\system32> multipass ls
Name State IPv4 Image
k3s-master Running 172.20.46.226 Ubuntu 21.10
172.16.0.2
# 설정 확인 (ubuntu 명령)
ip addr
ip route
nslookup google.com
'가지가지' 카테고리의 다른 글
git - 부모 브랜치 조회 (0) | 2023.01.02 |
---|---|
redis sentinel. master 정보 확인 (0) | 2022.12.02 |
[kubernetes] deployment, service 테스트 (0) | 2022.05.18 |
[kubernetes] CLI 명령어 (0) | 2022.05.18 |
powershell 원격 PC 파일 복사 (0) | 2021.10.26 |
docker, docker-compose 설치 on ubuntu (0) | 2021.03.12 |
logstash grok sample (0) | 2020.03.10 |
tcpdump (0) | 2020.03.03 |