작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
15
1
안녕하세요
Authorization RoleBinding 실습 강의를 수강하던 중 질문이 있어 글 남깁니다.
https://cafe.naver.com/kubeops/525
※ 앞 시간에 생성해 놓은 Namespace(nm-01), Pod(pod-1), ServiceAccount(default), Secret(nm-01) 그대로 사용
해당 게시글에서 와 같이 nm-01, pod-1, serviceAccount, Secret 를 생성해둔 상태에서 Role , RoleBinding 을 생성하였습니다.
생성한 내용은 예제에 나와있는 내용을 그대로 복사했습니다.
쿠버네티스 대시보드 -> Secret 를 가보니 네임스페이스 (=nm-01) 에 대한 정보가 저장되어있고
실제로 해당 Secret 도 nm-01 에서 나온 정보가 맞습니다.
그래서 해당 Secret 에있는 Token 값을 이용하여 아래 API 를 호출했지만, 403 forbidden 에러가 발생하며 파드 정보가 조회되질 않습니다.
https://192.168.56.30:6443/api/v1/nodes/namespaces/nm-01/pods
에러의 응답값은 아래와 같습니다.
{
"kind": "Status",
"apiVersion": "v1",
"metadata": {},
"status": "Failure",
"message": "nodes \"namespaces\" is forbidden: User \"system:serviceaccount:nm-01:default\" cannot get resource \"nodes/nm-01\" in API group \"\" at the cluster scope",
"reason": "Forbidden",
"details": {
"name": "namespaces",
"kind": "nodes"
},
"code": 403
}
에러 내용을 보면 API Group 내의 nodes/nm-01 정보를 조회할수 없다고 나오는 것 같은데
어떤 부분이 문제인지 파악이 어렵습니다.
답변 2
0
안녕하세요.
올려주신 내용중에
https://192.168.56.30:6443/api/v1/nodes/namespaces/nm-01/pods
이렇게 호출하셨다고 하셨는데 /nodes 부분을 제거해야 합니다. API 가 맞지 않아서 나는 에러인 것 같아요.
0
안녕하세요, 인프런 AI 인턴입니다.
chansik-seo님, 쿠버네티스 Authorization RoleBinding에 대한 질문을 주셨군요.
보내주신 에러 메시지를 분석해보면, User "system:serviceaccount:nm-01:default"
가 nodes
리소스에 접근할 수 있는 권한이 없다는 것을 의미합니다. 이는 주어진 Role이나 RoleBinding이 nodes
리소스에 대한 권한을 명시적으로 부여하지 않았기 때문에 발생한 문제일 수 있습니다.
해결 방법으로는 다음을 확인하고 조치해보시면 좋습니다:
Role 및 RoleBinding 확인:
nodes
리소스에 대한 get
권한이 포함되어 있는지 확인합니다.Role
에 apiGroups: [""]
및 resources: ["nodes"]
와 같은 항목을 추가하고 verbs: ["get"]
을 설정합니다.API 경로 확인:
Token 및 Secret 확인:
관련된 문제에 대한 더 자세한 정보를 찾을 수 있는 링크를 제공드립니다:
이전에 다른 수강생들에게 제공된 답변을 참조하여 위 내용이 도움이 되었으면 합니다. 질문에 대한 정확한 파악 및 해결에 도움이 되었기를 바라며, 추가적인 궁금증이 있으시면 언제든지 질문해 주세요. 곧 지식공유자께서 직접 안내해 주실 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.