본문 바로가기

쿠버네티스22

[Kubernetes] Kubernetes 초기화 쿠버네티스 완전 초기화하기 쿠버네티스를 사용하다보면 kubeadm reset을 사용하여 초기화 할 일이 간혹 생긴다. 하지만 제대로 reset을 진행하더라도 CNI나 잔여 정보들이 남을 수 있기 때문에 수동으로 삭제해주어야 한다. 아래의 명령어를 모든 노드에 실행시켜주고 재시작 해준다. systemctl stop kubelet systemctl stop containerd ip link delete cni0 ip link delete flannel.1 rm -rf /var/lib/cni/ rm -rf /run/flannel rm -rf /etc/cni rm -rf ~/.kube init 6 2023. 6. 23.
[Kubernetes] 쿠버네티스 모니터링 시스템 구축 - 2 1탄 : https://librat.kr/entry/Kubernetes-쿠버네티스-모니터링-시스템-구축-1 [Kubernetes] 쿠버네티스 모니터링 시스템 구축 - 1 쿠버네티스 모니터링 시스템을 구축하기 위해선 kube-state-metrics, prometheus, grafana가 필요하다. 1. kube-state-metrics clusterrole.yaml apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: labels: app.kubernetes.io/ librat.kr Prometheus 연결 1탄에서 kube-state-metrics , prometheus, grafana 시스템을 컨테이너로 올렸다. 맨 처음 접속하게되.. 2023. 6. 22.
[Kubernetes] 쿠버네티스 모니터링 시스템 구축 - 1 쿠버네티스 모니터링 시스템을 구축하기 위해선 kube-state-metrics, prometheus, grafana가 필요하다. 1. kube-state-metrics clusterrole.yaml apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: labels: app.kubernetes.io/component: exporter app.kubernetes.io/name: kube-state-metrics app.kubernetes.io/version: 2.6.0 name: kube-state-metrics rules: - apiGroups: - "" resources: - configmaps - secrets - nodes - po.. 2023. 6. 22.
[Kubernetes] EFK 구축 쿠버네티스 로깅시스템은 elasticsearch - fluentd - Kibana 의 앞글자를 따서 EFK로 구축할 수 있다. fluentd는 로그수집기 역할, elasticsearch는 자료저장, kibana는 자료를 가져와 시각화를 제공한다. 아래 순서대로 apply 하여 구축할 수 있다. fluentd-configmap.yaml apiVersion: v1 kind: ConfigMap metadata: name: fluentd-config namespace: kube-system data: fluent.conf: | #@include systemd.conf @include kubernetes.conf @include conf.d/*.conf @type elasticsearch @id out_es @l.. 2023. 6. 22.
[Kubernetes] Dynamic-provisioning NFS 구축 쿠버네티스에서는 Container를 생성할때 PV를 마운트할 수 있는데 PV를 일일이 만들어서 할당하는것이 아닌 NFS에서 동적으로 할당 받을수 있다. 아래의 yaml 파일을 순서대로 apply 시켜준다 #class.yaml apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: nfs-client provisioner: k8s-sigs.io/nfs-subdir-external-provisioner # or choose another name, must match deployment's env PROVISIONER_NAME' parameters: archiveOnDelete: "true" #rbac.yaml apiVersion: v1 kind:.. 2023. 6. 22.
[Kubernetes] MetricServer 설치 쿠버네티스에서 노드,파드별 리소스 사용량을 조회해주는 명령어를 사용하기 위해선 MetricServer을 설치해야한다. kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml 해당명령어를 입력해준 후 모든 Master,Worker 노드에 아래 명령어를 입력한다. echo "serverTLSBootstrap: true" >> /var/lib/kubelet/config.yaml systemctl restart kubelet 이후 csr을 확인 kubelet-serving 으로 되어있는 csr을 전부 허용시켜준다. kubectl certificate approve [csr] .. 2023. 6. 20.
[Kubernetes] 쿠버네티스 CNI 설치 -flannel 쿠버네티스에서 클러스터내 통신을 위하여 CNI를 설치해야한다. 쿠버네티스를 초기해 구축하면 아래 환경으로 구성된다. kubectl get pods kubectl get pods -A coredns가 ContainerCreating 상태이다 이 경우 CNI를 설치해주면 Running 상태로 바뀌게 된다. kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml 해당명령어로 바로 설치가 가능하지만 위의 경우 2번째 cni의 네트워크로 클러스터가 동작할 경우 오류가 발생할 수 있다. wget https://raw.githubusercontent.com/coreos/flannel/ma.. 2023. 6. 20.
[Kubernetes] 쿠버네티스 클러스터 구축 마스터노드 1개 워커노드 3개 구조로 쿠버네티스 클러스터를 구축하는 방법에 대해 포스팅하겠다. 우선 쿠버네티스는 container runtime과 kubernetes가 설치되어있어야하기 때문에 아래의 링크로 들어가 설치하길 바란다. Containerd : https://librat.kr/entry/Kubernetes-Containerd-설치하기-k8s-container-runtime kubernetes : https://librat.kr/entry/Kubernetes-쿠버네티스k8s-1253-설치하기 [Kubernetes] Containerd 설치하기 - k8s container runtime 쿠버네티스는 docker와 containerd를 container runtime으로 사용할 수 있다. 이 포스팅.. 2023. 6. 20.
[Kubernetes] 노드 IP 변경 방법 쿠버네티스에서 NIC를 2개로 구성하여 1개를 내부 네트워크로 통신하게끔 만들때 NIC 2개중 어떤 아이피로 사용할 것인지 설정할수 있다. vim /etc/systemd/system/kubelet.service.d/10-kubeadm.conf 해당폴더를 열어 전체의 가장 마지막 줄에 --node-ip [원하는 IP] 추가한다. # Note: This dropin only works with kubeadm and kubelet v1.11+ [Service] Environment="KUBELET_KUBECONFIG_ARGS=--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf".. 2023. 6. 20.
[Kubernetes] 쿠버네티스(k8s) 1.25.3 설치하기 구동환경 OS : debian11 container-runtime : containerd 설치방법 : https://librat.kr/entry/Kubernetes-Containerd-설치하기-k8s-container-runtime K8S_ver : 1.25.3 [Kubernetes] Containerd 설치하기 - k8s container runtime 쿠버네티스는 docker와 containerd를 container runtime으로 사용할 수 있다. 이 포스팅에서는 containerd를 설치하는 방법을 설명하겠다. apt update apt-get install -y apt-transport-https ca-certificates curl software-properties librat.kr cat 2023. 6. 20.