강의

멘토링

로드맵

Cộng đồng Hỏi & Đáp của Inflearn

Không có người viết

Bài viết có thông tin người viết đã bị xóa.

Xu hướng Kubernetes (Sơ cấp ~ Trung cấp)

Cài đặt Kubernetes Cluster

설치수업중에 질문드립니다.

Viết

·

25

1

C:\Users\사용자>mkdir k8s
C:\Users\사용자>cd k8s 

// Vagrant 스크립트 다운로드
C:\Users\사용자\k8s> curl -O https://kubetm.github.io/yamls/k8s-install/Vagrantfile

// Rocky Linux Repo 세팅
C:\Users\사용자\k8s> curl -O https://raw.githubusercontent.com/k8s-1pro/install/main/ground/k8s-1.27/vagrant-2.4.3/rockylinux-repo.json
C:\Users\사용자\k8s> vagrant box add rockylinux-repo.json

// Vagrant Disk 설정 Plugin 설치 
C:\Users\사용자\k8s> vagrant plugin install vagrant-vbguest vagrant-disksize
C:\Users\사용자\k8s> vagrant up
[root@k8s-master ~]# cat ~/join.sh
kubeadm join 192.168.56.30:6443 --token bver73.wda72kx4afiuhspo --discovery-token-ca-cert-hash sha256:7205b3fd6030e47b74aa11451221ff3c77daa0305aad0bc4a2d3196e69eb42b7
[root@k8s-node1 ~]# kubeadm join 192.168.56.30:6443 --token bver73.wda72kx4afiuhspo --discovery-token-ca-cert-hash sha256:7205b3fd6030e47b74aa11451221ff3c77daa0305aad0bc4a2d3196e69eb42b7
[root@k8s-node2 ~]# kubeadm join 192.168.56.30:6443 --token bver73.wda72kx4afiuhspo --discovery-token-ca-cert-hash sha256:7205b3fd6030e47b74aa11451221ff3c77daa0305aad0bc4a2d3196e69eb42b7
[root@k8s-master ~]# kubectl get pod -A
[root@k8s-master ~]# kubectl get nodes
https://192.168.56.30:30000/#/login

이거 그대로 돌렸는데 .

image.png


여기에 접속이 안되요 ..그래서
[root@k8s-node1 ~]# kubeadm join 192.168.56.30:6443 - 이걸 할수가 없는데 어떻게 해야될까요 ?>??

D:\k8s>vagrant up

Bringing machine 'k8s-master' up with 'virtualbox' provider...

Bringing machine 'k8s-node1' up with 'virtualbox' provider...

Bringing machine 'k8s-node2' up with 'virtualbox' provider...

==> k8s-master: Checking if box 'rockylinux/8' version '8.8-20230518.0' is up to date...

==> k8s-master: Machine already provisioned. Run vagrant provision or use the --provision

==> k8s-master: flag to force provisioning. Provisioners marked to run always will still run.

==> k8s-node1: Checking if box 'rockylinux/8' version '8.8-20230518.0' is up to date...

==> k8s-node1: Machine already provisioned. Run vagrant provision or use the --provision

==> k8s-node1: flag to force provisioning. Provisioners marked to run always will still run.

==> k8s-node2: Checking if box 'rockylinux/8' version '8.8-20230518.0' is up to date...

==> k8s-node2: Machine already provisioned. Run vagrant provision or use the --provision

==> k8s-node2: flag to force provisioning. Provisioners marked to run always will still run.

이렇게 떠요 .

dockerkubernetesdevopscontainer

Câu trả lời 2

0

1pro님의 프로필 이미지
1pro
Người chia sẻ kiến thức

안녕하세요.

올려주신 로그는 이미 vagrant up으로 설치를 진행한 이후에, 다시 반복해서 vagrant up을 한 로그로 보이는데요.

설치가 잘 되었는지에 대한 로그를 올려주시면 확인이 좀더 수월할 것 같습니다.

vagrant deploy를 한 다음, VM을 삭제하고, 다시 해보시겠어요?

그리고 로그를 올려주시면 같이 확인해보겠습니다.

추가로 현재 D드라이브에서 하시는 것 같은데, vagrant와 virtualbox가 D드라이브에 설치된 건가요?

[root@k8s-master ~]# kubectl get pod -A

NAMESPACE NAME READY STATUS RESTARTS AGE

kube-system coredns-5d78c9869d-hht72 0/1 Pending 0 13m

