본문 바로가기

분류 전체보기74

실수를 통해 배우지만 그 실수가 내 실수일 필요는 없다 실수는 우리가 성장하고 학습하는 과정에서 피할 수 없는 부분이다. 그러나 실수를 통해 배우기 위해서는 반드시 자신이 그 실수를 저질러야만 하는 것은 아니다. 실수의 가치 실수는 인생에서 중요한 교훈을 제공하는 훌륭한 수단이다. 실수로부터 배울 수 있는 가치는 다양하다. 예를 들어, 우리는 자기 발견을 통해 새로운 것을 배우고, 창의성을 향상시킬 수 있으며, 문제 해결 능력을 키울 수 있다. 실수는 우리가 보다 강하고 지혜로운 사람으로 성장하는 과정에서 필수적인 부분이다. 다른 사람의 실수도 실수다 실수를 통해 배우는 것은 자신의 실수뿐만 아닌 다른 사람들의 경험으로부터도 얻을 수 있다. 책, 영화, 성공적인 사람들의 이야기 등에서는 그들이 겪은 실수와 그로부터 얻은 교훈을 찾을 수 있다. 다른 사람들의 .. 2023. 7. 3.
[Kubernetes] ETCD 백업 쿠버네티스는 ETCD를 사용하고 시스템의 모든 구성정보들이 저장되어있다. 쿠버네티스 클러스트가 손상되었을때 etcd를 통해 복구할 수 있기 때문에 etcd를 주기적으로 백업하는것이 좋다. etcd는 간단하게 회사의 각종 중요정보가 모두 모여있는 금고와 같은 곳으로, 매우 중요한 정보들을 복사본으로 나누어 여러개의 금고에 보관하고 있는것과 같다고 비유할 수 있다. etcd는 key-value db로써 분산시스템을 실행하는데 필요한 중요정보를 보관하고 관리함. 클러스터로 구성하여 하드웨어와 네트워크 파티션을 적절하게 견딜수 있도록 설계되어있다. redis와 비슷한 역할을 한다고 생각하지만 etcd는 장애극복과 고가용성을 지원하기 때문에 쿠버네티스가 채택하여 사용하는 db이다. 또한 etcd는 모든 저장된 데.. 2023. 6. 23.
[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.