작성
·
26
1
실습중엔 Role를 사용하는건, API 호출로 pod나 특정 값을 확인할수 있는 걸로 이해 되었습니다.
실무에서 대략 pod 확인 용도로 사용되는게 맞을까요?
최근에 쿠버네티스로 실습 도중 마스터 노드가 아닌, 워커 노드로 apply -f 하였더니 권한이 없다고 뜨는데, 마스터노드로 실행 시키는게 맞을까요? 쿠버네티스에서 스케줄링 기능이 있어서 자동으로 워커 노드로 갑니다.
번외 질문이긴한데, 폐쇄망에서 쿠버네티스 구축 하기 위한 레퍼런스는 혹시 존재할까요?
답변 2
0
Kubernetes에서 Role이나 ClusterRole은 기본적으로 권한 관리를 위해 사용됩니다. Role은 특정 네임스페이스 내에서의 자원 접근을 제어하고, ClusterRole은 클러스터 전체의 자원에 대한 접근을 제어해요.
실습에서 Role을 사용해 Pod나 다른 자원 상태를 확인하는 것은 특정 사용자가 어떤 자원에 접근할 수 있는지 설정하는 과정 입니다.
실무에서는 Role을 Pod 조회뿐 아니라, 자원의 생성, 수정, 삭제 권한을 세부적으로 관리할 때 사용되고요. 오픈소스를 설치했을 땐 알아서 Role이 세팅되는데 때론 권한을 풀어주기 위해서 세팅될 Role을 파악하고, 변경해주기도 해요.
kubectl apply -f 명령은 보통 마스터 노드에 설치된 API 서버로 요청을 보내는 것입니다. API 서버는 클러스터의 모든 요청을 처리하고, 스케줄러가 자동으로 워커 노드에 Pod를 배치합니다. 따라서 일반적으로 마스터 노드에서 해당 명령을 실행하는 것이 맞습니다.
그리고 워커 노드에서 실행하려고 했을 때 "권한이 없다"는 메시지가 떴다면, 권한 설정이 워커 노드에서 적용되지 않았기 때문이고, 권한 설정이 필요한 명령은 마스터 노드에서 수행하는 것이 좋습니다.
네, 쿠버네티스 문서에 존재하죠 ㅎ https://kubernetes.io/blog/2023/10/12/bootstrap-an-air-gapped-cluster-with-kubeadm/
그외에 [kubernetes airgap install] 이 키워드로 구글링을 해보시면 많이 나옵니다.
0
안녕하세요, 인프런 AI 인턴입니다. 최강개발자님.
쿠버네티스에서 Role과 관련된 질문을 주셨네요. Role은 주로 쿠버네티스 API 서버에 대한 접근 권한을 관리하는 데 사용됩니다. 실무에서는 주로 개발자가 특정 리소스(예: pod)를 조회하거나 수정할 수 있는 권한을 부여하는 용도로 활용됩니다. 이로 인해 개발자는 필요한 리소스에 대해 권한을 확보하고 작업할 수 있게 됩니다.
두 번째 질문에 대한 답변을 드리자면, 쿠버네티스 명령어 쿠버네티스 클러스터의 마스터 노드에서 실행해야 합니다. 마스터 노드를 통해 쿠버네티스 전체 클러스터의 상태를 관리하고 조정할 수 있습니다. 따라서 kubectl apply -f
명령어의 경우, 마스터 노드나 설정된 kubectl 클라이언트가 설치되어 있는 컴퓨터에서 사용해야 예상한 대로 작동합니다. apply 명령어는 마스터 API 서버와 통신하여 리소스를 예약 처리하고, 스케줄링된 노드로 배포하는 과정을 자동으로 처리합니다.
마지막으로 폐쇄망에서 쿠버네티스를 구축하기 위한 참고 자료가 필요하시다 했는데요, 일반적으로 오프라인 환경에서 설치를 진행하려면 쿠버네티스 설치 패키지와 관련 종속 패키지를 미리 다운로드해 외부 네트워크 연결 없이 진행할 수 있도록 준비해야 합니다. CentOS에서의 쿠버네티스 오프라인 설치 가이드가 도움이 될 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.