https://github.com/pgvector/pgvector

 

GitHub - pgvector/pgvector: Open-source vector similarity search for Postgres

Open-source vector similarity search for Postgres. Contribute to pgvector/pgvector development by creating an account on GitHub.

github.com

- 제공언어 라이브러리

Python
Ruby
Node
Go
PHP
Rust
C++
Elixir

반응형

'IT 소식 > 오픈소스' 카테고리의 다른 글

Capacitor - 모바일 웹앱 빌드  (0) 2023.03.09
Tailwind CSS로 만든 모바일 UI - Konsta UI  (0) 2023.02.24
개발자 로드맵 - roadmap.sh  (0) 2023.02.23

https://konstaui.com/

 

 

Konsta UI - Mobile UI components built with Tailwind CSS

Mobile UI components built with Tailwind CSS

konstaui.com

 

 

iOS 및 머티리얼 디자인 구성 요소 사용

React, Vue, Svelte 지원

반응형

로드맵, 가이드 및 기타 교육 콘텐츠를 만들어 개발자가 길을 선택하고 학습을 안내하는 데 도움을 주기 위한 사이트

https://roadmap.sh/

 

Developer Roadmaps - roadmap.sh

Community driven roadmaps, articles and guides for developers to grow in their career.

roadmap.sh

 
반응형

https://github.com/meilisearch/meilisearch

 

GitHub - meilisearch/meilisearch: A lightning-fast search engine that fits effortlessly into your apps, websites, and workflow.

A lightning-fast search engine that fits effortlessly into your apps, websites, and workflow. - GitHub - meilisearch/meilisearch: A lightning-fast search engine that fits effortlessly into your app...

github.com

문서 : https://docs.meilisearch.com/

 

Meilisearch Documentation

 

docs.meilisearch.com

 

메일리서치란?
Meilisearch는 모든 웹사이트 또는 애플리케이션과 쉽게 통합되는 사용자 중심의 오픈 소스 검색 엔진 입니다. 입력할 때 검색 , 오타 허용 , 패싯 검색 , 지역 검색 , 멀티 테넌시 와 같은 강력한 내장 기능을 제공 합니다. SDK 및 라이브러리 제품군 을 사용하면 널리 사용되는 코딩 언어 및 웹 도구와 쉽게 연결할 수 있습니다. 언어와 관련하여 Meilisearch는 중국어, 일본어, 히브리어, 태국어 및 한국어와 함께 공백을 사용하여 단어를 구분하는 모든 언어에 대한 특수 최적화를 통해 모든 언어를 지원합니다.

반응형

 

 

SH1MMER는 엔터프라이즈 관리 크롬북을 완전히 등록 해제할 수 있는 익스플로잇입니다. Mercury Workshop 팀 에서 발견했으며 2023년 1월 13일 금요일 에 출시되었습니다 .

https://sh1mmer.me/

반응형

여기서 클러스터는 Node를 뜻합니다.

Pod 가 증가하거나 다른서버 오류로 노드(서버 컴퓨터가) 부족할때 자동으로 증가했다가 10분(기본값)이상 미사용되면 다시 축소하게 됩니다.

 

일단 노드그룹에서 최대크기를 지정해놔야 합니다.

 

적용할 YAML

---
apiVersion: v1
kind: ServiceAccount
metadata:
  labels:
    k8s-addon: cluster-autoscaler.addons.k8s.io
    k8s-app: cluster-autoscaler
  name: cluster-autoscaler
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: cluster-autoscaler
  labels:
    k8s-addon: cluster-autoscaler.addons.k8s.io
    k8s-app: cluster-autoscaler
