Kubernetes 설치부터 트러블 슈팅까지~
7탄!! 쿠버네티스에 pod 올리자! pod? 뭐에요?
[K8S] kubernetes POC를 위한 portainer, rancher 소개 및 설치
Linux에서 curl을 사용하여 kubectl 바이너리 설치방법!
|
1. 여기까지 직접 테스트 해보았습니다. [버전 1.17.0 보이쥬~]
-----------------
2. kubectl 구성 확인
kubectl이 Kubernetes 클러스터를 찾아 액세스하려면 kube-up.sh 를 사용하여 클러스터를 만들 거나 Minikube 클러스터를 성공적으로 배포 할 때 자동으로 생성되는 kubeconfig 파일 이 필요 합니다. 기본적으로 kubectl 구성은에 있습니다 ~/.kube/config.
클러스터 상태를 가져와 kubectl이 올바르게 구성되어 있는지 확인하십시오.
kubectl cluster-info
URL 응답이 표시되면 kubectl이 클러스터에 액세스하도록 올바르게 구성된 것입니다.
다음과 유사한 메시지가 표시되면 kubectl이 올바르게 구성되지 않았거나 Kubernetes 클러스터에 연결할 수 없습니다. The connection to the server <server-name:port> was refused - did you specify the right host or port? |
예를 들어 랩톱에서 로컬로 Kubernetes 클러스터를 실행하려면 Minikube와 같은 도구를 먼저 설치 한 다음 위에 언급 된 명령을 다시 실행해야합니다.
kubectl cluster-info가 URL 응답을 반환하지만 클러스터에 액세스 할 수없는 경우 클러스터가 올바르게 구성되어 있는지 확인하려면 다음을 사용하십시오.
kubectl cluster-info dump
------------------------------------------------------------
자! 다시 돌아와서~~
kubectl이 Kubernetes 클러스터를 찾아 액세스하려면 kube-up.sh 를 사용하여 클러스터를 만들 거나 Minikube 클러스터를 성공적으로 배포 할 때 자동으로 생성되는 kubeconfig 파일 이 필요 합니다. 기본적으로 kubectl 구성은에 있습니다 ~/.kube/config. |
3. 클러스터, 사용자 및 컨텍스트 정의
개발 작업용 클러스터와 스크래치 작업용 클러스터 두 개가 있다고 가정합니다.
development클러스터, 프론트 엔드 개발자라는 공간에서 작업 frontend하고 저장 개발자라는 공간에서
작업 storage. 당신의에서 scratch클러스터, 개발자는 기본 네임 스페이스에서 일하거나 적합을 볼 그들이 보조
네임 스페이스를 만들 수 있습니다. 개발 클러스터에 액세스하려면 인증서로 인증해야합니다. 스크래치 클러스터에
액세스하려면 사용자 이름과 비밀번호로 인증해야합니다.
1) config-exercise. config-exercise디렉토리에서 config-demo다음 컨텐츠로 이름 이 지정된 파일을 작성 하십시오 .
kubectl config --kubeconfig=config-demo set-cluster development --server=https://1.2.3.4 --certificate-authority=fake-ca-file
kubectl config --kubeconfig=config-demo set-cluster scratch --server=https://5.6.7.8 --insecure-skip-tls-verify |
2) 구성파일에 사용자 세부사항 추가 하기
kubectl config --kubeconfig=config-demo set-credentials developer --client-certificate=fake-cert-file --client-key=fake-key-seefile
kubectl config --kubeconfig=config-demo set-credentials experimenter --username=exp --password=some-password |
3) 구성파일에 컨텍스트 세부사항 추가 하기
kubectl config --kubeconfig=config-demo set-context dev-frontend --cluster=development --namespace=frontend --user=developer
kubectl config --kubeconfig=config-demo set-context dev-storage --cluster=development --namespace=storage --user=developer
kubectl config --kubeconfig=config-demo set-context exp-scratch --cluster=scratch --namespace=default --user=experimenter |
4) config-demo추가 된 세부 사항을 보려면 파일을여 십시오 . config-demo파일 을 여는 대신 config view명령을 사용할 수 있습니다 .
kubectl config --kubeconfig=config-demo view ![]()
|
fake-ca-file, fake-cert-file그리고 fake-key-file위는 인증 파일의 실제 경로에 대한 자리 표시 자입니다. 이를 사용자 환경의 실제 인증 파일 경로로 변경해야합니다. 인증 파일 경로 대신 여기에 base64로 인코딩 된 데이터를 사용하려는 -data경우 키에 접미사 를 추가해야하는 경우가 있습니다 . 예를 들어, certificate-authority-data, client-certificate-data, client-key-data. 각 컨텍스트는 트리플 (클러스터, 사용자, 네임 스페이스)입니다. 예를 들어, dev-frontend컨텍스트는 developer 사용자 의 자격 증명을 사용 frontend하여 development클러스터 의 네임 스페이스에 액세스 합니다.
|
현재 컨텍스트를 설정하십시오.
kubectl config --kubeconfig=config-demo use-context dev-frontend
이제 kubectl명령 을 입력 할 때마다 작업이 dev-frontend컨텍스트에 나열된 클러스터 및 네임 스페이스에
적용됩니다 . 그리고 명령은 dev-frontend컨텍스트에 나열된 사용자의 자격 증명을 사용합니다 .
현재 컨텍스트와 연관된 구성 정보 만 보려면 --minify플래그를 사용하십시오 .
kubectl config --kubeconfig=config-demo view --minify ![]() |
출력은 dev-frontend컨텍스트 와 연관된 구성 정보를 보여줍니다 .
이제 스크래치 클러스터에서 잠시 작업하고 싶다고 가정하십시오.
현재 컨텍스트를 exp-scratch다음으로 변경하십시오 .
kubectl config --kubeconfig=config-demo use-context exp-scratch
이제 모든 kubectl명령이 scratch클러스터 의 기본 네임 스페이스에 적용됩니다 . 그리고 명령은 exp-scratch컨텍스트에 나열된 사용자의 자격 증명을 사용합니다 .
새로운 현재 컨텍스트와 관련된 구성을 exp-scratch봅니다.
kubectl config --kubeconfig=config-demo view --minify
마지막으로 클러스터 의 storage네임 스페이스 에서 잠시 작업을한다고 가정 development합니다.
현재 컨텍스트를 dev-storage다음으로 변경하십시오 .
kubectl config --kubeconfig=config-demo use-context dev-storage
새로운 현재 컨텍스트와 관련된 구성을 dev-storage봅니다.
kubectl config --kubeconfig=config-demo view --minify