# Kubelet ![image](./img/06_cluster_architecture_apiserver_kubelet.png "Kubelet") ```bash { HOST_NAME=$(hostname -a) cat > kubelet-csr.json < 6s v1.21.0 ``` ох ти, раз є ноди, маж бути і контейнер ```bash kubectl get pod ``` ``` NAME READY STATUS RESTARTS AGE hello-world 1/1 Running 0 8m1s ``` пише що запущений, а що в дійсності? ```bash crictl pods ``` ``` POD ID CREATED STATE NAME NAMESPACE ATTEMPT RUNTIME 1719d0202a5ef 8 minutes ago Ready hello-world default 0 (default) ``` ```bash crictl ps ``` ``` CONTAINER IMAGE CREATED STATE NAME ATTEMPT POD ID 3f2b0a0d70377 7cfbbec8963d8 8 minutes ago Running hello-world-container 0 1719d0202a5ef ``` навіть логи можна глянути ```bash crictl logs $(crictl ps -q) ``` ``` Hello, World! Hello, World! Hello, World! Hello, World! ... ``` але так не діло логи дивитись тепер коли ми зрозуміли що сервер наш працює і показує правду - можна користуватись тільки куб сітіель ```bash kubectl logs hello-world ``` ``` Error from server (Forbidden): Forbidden (user=kubernetes, verb=get, resource=nodes, subresource=proxy) ( pods/log hello-world) ``` причина помилки відсутність всяких приколів давайте їх створимо ```bash { cat < rbac.yml apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: node-proxy-access rules: - apiGroups: [""] resources: ["nodes/proxy"] verbs: ["get"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: node-proxy-access-binding roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: node-proxy-access subjects: - apiGroup: rbac.authorization.k8s.io kind: User name: kubernetes EOF kubectl apply -f rbac.yml } ``` ```bash kubectl logs hello-world ``` ``` Hello, World! Hello, World! Hello, World! Hello, World! ... ``` ух ти тепер точно все працює, можна користуватись кубернетесом, але стоп у нас все ще є речі які на нашому графіку сірі давайте розбиратись