일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- ioredirection
- mongodb operator
- k8s
- devops #jenkins
- springboot
- DOIK
- 컨테이너
- python
- namespace
- multivm
- nginx
- Engineer
- Vagrant
- bash
- Kubernetes
- RSS
- linux
- 초간단파이썬
- java
- aws #engineer
- 파이썬
- 쿠버네티스
- devops #engineer
- docker
- variable
- Strimzi
- WEB
- 도커
- container
- httpd실행
- Today
- Total
목록Container/Kubernetes 처리 (6)
샤인의 IT (막 적는) 메모장
cgroupfs 말고 systemd Kubernetes에서는 cgroupfs 말고 systemd 드라이버 사용을 권장한다. 왜냐하면 kubelet이 daemon으로 올라가기 때문이다. systemd로 설정하기 위해 다음과 같은 작업을 수행하여야 한다. #kubeadm 설정 vi /etc/kubernetes/kubeadm-config.yaml ... kind: KubeletConfiguration apiVersion: kubelet.config.k8s.io/v1beta1 cgroupDriver: systemd ... #kubelet 설정 kubectl get cm -n kube-system | grep kubelet-config kubectl edit cm kubelet-config -n kube-syst..
calico.yaml을 통해 대부분의 리소스가 배포되지만 VXLAN 설정을 위하여 해당 부분을 변경한다 DaemonSet 리소스 내 환경변수 변경 #Calico의 Default 모드는 IPIP이며 VXLAN으로 변경 vi calico.yaml #DaemonSet 오브젝트 내 env value 변경 DATASTORE_TYPE=kubernetes #IPIP -> VXLAN #Command 실행 부분 --bird-ready --bird-live 부분 삭제 CALICO_IPV4POOL_IPIP=Never CALICO_IPV4POOL_VXLAN=Always #레거시 및 RHEL 계열 설정 FELIX_IPTABLESBACKEND=NFT #프로메테우스 연동시 설정 FELIX_PROMETHEUSMETRICSENABLE..
해당 문제는 많은 문제에서 발생할 수 있지만 제가 운영하면서 발생한 문제는 이러했습니다. Node -> Clone -> 생성 문제는 이 생성된 노드가 Clone으로 복제되었을 경우인데 실제 해당 설정값이 똑같기 때문에 Kubernetes Cluster에서 해당 복제노드를 바라보게 되서 발생했습니다. IP도 다른데? 복제된 노드를 바라본다? 심지어 Subnet도 다른데? ???? 제가 처리한 방법은 해당 복제 노드에 설정된 Kubernetes와 관련된 정보들을 전부 백업으로 돌렸습니다. kubelet, docker 중지하고 kubernetes 설정정보, kubelet 설정정보 백업 돌리고.. 그러니 다시 원래 노드를 바라보게 되더라구요 #노드 IP를 확인했을 때 IP에 복제된 노드 IP로 되어 있음 kub..
실제 실무에서는 해당 서비스에 따라 노드를 분류하여 사용한다 (예 type=ingress, , type=web, type=was ...) 그러나 실제로 개발이나 검증계 쪽에서는 테스트 용으로 사용하기 때문에 한 노드에 두 서비스를 올리고 싶다는 요청을 받았다. (lable/taint 설정 안하고 그냥 막 배포하면 되는거 아니냐고!) 실제 label/taint가 설정되어 있는 노드들이기 때문에 다음과 같은 작업이 필요하다. 실제로 Taint 값이 util이라고 설정되어 있다고 한다면 NodeAffinity를 나눠서 분리하여 사용한다. 실제로 Node에 Label값을 추가하는데 실제로 service1에 service2가 추가되어 label 값이 service1, service2인 모든 노드에 배포된다. 실제..
이미지를 빌드 후 배포하였는데 파드 상태가 Pending 상태로 계속 재시작 되는 상황이 있었다. 실제로 파드 로그를 확인해 보면 ... livenessProbe Failed ... readinessProbe Failed 로그가 찍혀있는데 바로 확인 작업 진행했다. 해당 문제는 배포하였을 때 파드가 올라가는 시간이 길 경우 헬스체크 설정을 여유롭게 늘려야 하는데 그 설정이 안되어 있었다. (실제 서비스하는 파드가 로딩이 오래걸림) 정확하게는 파드가 올라가기 전 LivenessProbe와 ReadinessProbe가 설정값에 따라 상태를 확인하는데 올라가질 않으니 해당 파드를 계속 죽이고 다시 올린다. 해당 문제를 해결하려면 해당 healthcheck가 도는 시간을 늘리면 된다. #파드가 올라가기 전 Li..
실제 Kubenetes Cluster들을 운영하면서 발생한 문제입니다.(v1.18.4) Worker 노드별로 각각 분류하여 서비스를 하고 있는데 어느날 kubelet 에러로그에 찍히더라구요. #Kubelet Orphen 파드 에러 내용 .. kubelet_volumes.go: 154] orphaned pod "c6d6f77b-asdf-bc54-418391de" found, \ but volume subpaths are still present on disk : There were a total of 4 errors similar to this. Turn up verbosity to see them 으잉? 하면서 확인했습니다. log flooding 상태더라구요. 해당 파드 정보를 찾을수 없다는 로그를 보..