# hostPath
Kubernetes 컨테이너 시간설정
대부분 이미지는 UST로 설정이 되어있고 커스텀한 이미지가 아니면 따로 시간을 설정해줘야 한다. 그리고 이런 부분은 생각보다 DB 컨테이너 등 시간에 민감한 컨테이너 이미지일 경우 시도하면 좋아서 글을 쓰려고 한다. 대부분의 공식적인 이미지는 컨테이너 내부에서 커널사용이 제한적이기 때문에 볼륨설정으로 시간을 설정함 deployment.yaml을 작성 시 추가한 코드 spec.template.spec.containers.volumeMounts spec.template.spec.volumes 코드에 대해 간략하게 말하자면 spec.template.spec.volumes 이 옵션을 통해 Node상에 위치하는 Mount경로를 잡고 containers의 경로를 설정하는 것이다. 이 동작이 이루어지려면 Pod가 생성되는 노드가 지정이되어야하며 그 노드 볼륨을 Mount하는 것이기 때문에 암묵적으로 affinity라는 옵션도 공부해야한다! 참고문서 https://nearho

쿠버네티스 04-02 Storage_Hostpath
Kubernetes Storage_Hostpath 쿠버네티스에서 hostPath 볼륨은 노드의 파일 시스템에 있는 파일이나 디렉터리를 파드에 마운트하는 데 사용됩니다. 이는 개발 및 테스트 환경에서 유용하며, 특히 단일 노드 클러스터에서 사용됩니다. 다음은 각 YAML 파일에 대한 설명입니다. myapp-rs-hp.yaml 이 YAML 파일은 ReplicaSet을 정의합니다. 이 ReplicaSet은 두 개의 파드를 생성하며, 각 파드는 hostPath 볼륨을 사용하여 노드의 특정 디렉터리를 마운트합니다. myapp-svc-hp.yaml 이 YAML 파일은 Service를 정의합니다. 이 서비스는 LoadBalancer 타입이며, myapp-rs-hp 레이블을 가진 파드로 트래픽을 라우팅합니다.
HOSTPATH 에서 Permission denied
회사 내부에서 난 에러는 공유하기가 참 힘들다 ㅠㅠ.... 지금 사용하고 있는 ktcloud 에서 okd Goledn image 를 생성안해줘서 증설을 해야하는 상황이 왔더니 다 수작업으로 이전 OS 환경이랑 맞춰야 한단다 허아머ㅣㅇ니ㅏ럼이ㅏㅓ 흠.... 그래서 일단 증설을 했는데 hostpath 를 쓰는 쪽에서 계속 permission denied 에러가 났다 긴급 증설인데 골치가 아프다 하하... 이래저래 찾아보니 selinux 가 문제였다. 기존에 사용 중인 노드들은 모두 selinux 꺼져 있고 신규 노드는 selniux 가 켜져 있는 것을 확인하였다. (hadoop 때는 Selinux 는 끄는게 국룰 아니었나!?!?) 요새는 안끄고도 잘 하나보다 ㅎㅎ.... 이런 에러가 발생 시 해결책은 2가지 이다. 1. pod 스펙에 securityContext 추가 해주기 2. node os 에서 selinux 끄기 이제 hostpath 접근이 될 것이다.

쿠버네티스 볼륨 사용법
emptyDir 파드가 생성, 삭제될 때 같이 생성, 삭제되는 임시 볼륨이다. 빈 공간이라서, 파드내에서 컨테이너끼리 공유하는 공간으로 사용한다. 임시 데이터 용도이기 때문에 해당 파드가 삭제되면 emptyDir 볼륨 데이터도 영구 삭제된다. hostPath **파드에서 마운트해서 사용하는 것은 emptyDir과 동일하지만, emptyDir 볼륨이 같은 파드에서 공유할 수 있는 반면에 hostPath 볼륨은 다른 파드에서도 공유 가능합니다.** **`emptyDir