전체 글 28

[AI] 트리 구조란

1. 트리 구조 트리 구조(Tree)는 그래프(Graph)의 일종이다. 2. 노드(Node) 루트 노드(Root Node)는 부모(Parent)가 없는 노드를 의미한다. 리프 노드(Leaf Node)는 자식(Successor)이 없는 노드를 의미한다. 3. 깊이(Depth) 루트 노드의 깊이는 0이다. 하단으로 내려갈 수록 깊이가 증가한다. 4. 탐색(Search) 루트 노드로부터 시작한다. 현재 노드(Current State)가 목표(Goal State)일 경우 종료(Finish), 목표가 아닐 경우 확장(Expand)한다. 목적지에 도달할 때 까지 반복한다. 어떠한 노드로 확장할 지에 대한 결정은 탐색 전략을 따른다. 5. Path, Length, Cost of Path 출발지에서 목적지까지를 경로를..

인공지능 2024.04.20

[AI] 퍼셉트론이란

1. 퍼셉트론 퍼셉트론은 선형분리 가능 문제를 해결하기 위한 알고리즘을 의미한다. 선형분리 불가능 문제는 해결할 수 없다. 입력값 * 가중치의 값이 임계값보다 클 경우, 1이 출력된다. 입력값 * 가중치의 값이 잆계값보다 작거나 같을 경우, 0이 출력된다. 총 합을 의미하는 기호 시그마로 표현하면 아래와 같다. 입력값과 가중치를 열벡터로 나타내면 아래와 같다. 벡터의 내적을 사용하여, 결국 아래와 같이 간결하게 작성할 수 있다. (벡터의 내적은 각 요소를 곱하여 더함을 의미) 임계값을 이항하면 아래와 같이 표현할 수 있다. b=-θ 로 둘 경우 아래와 같다. 여기서 b는 편향(bias)를 의미한다. b는 퍼셉트론이 1을 출력하기 쉽게 또는 어렵게 조절하는 값이다. b가 커질수록 퍼셉트론이 1을 출력하는 ..

인공지능 2024.03.22

[K8S] etcd 스냇샵

0. 개요 etcd 스냇샷은 절차는 3가지이다. 첫번째로, etcd 스냅샷을 특정 경로(/opt/snapshot-pre-boot.db)에 저장한다. 두번째로, 해당 경로(/opt/snapshot-pre-boot.db)의 스냅샷을 다른 경로(/var/lib/etcd-from-backup)로 복원한다. 세번째로, etcd.yaml의 경로(/var/lib/etcd)를 복원된 경로(/var/lib/etcd-from-backup)로 변경한다. 1. etcd 스냅샷 저장 ETCDCTL_API=3 etcdctl snapshot save --endpoints={listen-client-urls 경로} \ --cacert={trusted-ca-file 경로} \ --cert={cert-file 경로} \ --key={k..

[K8S] etcd topology

1. Stacked etcd topology 컨트롤 플레인과 K8S가 사용하는 etcd가 같은 같은 마스터 노드에 배포된다. etcd 노드는 같은 노드에 위치한 kube-apiserver의 요청만을 허용한다. 컨트롤 플레인과 etcd가 동일 노드 리소스를 공유하기 때문에, 리소스가 부족할 경우 장애가 발생할 수 있다. Stacked etcd topology에서 etcd는 마스터 노드의 정적 포드를 사요하기 때문에, 마스터 노드 숫자만큼 etcd 인스턴스가 구동된다. Stacked etcd cluster의 경우, 컨트롤 플레인 노드 내 etcd가 확인된다. 2. External etcd topology kubeadm의 클러스터 설정에서 etcd.external.endpoints에 외부 etcd 엔드포인트 ..

[K8S] etcd

1. etcd 쿠버네티스는 기반 스토리지로 etcd를 사용한다. 모든 데이터는 etcd에 보관된다. etcd는 높은 신뢰성을 제공하는 Key:Value 형태의 데이터를 저장하는 스토리지다. 2. etcd 버전 확인 kubectl -n kube-system logs etcd-controlplane | grep -i etcd-version 3. etcd 정보 확인 kubectl describe pod etcd-control -n kube-system 4. etcd client url 확인 kubectl describe pod etcd-control -n kube-system | grep '\--listen-client-urls' 5. etcd server certificate 확인 kubectl descri..

[K8S] kubectl 명령어

1. Get # default namespace의 pod 보기 kubectl get pod # default namespace의 pod 자세히 보기 kubectl get pod -o wide # 모든 namespace의 pod 보기 kubectl get pod --all-namespaces # pod watch mode로 보기 kubectl get pod -w # default namespace의 deployment 조회 kubectl get deploy # 모든 namespace의 모든 deployment 조회 kubectl get deploy --all-namespaces # default namespace의 service 조회 kubectl get service kubectl get svc # 모든..

[K8S] 쿠버네티스 API란

1. 쿠버네티스 API REST API는 쿠버네티스의 근본적 구조다. 모든 조작, 컴포넌트 간 통신, 외부 사용자의 명령 등은 API 서버에서 처리할 수 있는 REST API 호출이다. 사용자는 kubectl 또는 REST 요청을 통해 API에 접근한다. 쿠버네티스 내 모든 것이 API 오브젝트로 취급대고, 모두 API에 상응하는 항목을 보유한다. 2. 알파(Alpha) 버전 이름에 alpha가 포함된다. (예: v1alpha1) 기본적으로 활성화되지 않으며, 활성화를 위해 kube-apiserver 설정에 명시해야 한다. 기술 지원이 언제든 공지 없이 중단될 수 있다. 버그에 대한 위험이 높고 장기간 지원되지 않는다. 3. 베타(Beta) 버전 이름에 beta가 포함된다. (예: v2beta2) 기본적..