rules:
  - apiGroups: [""]
    resources: ["events", "endpoints"]
    verbs: ["create", "patch"]
  - apiGroups: [""]
    resources: ["pods/eviction"]
    verbs: ["create"]
  - apiGroups: [""]
    resources: ["pods/status"]
    verbs: ["update"]
  - apiGroups: [""]
    resources: ["endpoints"]
    resourceNames: ["cluster-autoscaler"]
    verbs: ["get", "update"]
  - apiGroups: [""]
    resources: ["nodes"]
    verbs: ["watch", "list", "get", "update"]
  - apiGroups: [""]
    resources:
      - "namespaces"
      - "pods"
      - "services"
      - "replicationcontrollers"
      - "persistentvolumeclaims"
      - "persistentvolumes"
    verbs: ["watch", "list", "get"]
  - apiGroups: ["extensions"]
    resources: ["replicasets", "daemonsets"]
    verbs: ["watch", "list", "get"]
  - apiGroups: ["policy"]
    resources: ["poddisruptionbudgets"]
    verbs: ["watch", "list"]
  - apiGroups: ["apps"]
    resources: ["statefulsets", "replicasets", "daemonsets"]
    verbs: ["watch", "list", "get"]
  - apiGroups: ["storage.k8s.io"]
    resources:
      ["storageclasses", "csinodes", "csidrivers", "csistoragecapacities"]
    verbs: ["watch", "list", "get"]
  - apiGroups: ["batch", "extensions"]
    resources: ["jobs"]
    verbs: ["get", "list", "watch", "patch"]
  - apiGroups: ["coordination.k8s.io"]
    resources: ["leases"]
    verbs: ["create"]
  - apiGroups: ["coordination.k8s.io"]
    resourceNames: ["cluster-autoscaler"]
    resources: ["leases"]
    verbs: ["get", "update"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: cluster-autoscaler
  namespace: kube-system
  labels:
    k8s-addon: cluster-autoscaler.addons.k8s.io
    k8s-app: cluster-autoscaler
rules:
  - apiGroups: [""]
    resources: ["configmaps"]
    verbs: ["create", "list", "watch"]
  - apiGroups: [""]
    resources: ["configmaps"]
    resourceNames:
      ["cluster-autoscaler-status", "cluster-autoscaler-priority-expander"]
    verbs: ["delete", "get", "update", "watch"]

---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: cluster-autoscaler
  labels:
    k8s-addon: cluster-autoscaler.addons.k8s.io
    k8s-app: cluster-autoscaler
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-autoscaler
subjects:
  - kind: ServiceAccount
    name: cluster-autoscaler
    namespace: kube-system

---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: cluster-autoscaler
  namespace: kube-system
  labels:
    k8s-addon: cluster-autoscaler.addons.k8s.io
    k8s-app: cluster-autoscaler
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: cluster-autoscaler
subjects:
  - kind: ServiceAccount
    name: cluster-autoscaler
    namespace: kube-system

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: cluster-autoscaler
  namespace: kube-system
  labels:
    app: cluster-autoscaler
spec:
  replicas: 1
  selector:
    matchLabels:
      app: cluster-autoscaler
  template:
    metadata:
      labels:
        app: cluster-autoscaler
      annotations:
        prometheus.io/scrape: "true"
        prometheus.io/port: "8085"
    spec:
      priorityClassName: system-cluster-critical
      securityContext:
        runAsNonRoot: true
        runAsUser: 65534
        fsGroup: 65534
      serviceAccountName: cluster-autoscaler
      containers:
        - image: k8s.gcr.io/autoscaling/cluster-autoscaler:v1.22.3 #k8s버전
          name: cluster-autoscaler
          resources:
            limits:
              cpu: 100m
              memory: 600Mi
            requests:
              cpu: 100m
              memory: 600Mi
          command:
            - ./cluster-autoscaler
            - --v=4
            - --stderrthreshold=info
            - --cloud-provider=aws
            - --skip-nodes-with-local-storage=false
            - --expander=least-waste
            - --node-group-auto-discovery=asg:tag=k8s.io/cluster-autoscaler/enabled,k8s.io/cluster-autoscaler/myclustername #사용하는 클러스터명
            - --balance-similar-node-groups=true 
            - --skip-nodes-with-system-pods=false


          volumeMounts:
            - name: ssl-certs
              mountPath: /etc/ssl/certs/ca-certificates.crt #/etc/ssl/certs/ca-bundle.crt for Amazon Linux Worker Nodes
              readOnly: true
          imagePullPolicy: "Always"
      volumes:
        - name: ssl-certs
          hostPath:
            path: "/etc/ssl/certs/ca-bundle.crt"

 

 

 

참고문서 : https://catalog.us-east-1.prod.workshops.aws/workshops/9c0aa9ab-90a9-44a6-abe1-8dff360ae428/ko-KR/100-scaling/200-cluster-scaling

반응형

2년정도 사용하니 로봇청소기가 중간에 자주 멈추게 되었다.

다른 로봇청소기도 배터리 문제여서 배터리를 교체하려고 원더스 리빙에게 문의를 했다.

네이버 톡톡으로 문의를 하니 쉽게 배터리를 구매할 수 있었다.

가끔 배터리를 별도로 구매를 못하고 AS신청으로만 되는곳이 있어 불편했었는데 이점은 편리해 보였다.

 

 

몰라서 이것저것 풀러보았는데, 배터리 교체방법은 하단의 볼트 4개만 풀면 가능했다. 

 

배터리를 빼서 선만 연결하면 바로 교체가 가능했다.

여러가지 로봇청소기를 써봤는데 배터리 교체는 제일 편하게 되어있었다.

---------------------

알고보니 샤오미 STYTJ02YM 제품과 동일한듯했다. 샤오미 배터리는 3만원대에 구매가능하니 이걸 사서 교체하는게 좋을듯...

 
반응형

VPC CNI업데이트 후 외부네트워크에 문제가 생기고 인그레스가 정상적이지 않은 문제가 생겼습니다.

 

VPC CNI 을 제거하고 클러스터에서 이 추가 기능의 기존 구성을 재정의합니다. 를 체크하고 문제가 해결되었습니다.

반응형

+ Recent posts