인프런 커뮤니티 질문&답변

ak4686님의 프로필 이미지
ak4686

작성한 질문수

대세는 쿠버네티스 [초급~중급]

Kubernetes Cluster 설치 [v1.27] (최신 업데이트된 버전 - 쉬운설치)

curl -O 해당 함수에서 인증서에 대한 파기 여부를 검사하지 못했습니다.

작성

·

769

1

며칠 전에 같은 질문으로 했었는데 답변이 varantfile 내용을 올려달라고 하셨는데, 강사님이 올려주신 URL 로 접근하면 다운받아지는 파일 내용을 복사해서 올리겠습니다.

 

 

NodeCnt = 2

Vagrant.configure("2") do |config|

# config.vbguest.installer_options = { allow_kernel_upgrade: true }

config.vm.box = "centos/7"

config.vm.provider :virtualbox do |vb|

vb.memory = 3072

vb.cpus = 4

end

config.vm.provision :shell, privileged: true, inline: $install_common_tools

config.vm.define "k8s-master" do |master|

master.vm.hostname = "k8s-master"

master.vm.network "private_network", ip: "192.168.56.30"

master.vm.provision :shell, privileged: true, inline: $provision_master_node

end

(1..NodeCnt).each do |i|

config.vm.define "k8s-node#{i}" do |node|

node.vm.hostname = "k8s-node#{i}"

node.vm.network "private_network", ip: "192.168.56.#{i + 30}"

end

end

end

$install_common_tools = <<-SHELL

# ssh password 접속 활성화

sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config

sed -i 's/#PermitRootLogin yes/PermitRootLogin yes/g' /etc/ssh/sshd_config;

systemctl restart sshd.service

# 방화벽 해제

systemctl stop firewalld && systemctl disable firewalld

systemctl stop NetworkManager && systemctl disable NetworkManager

# Swap 비활성화

swapoff -a && sed -i '/ swap / s/^/#/' /etc/fstab

# br_netfilter 모듈 로드

cat <<EOF | tee /etc/modules-load.d/k8s.conf

br_netfilter

EOF

# Iptables 커널 옵션 활성화

cat <<EOF > /etc/sysctl.d/k8s.conf

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

EOF

sysctl --system

# permissive 모드로 SELinux 설정(효과적으로 비활성화)

setenforce 0

sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

# 쿠버네티스 YUM Repository 설정

cat <<EOF | tee /etc/yum.repos.d/kubernetes.repo

[kubernetes]

name=Kubernetes

baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64

enabled=1

gpgcheck=1

repo_gpgcheck=0

gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg

exclude=kubelet kubeadm kubectl

EOF

# Centos Update

yum -y update

# Hosts 등록

cat << EOF >> /etc/hosts

192.168.56.30 k8s-master

192.168.56.31 k8s-node1

192.168.56.32 k8s-node2

EOF

# 도커 설치

yum install -y yum-utils device-mapper-persistent-data lvm2

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

yum install -y containerd.io-1.4.9-3.1.el7 docker-ce-3:20.10.8-3.el7.x86_64 docker-ce-cli-1:20.10.8-3.el7.x86_64

mkdir /etc/docker

cat > /etc/docker/daemon.json <<EOF

{

"exec-opts": ["native.cgroupdriver=systemd"],

"log-driver": "json-file",

"log-opts": {

"max-size": "100m"

},

"storage-driver": "overlay2",

"storage-opts": [

"overlay2.override_kernel_check=true"

]

}

EOF

mkdir -p /etc/systemd/system/docker.service.d

# 도커 재시작

systemctl daemon-reload

systemctl enable --now docker

# 쿠버네티스 설치

yum install -y kubelet-1.22.0-0.x86_64 kubeadm-1.22.0-0.x86_64 kubectl-1.22.0-0.x86_64 --disableexcludes=kubernetes

systemctl enable --now kubelet

SHELL

$provision_master_node = <<-SHELL

# 쿠버네티스 초기화 명령 실행

kubeadm init --apiserver-advertise-address 192.168.56.30 --pod-network-cidr=20.96.0.0/12

kubeadm token create --print-join-command > ~/join.sh

# 환경변수 설정

mkdir -p $HOME/.kube

cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

chown $(id -u):$(id -g) $HOME/.kube/config

# Kubectl 자동완성 기능 설치

yum install bash-completion -y

source <(kubectl completion bash)

echo "source <(kubectl completion bash)" >> ~/.bashrc

# Calico 설치

kubectl create -f https://raw.githubusercontent.com/kubetm/kubetm.github.io/master/yamls/k8s-install/calico.yaml

kubectl create -f https://raw.githubusercontent.com/kubetm/kubetm.github.io/master/yamls/k8s-install/calico-custom.yaml

curl https://docs.projectcalico.org/manifests/calico.yaml -O

kubectl apply -f calico.yaml

# Dashboard 설치

kubectl apply -f https://kubetm.github.io/yamls/k8s-install/dashboard-2.3.0.yaml

nohup kubectl proxy --port=8001 --address=192.168.56.30 --accept-hosts='^*$' >/dev/null 2>&1 &

SHELL

 

공부를 시작하고 싶은데 설치에서 계속 막혀서 진도를 못 나가고 있습니다..

답변 1

0

일프로님의 프로필 이미지
일프로
지식공유자

이런 오류는 저도 처음 받아봐서 바로 해결 방법을 얘기해 드리는게 쉽지가 않겠네요

몇 가지 방법을 한번 해보시고 결과 확인 알려주시면 감사하겠습니다.

 

  1. 현재 Virtuabox가 설치되어 있나요?

1. 지금 올린 내용처럼, 직접 URL로 다운 받은 Vagrant 파일을 [k8s] 폴더에 복사해 놓고 vagrant up을 해보세요.

2. [vagrant plugin install vagrant-vbguest] 실행 후 vagrant up 해보기

3. 직접 provider 줘서 실행히기

-> vagrant up --provider virtualbox

 

현재 PC OS가 윈도우 몇인가요?

그리고 1.22 설치 가이드에 있는 Virtualbox와 Vagrant의 버전을 그대로 받으셨나요?

ak4686님의 프로필 이미지
ak4686

작성한 질문수

질문하기