Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
ssup2 committed Dec 22, 2024
1 parent a78dae9 commit a37ed65
Showing 1 changed file with 104 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,112 @@ draft : true

Host 이름, Username, Password, Timezone, SSH Server를 설정하고 OS Image를 uSD Card에 복사한다.

* Host 이름 : [Figure 1] 참조
* Host 이름 : [Figure 1]의 Host 이름 참조
* Username/Password : `temp`/`temp`

### 2.2. Jetson Nano

* [https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit#write](https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit#write)
Install Guide에 따라서 uSD Card에 OS를 설치한다.

## 3. Kubernetes Cluster 구성
* Install Guide : [https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit#write](https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit#write)

## 3. Network 설정

### 3.1. Raspberry Pi 5

`root` User로 진입한다.

```shell
(Raspberry Pi)$ sudo -s
(Raspberry Pi)#
```

[Figure 1]의 Network를 참조하여 `/etc/netplan/50-cloud-init.yaml` 파일에 다음과 같이 고정 IP를 설정한다.

```yaml {caption="[File 1] /etc/netplan/50-cloud-init.yaml"}
network:
ethernets:
eth0:
addresses:
- [IP Address]/24
nameservers:
addresses:
- 8.8.8.8
routes:
- to: default
via: 192.168.1.1
version: 2
```
### 3.2. Jetson Nano
`root` User로 진입한다.

```shell
(Jetson Nano)$ sudo -s
(Jetson Nano)#
```

[Figure 1]의 Network를 참조하여 고정 IP를 설정한다.

```shell
(Jetson Nano)# nmcli con mod "Wired connection 1" \
ipv4.addresses "[IP Address]/24" \
ipv4.gateway "192.168.1.1" \
ipv4.dns "8.8.8.8" \
ipv4.method "manual"
```

## 4. Docker, kubelet 설치

### 3.1. Raspberry Pi 5

```shell
# Disable Swap
(Raspberry Pi)# swapoff -a
(Raspberry Pi)# sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
```

```shell
# Load module
(Raspberry Pi)# cat <<EOF | tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOF
(Raspberry Pi)# modprobe overlay
(Raspberry Pi)# modprobe br_netfilter
# Set sysctl parameter
(Raspberry Pi)# cat <<EOF | tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
EOF
# Apply sysctl parameter
(Raspberry Pi)# sysctl --system
```

```shell
# Install containerd
(Raspberry Pi)# apt install -y containerd
(Raspberry Pi)# mkdir -p /etc/containerd
(Raspberry Pi)# containerd config default | tee /etc/containerd/config.toml
(Raspberry Pi)# sed -i 's/SystemdCgroup = false/SystemdCgroup = true/g' /etc/containerd/config.toml
(Raspberry Pi)# systemctl restart containerd.service
```

```shell
# Install kubelet
(Raspberry Pi)# apt-get update
(Raspberry Pi)# apt-get install -y apt-transport-https ca-certificates curl gnupg
(Raspberry Pi)# curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.32/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
(Raspberry Pi)# chmod 644 /etc/apt/keyrings/kubernetes-apt-keyring.gpg
(Raspberry Pi)# echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.32/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
(Raspberry Pi)# sudo chmod 644 /etc/apt/sources.list.d/kubernetes.list
(Raspberry Pi)# apt-get update
(Raspberry Pi)# apt-get install -y kubelet kubeadm kubectl
```

## 5. Kubernetes Cluster 구성

0 comments on commit a37ed65

Please sign in to comment.