본문 바로가기

TroubleShooting/Cloud-native

(6)
[Kubernetes]Do not want to remove the pvc when uninstalling helm chart Concept Helm chart로 플랫폼을 구성하고 helm uninstall을 하는 경우 구성했던 PVC가 없어 지는 경우가 있다. 이때 아래 PVC에 annotations을 추가해 PVC를 유지할 수 있다. Do not remove resource such as pvc Add annotations metadata: annotations: "helm.sh/resource-policy": keep [...] "helm.sh/resource-policy": keep Example apiVersion: v1 kind: PersistentVolumeClaim metadata: annotations: helm.sh/resource-policy: keep labels: app: harbor component: ..
[Kubernetes]Pods are not moved when node in not ready state Problem 서버 셧다운, 리부팅시 실제 해당 서버에 떠있는 파드로 통신은 할 수 없지만 kubectl 명령어로 확인했을때 running 상태인걸 확인 할 수 있다. 리부팅되어 서버가 정상화 되어도 pod가 다른 node가 아닌 기존 node에 할당 되어 있는것을 확인할 수 있다. Cause pod, node의 헬스체크 주기가 길어 실제 node에 문제가 생겼지만 다음 헬스체크까지 이상을 감지 못하는 상황 Solution kube-apiserver.yaml, kube-controller-manager.yaml 에서 아래 옵션을 변경하여 not ready 상태의 노드 체크 주기를 줄인다 api-server https://kubernetes.io/docs/reference/command-line-tools..
[Kubernetes]Delete Namespace forcefully in Kubernetes Kubernetes를 운영하다 보면 namespace가 삭제되지 않는 경우가 발생한다. 그럴 경우 아래와 같은 방법으로 삭제할 수 있다. Install jq JSON 형식을 다루는 도구 yum iunstall jq -y Delete Namespace forcefully e.g. rook-ceph라는 namespace가 삭제되지 않는 경우 NAMESPACE=rook-ceph kubectl proxy & kubectl get namespace $NAMESPACE -o json |jq '.spec = {"finalizers":[]}' >temp.json curl -k -H "Content-Type: application/json" -X PUT --data-binary @temp.json 127.0.0.1:80..
[Kubernetes]Prometheus alert firing(etcd,kubelet,kube-proxy) in kubeadm Kubernetes problem kubeadm에 Prometheus를 설치하면 아래와 같은 Alert이 비정상적으로 발생한다. 각 컴포넌트를 수정하여 비정상적인 Alert을 삭제한다. "TargetDown for kube-proxy" "TargetDown for kubelet" "TargetDown for etcd" "KubeSchedulerDown" "KubeControllerManagerDown" "etcdInsufficientMembers" "etcdMembersDown Cause cannot connect node-exporter to these pods(kube-proxy,kubelet,etcd,kube-scheduler,kube-controller-manager) that running with node IP ..
[Kubernetes]Readiness probe failed: Waiting for elasticsearch cluster to become ready Problem Helm chart를 이용하여 Elasticsearch 설치 시 아래와 같은 에러 발생 Readiness probe failed: Waiting for elasticsearch cluster to become ready Solution Helm Chart의 아래 값 변경하고 다시 Install 한다. replicas: 1 minimumMasterNodes: 1 #2 clusterHealthCheckParams: 'wait_for_status=yellow&timeout=1s' #green helm install elasticsearch . -n efk
[Kubernetes]Dynamic provisioning failure in Kubernetes Problem Dynamic provisioning시 provisioner pod에서 아래와 같은 에러 메시지와 함께 PVC가 pending 상태가 된다. “unexpected error getting claim reference: selfLink was empty, can't make reference” k logs nfs-pod-provisioner-5948549f8c-46h4h I0330 01:31:27.061484 1 controller.go:987] provision "default/test-dynamic-nfs-pvc" class "joins-nfs-storageclass": started E0330 01:31:27.068286 1 controller.go:1004] provision "def..