해당 Lab에선 jumpbox 서버를 kubernetes 구성에 사용할 명령어를 실행하는데 사용됩니다.
Jumpbox 서버에서 kubernetes cluster를 처음부터 끝까지 설정한다고 생각하시면 됩니다.
ssh root@jumpbox
Jumpbox로 접근해서 root 계정으로 명령어를 실행 할 것이며, 명령어를 실행할 때 마다 sudo를 안 붙여도 돼서 편리하기도 합니다.
이제 jumpbox로 로그인을 완료했으면, kubernetes cluster 구성에 필요한 전반적인 유틸리티 툴들을 설치 하고자 합니다.
apt-get install -y wget curl vim openssl
# 몇몇 툴들은 이미 설치되어있을 수 있지만, 있을 경우 실행해도 큰 지장은 없습니다.
# 최신 버전이 아닐 경우 패키지 업데이트가 될 수 있습니다.
kubernetes cluster를 구성할 필요 컴포넌트를 다운로드합니다.
{
mkdir -p /k8s-hardway/downloads
cd /k8s-hardway/downloads
# Download the components
# cni plugin
wget https://github.com/containernetworking/plugins/releases/download/v1.5.0/cni-plugins-linux-amd64-v1.5.0.tgz
# contaienrd
wget https://github.com/containerd/containerd/releases/download/v1.7.14/containerd-1.7.14-linux-amd64.tar.gz
# crictl
wget https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.30.0/crictl-v1.30.0-linux-amd64.tar.gz
# runc
wget https://github.com/opencontainers/runc/releases/download/v1.1.12/runc.amd64
# etcd
wget https://github.com/etcd-io/etcd/releases/download/v3.5.13/etcd-v3.5.13-linux-amd64.tar.gz
# kube-apiserver
wget https://dl.k8s.io/v1.30.1/bin/linux/amd64/kube-apiserver
# kube-controller-manager
wget https://dl.k8s.io/v1.30.1/bin/linux/amd64/kube-controller-manager
# kube-scheduler
wget https://dl.k8s.io/v1.30.1/bin/linux/amd64/kube-scheduler
# kube-proxy
wget https://dl.k8s.io/v1.30.1/bin/linux/amd64/kube-proxy
# kubelet
wget https://dl.k8s.io/v1.30.1/bin/linux/amd64/kubelet
# kubectl
wget https://dl.k8s.io/v1.30.1/bin/linux/amd64/kubectl
}
# ls -loh
-- 파일 확인 --
total 611M
-rw-r--r-- 1 root 46M May 20 07:23 cni-plugins-linux-amd64-v1.5.0.tgz
-rw-r--r-- 1 root 46M Mar 11 15:23 containerd-1.7.14-linux-amd64.tar.gz
-rw-r--r-- 1 root 25M Apr 18 08:31 crictl-v1.30.0-linux-amd64.tar.gz
-rw-r--r-- 1 root 20M Mar 29 18:47 etcd-v3.5.13-linux-amd64.tar.gz
-rw-r--r-- 1 root 108M May 15 07:01 kube-apiserver
-rw-r--r-- 1 root 103M May 15 07:01 kube-controller-manager
-rw-r--r-- 1 root 55M May 15 07:01 kube-proxy
-rw-r--r-- 1 root 56M May 15 07:01 kube-scheduler
-rw-r--r-- 1 root 50M May 15 07:01 kubectl
-rw-r--r-- 1 root 96M May 15 07:01 kubelet
-rw-r--r-- 1 root 11M Jan 23 13:16 runc.amd64
kubernetes 관련 컴포넌트들은 https://kubernetes.io/releases/download/ 공식 사이트 통해서 확인하실 수 있습니다.
jumpbox 서버에서 kubernetes client 도구인 kubectl를 설치합니다.
튜토리얼 뒤에 kubernetes cluster가 구성되면, kubectl 도구는 kubernetes controlplane과 통신하는데 사용됩니다.
{
cd /k8s-hardway
chmod +x downloads/kubectl
cp downloads/kubectl /usr/local/bin/
}
kubectl version --client
Client Version: v1.30.1
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
kubectl이 정상적으로 동작하는지 확인해 보았습니다.
이번 섹션은 kubernetes cluster를 구성하는데 있어 필요한 컴포넌트들을 준비한 섹션이였습니다.