가정실험실 Kubernetes 놀이터 만들기 - 제2부분

이전 글에서는 Kubernetes 클러스터를 위한 물리적 및 가상 환경을 준비하는 기본 방법을 설명했습니다.

쿠베르네트스 성계단


이 단계에서, 우리는 단지 세 대의 가상 기기가 평탄한 2층 네트워크에서 Ubuntu를 운행할 뿐이다.이제 일이 더욱 흥미로워졌습니다. 제1부분의 마지막 단계에서 kubeadm 설치에 대해 이야기했습니다. 이것이 바로 제가 설치와 설정을 중점적으로 소개하는 부분입니다. 하지만 당신은 더욱 도전적인 방법을 사용하여 처음부터 구축할 수 있습니다.

  • Kubernetes the Hard Way on Bare Metal, 오클랜드

  • 켈시 빌딩Kubernetes the Hard Way, 켈시 빌딩
  • 쿠비드가 뭐예요?


    이것은 Kubernetes를 시작하고 실행하는 간단한 방법입니다. 우리의 학습 환경과 BYOH 옵션 (자체 하드웨어) 에 아주 적합합니다. 우리 중 많은 사람들이 가정 실험실에서 다양한 옵션을 사용할 수 있습니다. 만약 당신이 여전히 이런 옵션을 가지고 있다면.기존 사용자와 더 높은 사용자에게 이것은 자동으로 그룹을 설정하고 응용 프로그램을 테스트하는 간단한 방법이기도 하다.앞의 글에서, 우리는 우리의 모든 노드에kubeadm를 설치해야 하지만, 설치하지 않았다면, 지금 확인해 봅시다.
    저는 또한 이 시리즈에 링크를 퍼뜨리고 Kubernetes의 가장 유용한 자원을 소개하는 데 중심을 두겠습니다. 특히kubeadm에 대해 더 많은 정보를 찾을 수 있습니다here.
    Kubernetes 그룹을 구성하는 구성 요소나 서비스는 논의하지 않았지만, 주 노드는 API 서버와 etcd가 있는 위치이고 etcd는 그룹 데이터베이스라는 것을 이해합니다.API 서버도 kubectl CLI 도구가 통신하는 곳입니다.

    그래서 우리는...


    우선, 우리는 주 노드를 초기화하거나 평면 노드를 제어해야 한다. 나는 그것들이 동일한지, 아니면 다른지, 또는 독점적인지 모른다.우리는 모두 이곳에서 공부한다.마스터 노드에서 다음 명령을 실행합니다.
    쿠비드 호텔
    몇 분 후, 아래의 확인과 상세한 정보에서, 화면에서 무엇을 보아야 하는지, 이것은 우리가 작업 노드를 그룹에 추가하는 데 사용할 내용입니다.출력 맨 위에서 변경된 디렉터리와 권한은 루트가 아닌 사용자가kubectl을 사용할 수 있도록 하기 위해서입니다.
    당신의 Kubernetes 제어 비행기가 성공적으로 초기화되었습니다!
    클러스터링을 시작하려면 다음 작업을 일반 사용자로 실행해야 합니다.
    mkdir-p$HOME/.쿠베
    sudo cp-i/etc/kubernetes/admin.conf$HOME/.kube/config
    sudo chown$(id-u):$(id-g)$HOME/.kube/config
    이제 클러스터에 Pod 네트워크를 구축해야 합니다.
    다음 옵션 중 하나를 사용하여 "kubectl apply-f[podnetwork].yaml"을 실행합니다.
    /문서/개념/클러스터 관리/플러그인/
    현재, 각 노드에서 아래 명령을 실행하면, 당신은 임의의 기계를 추가할 수 있습니다
    루트 사용자로서 다음을 수행합니다.
    kubeadm join: – 토큰 – 토큰ca 인증서 발견 해시sha256:
    조금 익숙한 사람들에게 나는pod 네트워크를 설치하지 않았다는 것을 알아차렸을 것이다. 이것은 내가 가상화층에서 호스트 네트워크를 사용하고 이것은 간단한 선택이라고 믿기 때문이다. 그러나pod 네트워크가 무엇인지, 그리고 그들이 우리에게 어떤 기능을 제공했는지 탐색할 것이다.

    작업 노드 추가


    그래, 만약 그것이 네가 처음으로 이 단계에 들어갔다면, 너는 아마도 "그것은 그리 나쁘지 않다."라고 생각할 것이다. 사실은 그렇지 않지만, 나도 이것이 가장 어려운 부분이라고 생각하지 않는다.다음은 Kubernetes 클러스터에 작업 노드를 추가해야 합니다.내 위에서 다음과 같은 출력을 제공했기 때문에 내 환경에서 SSH는 모든 작업 노드에 이동하고 명령을 각 노드에 간단하게 복사하는 것과 마찬가지로 간단하다.
    sudo kubeadm join 192.168.169.200:6443 – 영패 r46351.5R6NK VIZ9MU67 – 토큰카 인증서 발견 해시샤256: 4db470e5c4caa58ce43238951c88fc8b0416267e073306d1144769e787c3b516
    내가 발견한 또 다른 유용한 일은 만약 네가 그 지폐를 잃어버렸다면, 너는 달리기를 통해 그것을 얻을 수 있다는 것이다
    kubeadm 토큰 목록
    모든 작업 라인을 그룹에 추가하면 필요한 노드를 확보할 수 있습니다.
    kubectl 획득 노드

    다음 명령을 실행하여 Kubernetes 호스트와 클러스터가 실행 중인지 확인할 수도 있습니다.
    Kubectl 클러스터 정보

    Kubernetes 대시보드 배포


    잘했어, 우리는 이제 쿠베르네트스를 알게 됐어!응, 아닐지도 몰라, 이건 시작일 뿐이야.비록 나는 계속 노력하고 있지만, 나는 여전히 좋은 UI 체험을 좋아한다. 그래서 나는 실험실에서 뭔가를 시작하고 실행하기 위해 Kubernetes 계기판이 내가 해결하고자 하는 첫 번째 배치라는 것을 발견했다.
    나는 또한 이 녀석의 내용에 대해 큰 소리로 외쳐야 한다. 2020년 대부분의 시간 동안 나는 유튜브를 주목했다. 그의 내용은 매우 훌륭하고 간단명료하며 쿠베르네트와 관련된 각종 주제에 대해 시범을 보였다.특히 제가 공유할 절차를 상세히 소개하겠습니다.자, 우리 시작합시다.다음 명령을 사용하여 파일에서 자원을 만들 것입니다.
    
    kubectl create -f <span style="color: #222222; font-family: Consolas; font-size: 10pt;">https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml  
    </span>
    
    
    위의yaml 파일 링크를 클릭하기만 하면 무엇을 만들고 어디에 있는지 볼 수 있습니다.간단히 말해서, 명칭 공간, 서비스 계정, 서비스, 기밀, 설정 맵, 역할, 집단 역할, 배치
    다음 명령을 실행하면 이름 공간 목록을 얻을 수 있습니다. 기본 이름 공간과 Kubernetes 대시보드를 볼 수 있습니다
    kubectl 이름 공간 가져오기
    다음에, 우리는 다음 명령을 실행하여 배치 과정에서 모든 것이 정상적임을 확보하기를 희망합니다. 이것은 새로 만든 POD, 서비스, 배치, 복제 집합을 보여 줍니다.
    kubectl-n Kubernetes 대시보드에서 모든 정보 얻기

    위의 서비스/Kubernetes 대시보드는 NodePort 형식을 사용하고 있으며, 기본 그룹 포트라고 생각합니다.그룹 포트로서, 그룹 내부에서만 접근할 수 있고, 계기판은 웹 인터페이스이기 때문에, 이 페이지를 방문할 수 없습니다.노드 포트 옵션을 통해 이 점을 보여주고 싶습니다. 다음 단계에서 소개하겠습니다. 이것은 윈도 기기나 네트워크의 어떤 기기에서도 계기판 웹 인터페이스에 접근할 수 있음을 의미합니다.
    보다 세밀하게 실행하기만 하면
    kubernetes 계기판 설명 kubernetes 계기판 서비스

    마찬가지로 위의 내용이 변경되었습니다. 이것은 다음 명령을 실행해서 완성된 것입니다. 윈도 터미널을 사용하고 있습니다. 이것은 저에게 파일을 변경하는 데 아주 좋은 메모장 옵션을 제공합니다. 그러나 만약 셸에만 있다면, 이것은 당신에게vi를 제공하여 편집할 것입니다.ClusterIP에서 NodePort에 이르기까지 필요한 편집을 강조했습니다.

    위에서 인쇄한 get 서비스 명령을 실행해서 변경 사항을 확인합니다.
    이 때 light 서비스 계정을 가지고 있어야 합니다. 이 계정은 다음과 같은 내용을 사용할 권한이 거의 없습니다.
    kubectl-n kubernetes dashboard get sa
    더 많은 세부 사항을 확인하여 최소한 영패 인증으로 연결할 수 있도록 합니다
    kubectl-n kubernetes 대시보드 설명
    영패의 이름을 가져와 명령 끝에 사용하면 웹 페이지에서 인증할 수 있는 영패를 받을 수 있습니다.
    kubernetes 계기판 설명 비밀kubernetes-dashboard-token-m5gw8

    그리고 브라우저를 열고 주소 표시줄에 노드 포트 주소를 입력한 다음, 이 영패를 복사해서 Kubernetes 계기판에 접근하십시오.

    제한이 있다는 것을 알게 될 것입니다. 따라서 더 좋은 서비스 계정을 만들고 더 많은 접근과 제어를 가져야 합니다.

    유튜브에서는 또 "나와 오픈소스만"이라고 소리쳤다.그는 훌륭한 동영상 내용을 만들었을 뿐만 아니라 그의 YAML 파일도 제공했다. 이것은 나 같은 사람에게 매우 좋은 것이다. 이것은 이런 새로운 방법을 배우는 데 매우 기본적인 것이다.우리는 우리가 필요로 하는 서류를 가지러 간다.
    git 클론https://github.com/justmeandopensource/kubernetes
    dashboard 폴더로 이동하면 sa cluster 관리자가 표시됩니다.yaml 파일, 이 파일을 수정하고 다음과 같이 확인하십시오.
    버전: v1
    종류: 서비스 계정
    메타데이터:
    이름:kubernetes 대시보드
    이름 공간:kubernetes dashboard

    APIC 버전: rbac.권한을 부여하다.k8s.io/v1
    종류: ClusterRoleBinding
    메타데이터:
    이름: 대시보드 rolebinding
    roleRef:
    APIC 그룹: rbac.권한을 부여하다.k8s.목위일
    종류: ClusterRole
    이름: 클러스터 관리자
    학과:
    – 종류: 서비스 계정
    이름:kubernetes 대시보드
    이름 공간:kubernetes dashboard
    그런 다음 YAML 파일을 기반으로 새 서비스 계정을 만들 수 있습니다.
    kubectl create-f sa_cluster_admin.아마르
    현재, 사용 가능한 모든 서비스 계정을 검사하면, 나열된 새로운 서비스 계정을 만들 수 있습니다.
    Kubectl-n Kubernetes Dashon에서 서비스 계정 가져오기
    다음 코드로 이 영패의 이름을 다시 가져오십시오

    그리고 우리는 이 영패를 사용하여 계기판에 사용할 수 있는 비밀을 얻었다

    대시보드에 로그인하면 더 많은 권한이 부여됩니다.
    다음은 내가 가정 실험실에서 기업의 저장 부족 문제를 어떻게 해결했는지, 그리고 내가 상태 데이터에 대해 지속적인 볼륨을 어떻게 얻었는지 살펴볼 것이다.
    이 게시물Building the home lab Kubernetes playground – Part 2은 처음vZilla에 실렸다.

    좋은 웹페이지 즐겨찾기