kube-system coredns-5d78c9869d-s9hwq 0/1 Pending 0 13m

kube-system etcd-k8s-master 1/1 Running 0 13m

kube-system kube-apiserver-k8s-master 1/1 Running 0 13m

kube-system kube-controller-manager-k8s-master 1/1 Running 0 13m

kube-system kube-proxy-49jd5 1/1 Running 0 13m

kube-system kube-proxy-kzdtj 1/1 Running 0 23s

kube-system kube-proxy-wmrb8 1/1 Running 0 19s

kube-system kube-scheduler-k8s-master 1/1 Running 0 13m

kube-system metrics-server-7db4fb59f9-7jrbg 0/1 Pending 0 13m

kubernetes-dashboard dashboard-metrics-scraper-5cb4f4bb9c-lk9qh 0/1 Pending 0 13m

kubernetes-dashboard kubernetes-dashboard-6bc7c98694-rzh76 0/1 Pending 0 13m

tigera-operator tigera-operator-84cf9b6dbb-s6r6j 1/1 Running 0 13m

[root@k8s-master ~]# kubectl get nodes

NAME STATUS ROLES AGE VERSION

k8s-master NotReady control-plane 13m v1.27.2

k8s-node1 NotReady <none> 36s v1.27.2

k8s-node2 NotReady <none> 32s v1.27.2

[root@k8s-master ~]# kubectl get nodes

NAME STATUS ROLES AGE VERSION

k8s-master NotReady control-plane 13m v1.27.2

k8s-node1 NotReady <none> 40s v1.27.2

k8s-node2 NotReady <none> 36s v1.27.2 이런식으로 뜹니다

D:\k8s>vagrant up Bringing machine 'k8s-master' up with 'virtualbox' provider... Bringing machine 'k8s-node1' up with 'virtualbox' provider... Bringing machine 'k8s-node2' up with 'virtualbox' provider... ==> k8s-master: Checking if box 'rockylinux/8' version '8.8-20230518.0' is up to date... ==> k8s-master: Machine already provisioned. Run vagrant provision or use the --provision ==> k8s-master: flag to force provisioning. Provisioners marked to run always will still run. ==> k8s-node1: Checking if box 'rockylinux/8' version '8.8-20230518.0' is up to date... ==> k8s-node1: Machine already provisioned. Run vagrant provision or use the --provision ==> k8s-node1: flag to force provisioning. Provisioners marked to run always will still run. ==> k8s-node2: Checking if box 'rockylinux/8' version '8.8-20230518.0' is up to date... ==> k8s-node2: Machine already provisioned. Run vagrant provision or use the --provision ==> k8s-node2: flag to force provisioning. Provisioners marked to run always will still run.

1pro님의 프로필 이미지
1pro
Người chia sẻ kiến thức

아..설치는 잘 종료됐고, Calico 문제네요..혹시 아래 명령어의 결과가 어떻게 나오시나요?

 

kubectl cluster-info dump | grep -m 10 -E "cluster-cidr|service-cluster-ip-range"

[root@k8s-master ~]# kubectl cluster-info dump | grep -m 10 -E "cluster-cidr|service-cluster-ip-range"

"--service-cluster-ip-range=10.96.0.0/12",

"--cluster-cidr=20.96.0.0/16",

"--service-cluster-ip-range=10.96.0.0/12",

1pro님의 프로필 이미지
1pro
Người chia sẻ kiến thức

이 강의의 변경된 설치 가이드는 여기 입니다.

수업마다 영상 하단 [수업 미리보기]에 해당 강의의 자료실 링크가 있어요.

강의 영상은 이전 버전이지만, 실습에 대한 부분은 강의 자료실에서는 업데이트가 되고 있습니다.

D:\k8s>vagrant up

Bringing machine 'master-node' up with 'virtualbox' provider...

Bringing machine 'worker-node1' up with 'virtualbox' provider...

Bringing machine 'worker-node2' up with 'virtualbox' provider...

==> master-node: Importing base box 'rockylinux/8'...

==> master-node: Matching MAC address for NAT networking...

==> master-node: Checking if box 'rockylinux/8' version '8.8-20230518.0' is up to date...

==> master-node: Setting the name of the VM: k8s_master-node_1776216735560_73612

==> master-node: Clearing any previously set network interfaces...

==> master-node: Preparing network interfaces based on configuration...

master-node: Adapter 1: nat

master-node: Adapter 2: hostonly

==> master-node: Forwarding ports...

