컴퓨터 지식 네트워크 - 컴퓨터 구성 - K8S 설치 및 클러스터 생성 최고의 자습서 (단일 마스터 멀티태스킹)

K8S 설치 및 클러스터 생성 최고의 자습서 (단일 마스터 멀티태스킹)

이 문서에서는 kubernetes (이하 "K8S") 단일 마스터 멀티 태스킹 노드의 클러스터 단계를 가장 간단하고 직접적이며 완전한 방식으로 기록합니다.

먼저, 이 문장 세 가지 핵심 개념을 간단히 살펴보겠습니다.

최소 4G 이상의 메모리가 권장됩니다.

Q: 호스트 이름은 어떻게 확인합니까?

A: 명령 실행 hostname.

Q: 호스트 이름은 어떻게 수정합니까?

A: 영구히 적용되는 방법: 명령 VI /etc/hostname 을 실행하고, 첫 번째 줄 (주석 달기 불가, 제거 필요) 을 제거한 다음 사용자 지정 호스트 이름 (명명 기준 참고) 을 다시 작성하여 재부팅 후 적용합니다.

임시 적용: 다음 명령을 실행합니다

Q: MAC 주소는 어떻게 확인합니까?

대답: IP link 명령을 실행하고 첫 번째 네트워크 카드를 보세요.

Q: product_uuid 를 보려면 어떻게 해야 합니까?

A: sudo cat/sys/class/DMI/id/product _ uuid 명령을 실행합니다.

참고: 포트 범위 30000-32767 은 서비스 포트를 만들기 위해 설정해야 하는 범위입니다 (설정 범위를 벗어나면 제한 프롬프트가 있고 만들기가 실패함). 이는 K8S 에서 규정하고 있습니다.

또한 방화벽을 직접 끄려면 가능합니다.

⑥ 교환을 비활성화해야한다.

총 스왑 수가 0 보다 크면 스왑 분할 영역이 열려 있음을 나타냅니다.

Q: 스왑을 끄려면 어떻게 해야 합니까?

대답: /etc/fstab 파일을 편집하고, 줄 교환 앞에 # 저장을 추가하고, 서버를 재부팅합니다.

파티션 상태를 다시 한 번 확인하면 이미 적용됩니다.

공용 컨테이너 런타임 (런타임):

이 기사에서 사용되는 컨테이너 엔진은 Docker 입니다.

설치 후 버전 보기:

Docker 엔진과 관련된 이상한 예외가 발생할 경우 Docker 를 제거하고 다시 설치할 수 있지만 백업 이미지, 컨테이너, 볼륨 또는 구성 파일이 필요한지 확인해야 합니다.

Docker 엔진을 제거하는 단계는 다음과 같습니다.

① Docker 엔진, CLI 및 Containerd 패키지 제거:

② 호스트의 이미지, 컨테이너, 볼륨 또는 사용자 지정 프로필은 자동으로 삭제되지 않습니다. 모든 미러, 컨테이너 및 볼륨 삭제:

③ 프로필에 잘못된 문자가 포함되어 있으면 시동이 실패할 수 있으므로 삭제하고 재구성해야 합니다.

이 시점에서 Docker 엔진이 제거되었습니다.

공식 홈페이지는 구글의 백승원을 사용한다. 국내에서는 연결할 수 없기 때문에 알리가 제공하는 백승원으로 바뀌었다.

① 설치

설치 정보에서 알 수 있듯이 버전 번호는 1.22 입니다.

설치:

Kubeadm x86 _ 641.22.4-0 kubernetes 9.3 미터

Kube CTL x86 _ 641.22.4-0 kubernetes 9.7m

쿠베르레트 x86_64 1.22.4-0 쿠베르네트 20 미터

② 시작.

이것은 운전기사입니다. Cgroup 과 cgroupfs 를 혼동하지 않도록 주의하십시오.

공식 문자 한 단락을 인용하다

Kubean ADM 은 kubelet 을 시스템 서비스로 관리하기 때문에 cgroupfs 드라이버 대신 Kubean ADM 기반 설치에 systemd 드라이버를 사용하는 것이 좋습니다

Kubeadm 은 기본적으로 systemd 드라이버를 사용하고, Dell 의 docker 기본 드라이버는 cgroupfs(docker 정보 보기 가능) 이므로 Docker 드라이버를 systemd 로 변경해야 합니다.

① Docker 구성 파일을 편집하십시오.

② Docker 서비스 재시작

Docker info 가 드라이버 정보를 다시 한 번 살펴보면 systemd 가 됩니다.

작업자 노드의 최소 구성은 여기에 있습니다.

① 미러 소스 매개 변수 설명

기본적으로 kubeadm 은 k8s.gcr.io 창고에서 이미지를 가져옵니다. 국내에서는 불가능합니다. 공식 문서에는 k8s.gcr.io 대신 다른 image 저장소를 사용할 수 있다고 명시되어 있습니다

-image-repository 미러 저장소 주소

다음으로 국내의 거울원을 찾아 간단한 분석을 했다.

위의 통계를 바탕으로 나는 아리운의 미러 소스를 선택했다.

②IP 주소 범위 매개 변수 설명

-pod-network-CIDR =192.168.0.0/16

참고:192.168.0.0/16 이 이미 네트워크에서 사용 중인 경우 다른 pod 네트워크 CIDR 을 선택하고 위 명령의 을 대체해야 합니다

클러스터 초기화 명령:

데모 기계를 사용하고 있기 때문에 쉽게 참조할 수 있도록 전체 실행 정보를 여기에 게시했습니다. 평소 업무에서는 민감한 정보 보호에 주의해야 합니다 (제 IP 주소 범위는 아래 기능 데모에 맞게 조정되어 있습니다. 첫 번째 init 는 미러 파일을 다운로드해야 합니다. 보통 몇 분 정도 걸립니다).

위에 표시된 대로 클러스터가 성공적으로 초기화되었습니다. 이때 위의 실행 결과에 대한 작업 프롬프트의 마지막 부분에 주의해야 합니다. 초기화에 성공한 후 수행해야 할 세 가지 단계를 표시했습니다.

주: 초기화에 성공한 후 매개변수를 조정해야 하는 경우 kubeadm reset 을 실행하여 kubeadm init 또는 kubeadm join 의 변경 사항을 가능한 한 복원할 수 있습니다.

클러스터 사용을 시작하려면 일반 사용자로 다음 명령을 실행해야 합니다.

클러스터 사용을 시작하기 전에 일반 사용자 (루트가 아님) 인 경우 다음 명령을 실행해야 합니다.

또는 루트 사용자인 경우 다음을 실행할 수 있습니다.

또는 루트 사용자를 사용하는 경우 다음 명령을 실행할 수 있습니다.

(참고: 내보내기는 일시적인 효과일 뿐입니다. 즉, 로그인할 때마다 한 번씩 수행해야 합니다. ) 을 참조하십시오

네트워크 구성은 Pod 의 네트워크이고, 내 네트워크 플러그인은 calico 입니다.

Cidr 은 IP 주소 범위입니다. Podcdr192.168.0.0/16 을 사용하는 경우 다음 단계로 건너뛰십시오.

그러나 이 문서에 사용된 PODCDR 은192.100.0/16 이므로 목록에서 CALICO_IPV4POOL_CIDR 변수를 취소해야 합니다. (형식과 정렬을 확인합니다. ) 을 참조하십시오

필요에 따라 목록을 사용자 정의할 수 있습니다. 필요하지 않으면 일반적으로 이 단계를 건너뜁니다.

모든 작업자 노드에서 join 명령을 실행합니다 (복제 전 초기화 성공 후 반환된 join cluster 명령은 모든 작업자 노드에서 실행됩니다).

마스터 노드에 있는 모든 노드의 상태를 봅니다.

여기에 이미 클러스터를 만들었습니다.

마지막으로 K8S 시각화 인터페이스인 kubernetes-dashboard 를 설치해 일상적으로 사용할 수 있도록 하겠습니다.

① YAML 파일 다운로드.

② YAML 파일을 수정하고 유형 및 노드 포트를 추가하여 외부에서 서비스에 액세스할 수 있도록 합니다.

③ 설치 및 검사 작업.

④ 신규 사용자 생성

파일을 작성한 후 저장하고 적용합니다.

⑤ 인터페이스 로그인 토큰을 얻는다.

⑥ 대시 보드에 로그인하십시오.

192.168.189.128 은 제 주 서버 IP 입니다. https 를 사용해야 하고 id 를 사용할 수 없다는 점에 유의해야 합니다

생성된 토큰을 입력 상자에 복사한 다음 Login 을 클릭합니다.

대시보드 설치 구성이 완료되었습니다.

Q: 리소스를 보려면 어떻게 해야 합니까?

A: 주 서버에서 다음 명령을 실행하여 리소스를 봅니다 (-o wide 는 보다 자세한 정보를 표시함을 나타냄).

① 모든 노드 보기

② 모든 네임 스페이스 보기

③ 네임 스페이스에서 포드를 확인하십시오.

④ 모든 네임 스페이스 뷰 창.

⑤ 네임 스페이스에서 포드 작동 상태를 실시간으로 확인하십시오.

Q: kubeadm join 에 예외 발생 [오류 포트-10250]: 포트 10250 이 사용 중입니다. 어떻게 해결합니까?

답: 이전에 가입에 실패했기 때문에 kubeadm 재설정을 해야 다시 가입할 수 있기 때문입니다.

Q: 가상 시스템에서 테스트하는 동안 네트워크 카드가 갑자기 사라지는 문제를 어떻게 해결합니까 (문제 기록)?

대답:

① ens 로 시작하는 누락된 네트워크 카드 정보 확인 (옵션 단계)

프로필 -a

② 다음 명령을 실행하여 문제를 해결하십시오.

Q: K8S 버전을 보려면 어떻게 해야 합니까?

A: kubectl 버전

Q: join 명령이 잊혀지거나 만료되면 어떻게 합니까?

대답:

만료되지 않는 을 (를) 생성합니다.

24 시간의 세대 노화

Q: Pod 가 계속 재부팅되고 다른 오류 메시지가 없으면 어떻게 합니까?

A: 일반적으로 클러스터에 마스터 노드가 하나만 있고 작업자 노드가 없기 때문입니다. 기본적으로 마스터 노드 만들기는 얼룩 져 있습니다. 즉, 새 pod 를 예약할 수 없습니다. 필요하다면 (물론 권장되지 않음) 모판의 얼룩을 삭제해야 한다. 얼룩을 제거하려면 다음 명령을 실행할 수 있습니다.

다음을 반환해야 합니다.

上篇: 런오프와 런어웨이의 차이점 下篇: LOL Wien 공격 속도가 좋습니까, 아니면 공격 흐름이 좋습니까?
관련 내용