-
kubernetes 관리하기 - k9s
kubernetes 쉽게 관리하기 - k9s 쿠버네티스 관리를 하다보면 kubectl 을 너무 많이 쳐서 힘들다. 그래서 alias를 만들어서 k 라고만 하면 kubectl로 동작하게 만들어서 사용한다. 그후 oh-my-zsh에서 플러그인으로 kgp (kubectl get pod) 등의 shortcut alias를 만들어서 사용중이였다. k9s가 사이먼님이 소개를 해줘서 설치해서 사용해보고 잇는데 많이 편하다. cli를 쓰다가도 가끔 kubernetes dashboard를 사용해야 할때가 잇엇는데 k9s로 다 처리가 될듯 싶다. install https://github.com/derailed/k9s linux https://github.com/derailed/k9s/releases wget https://github.com/derailed/k9s/releases/download/v0.20.5/k9s_Linux_x86_64.tar.gz tar xvf k9s_Linux_x86_64.tar.gz mv k9s /usr/local/bin/ mac brew install derailed/k9s/k9s 설치는...
-
ef core - Spatial Data
entity framework core로 공간 정보 계산하기 mysql 8.0을 사용중이다. EF Core 2.2 부터는 공간 정보(Spatial Data) 를 저장할수 있게 지원한다. sql server와 sqlite , InMemory , PostgreSQL 는 지원을 했었다. 나는 mysql을 사용하는데 얼마전 Pomelo.EntityFrameworkCore.MySql 의 nightly build에서 지원을 한다는 걸 보고 테스트하기로 햇다. https://docs.microsoft.com/en-us/ef/core/modeling/spatial https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql/issues/338 용어 NetTopologySuite : (NTS) nuget package 설치 nightly build nightly build를 설치해야해서 조금 헤멧지만 다음처럼 해보자. https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql#nightly-buildsㅍㅍ 솔류션 루트에 nuget.config 파일을 만들고 <?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <add key="Pomelo"...
-
angular - data를 두개이상의 컴포넌트에서 공유하기
angular에서 두개 이상의 컴포넌트에서 데이터 공유하기 Service 서비스를 하나 만들고 private으로 subject를 만든다. (rxjs) subject를 asObservable로 하는 변수를 하나 만든다. 변수에 값을 세팅하는 함수도 하나 만든다. next를 하면 subscribe하고 있는 모든 컴포넌트에 전달이 된다. export class CartService { private _cartCountSource = new Subject<number>(); cartCountSource$ = this._cartCountSource.asObservable(); cartCount(count: number){ this._cartCountSource.next(count); } } 데이터를 보낼 컴포넌트 서비스를 injection하고 함수를 호출한다. constructor( private service: CartService, ) this.service.cartCount(this.cartCount); 데이터를 받을 컴포넌트 ngOnInit에서 subscribe를 해두면 된다. 그러면 service에서 next로 값을...
-
redis - geo 정보 처리
Redis Geo 정보 처리 # restaurants를 키로 사용한다. geoadd - geo정보 등록하기 geoadd restaurants -118.40 33.75 "restaurant-1" geoadd restaurants -119.40 35.75 "restaurant-2" geopos - geo정보 확인하기 geopos restaurants "restaurant-1" geodist - 거리 계산 geodist restaurants "restaurant-1" "restaurant-2" mi georadiusbymember 특정 멤버내 radius에 범위 내에 잇는 멤버들 georadiusbymember restaurants home 20 mi withdist georadiusbymember restaurants home 30 mi withdist count 1 desc #home에서 30mi 안에 있는 member를 찾고 이를 거리가 먼 순부터 정렬한뒤 1개의 멤버만 리턴해라....
-
kubernetes 로그를 fluentd로 보내고 elasticsearch에 저장하고 kibana로 확인
kubernetes 로그를 fluentd로 보내고 elasticsearch에 저장하고 kibana로 확인 전체 과정은 아래와 같다. kubernetes node 로그 -> fluentd -> elasticsearch -> kibana elasticsearch default.yml --- apiVersion: v1 kind: Namespace metadata: name: elastic-search elastic-search.yml apiVersion: apps/v1 kind: Deployment metadata: name: elasticsearch namespace: elastic-search labels: app: elasticsearch spec: replicas: 1 selector: matchLabels: app: elasticsearch template: metadata: labels: app: elasticsearch spec: containers: - name: elasticsearch image: elastic/elasticsearch:7.7.0 env: - name: discovery.type value: "single-node" ports: - containerPort: 9200 - containerPort:...
-
Hypermedia Lite For ASP.NET Core HTTP APIs 번역
Hypermedia Lite For ASP.NET Core HTTP APIs 번역 원문 : https://khalidabuhakmeh.com/hypermedia-lite-for-aspnet-core-http-apis github : https://github.com/khalidabuhakmeh/linksexample 번역전 참고사항. restful api 관련 내용에서 HATEOAS (Hypermedia as the Engine of Application State) 관련 내용이다. HATEOAS 대해 알지 못하면 다음글을 참조해서 이론을 이해해두고 진행하기 바란다. https://restfulapi.net/hateoas/ https://velog.io/@jayjay28/HATEOAS Goals 용어 Our Representations Enriching Representations Wiring It All Up Let’s Call Our APIs Bonus Round Recursive Enrichment of Representations Change The Links Object Conventional Registration Common Enrichers Conclusion
-
Kubernetes Log보기
Kubernetes에서 로그 보기 기본적으로 kube에서는 다음처럼 로그를 보면된다. kubectl get pod --all kubectl logs -f podxxxx 이러면 로그를 계속 볼수 있다. 그런데 너무 로그가 많으면 오래 걸린다. 특별시 시간을 줄수 있다. kubectl logs -f xxxx --since=5m 이제 5분전 로그부터 볼수 있다. replica 세팅을 하면 같은 docker가 여러개 올라간다. 이런데 리퀘스트를 던지면 어떤 pod로 들어간지 알수가 없어서 불편하다. 전체 pod의 로그를 보고 싶다. (같은 docker 이미지.) deployment를 사용하면된다. kubectl logs -f deployment/mobile-php --all-containers=true --since=5m 이러면 이제...
-
목공일기-2
목공일기-2 한달만에 다시 정리 개인적이 일이있어서 한달동안 이어서 하지 못하고 다시 시작 지인이 보내준 링크를 보고 공부 시작 https://www.youtube.com/watch?v=VKUsAyOhApU&fbclid=IwAR1ACmIgLO0WuQvevy8H-KL5f_43weYhd0Q_PDoxvUMnueJeLPuD-0Hw5Sk 나무 결이 나아가는 방향 : 길이 나무 결이 펼쳐지는 방향 : 폭 목재사이즈는 높이 x 폭 x 길이 나이테가 있는 부분이 다른 목재로 잡아줘야한다. 안그러면 깨진다. 원목은 길이 모양으로 튼튼하다. 드릴을 사용시 토크값을 잘 정해야한다. 이정도로 하고 프로젝트를 적어봐야겟다. [ ] [ ] [ ] [ ] [ ] [ ]
-
Wsl2에서 gitlab wiki 사용하기
wsl2에서 gitlab 위키 사용하기 관련 패키지 설치 apt-get install ruby ruby-dev make zlib1g-dev libicu-dev build-essential git cmake pkg-config libssl-dev gem install github-markdown gollum gitlab wiki를 클론한다. git clone ssh://git@gitlab.XXX.com/XXX/XXXXX.wiki.git cd XXXX.wiki gollum을 실행한다. gullum >[2020-05-04 11:09:00] INFO WEBrick::HTTPServer#start: pid=22642 port=4567 << 포트번호. 웹으로 접속해서 확인한다. http://localhost:4567 로컬에서 수정하자. 이제 로컬에서 vs code등으로 md파일을 수정할수 도 있고 웹을 통해 수정도 가능하다. 그러나 로컬에서 md파일 수정의 경우 웹에 바로 업데이트가 안되는경우가 있다. 그 이유는 파일을 변경후 커밋을...
-
Wsl2 Ansible
현재 ansible을 사용하기 위해 리눅스 서버에 접속하여 ansible-playbook명령어를 실행하고 있다. 그런데 wsl2를 사용하면 가능할듯 보여 시도 해보았다. ubuntu 2004 distro를 사용한다. ubuntu를 root로 접속해서 사용중이다. 관련 내용은 기존 포스트에 있다. apt-get update apt install ansible -y ansible --version > ansible 2.9.6 ubuntu 1804에서는 apt-get update apt-get -y install python-pip python-dev libffi-dev libssl-dev pip install ansible ansible --version 이제 vpn을 연결후 ping을 해보자. ansible host01 -m ping Error [WARNING]: Ansible is being run in a world...