master-node: 22 (guest) => 2222 (host) (adapter 1)

==> master-node: Running 'pre-boot' VM customizations...

==> master-node: Resized disk: old 10240 MB, req 30720 MB, new 30720 MB

==> master-node: You may need to resize the filesystem from within the guest.

==> master-node: Booting VM...

There was an error while executing VBoxManage, a CLI used by Vagrant

for controlling VirtualBox. The command and stderr is shown below.

Command: ["startvm", "a372bd65-ec2d-45c4-9c88-1498e4802c77", "--type", "headless"]

Stderr: VBoxManage.exe: error: NAT#0: configuration error: failed to set up redirection of 2222 to 22. Probably a conflict with existing services or other rules (VERR_NAT_REDIR_SETUP).

VBoxManage.exe: error: NAT#0: configuration error: failed to set up redirection of 2222 to 22. Probably a conflict with existing services or other rules (VERR_NAT_REDIR_SETUP).

VBoxManage.exe: error: Failed to attach the network LUN (VERR_NAT_REDIR_SETUP)

VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole

1pro님의 프로필 이미지
1pro
Người chia sẻ kiến thức

기존 VM을 모두 삭제 후 해보시겠어요?

에러 내용을 보니,

설치 스크립트에서는 최초 master가 2222 포트를 사용하고, 그 이후로 워커노드는 auto_correct:true 옵션에 의해 랜덤으로 포트가 할당됩니다.

근데 기존에 만들어진 VM에서 2222 포트를 사용하고 있어서, 현재 master 생성시 2222 포트 지정이 안되는 에러인 것 같고요.

그래서 이전에 설치된 VM을 잘 삭제 후 다시 설치해보시거나, 스크립트에서 2222 포트 지정을 다른 포트로 변경해봐도 됩니다.

컴퓨터 껐다 키고 다시 싹다 지우고 해도 안되네요 ..

1pro님의 프로필 이미지
1pro
Người chia sẻ kiến thức

스크립트를 수정해서 2222가 아닌 2260이나 다른 포트를 넣어도 안되시나요?

0

안녕하세요, 인프런 AI 인턴입니다.

blossom_mind님께서 Vagrant와 Kubernetes 설정 도중 겪고 계신 문제를 해결하기 위한 몇 가지 힌트를 드리겠습니다. 현재 문제는 SSH 연결 실패로 보이며, 네트워크 설정이나 SSH 설정 문제로 인해 발생할 수 있습니다.

  1. SSH 연결 확인: 각 노드에 SSH로 연결할 수 있도록 자격 증명 및 네트워크 설정을 확인해야 합니다. vagrant ssh k8s-master 명령어를 통해 SSH 연결이 되는지 확인해 보세요.

  2. 네트워크 문제 해결: 호스트 머신과 Vagrant VM 간의 네트워크 설정을 점검하세요. Vagrantfile에 설정된 private_network가 잘 동작하고 있는지, IP가 충돌 없이 할당되어 있는지를 확인해야 합니다.

  3. VirtualBox 네트워크 설정:

    • VirtualBox에서 각 VM의 네트워크 어댑터에 “Host-Only Adapter”가 설정되어 있는지 확인합니다.
    • 필요한 경우 VirtualBox 네트워크 설정에서 DHCP 서버가 제대로 동작하고 있는지 체크하세요.
  4. 실행 및 프로비전 확인:

    • 현재 로그에 따르면 각 VM이 이미 프로비저닝되었으나, --provision 옵션을 붙여 명령어를 실행하여 명시적으로 프로비저닝을 재시도해 볼 수 있습니다. 예를 들어, vagrant up --provision 명령어로 시도해 보세요.
  5. 디버깅 시도:

    • vagrant ssh k8s-master로 마스터 노드에 접근하여 직접 네트워크 연결 상태와 SSH 설정을 확인합니다.
    • 노드에 접속 후 ifconfig 또는 ip addr 명령어로 IP 주소 설정이 제대로 되어 있는지 확인합니다.

관련해서 비슷한 문제를 가진 질문과 답변이 아래 링크에 있습니다. 더욱 자세한 해결 방법을 참고하시길 권장드립니다:

이 문제들은 Vagrant와 Kubernetes 설정 중 네트워크 및 프로비저닝 과정에서 발생할 수 있는 공통적인 에러들과 그 해결 방법을 다루고 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Không có người viết

Bài viết có thông tin người viết đã bị xóa.

Đặt câu hỏi