분류 전체보기 70

아카라이브 새글 알리미

아카라이브 특정 채널에 새로운 글이 올라오면 윈도우10 팝업 메시지로 알려주는 프로그램입니다. 새 글 알림을 받고 싶은 채널의 메인 페이지 주소를 적은 뒤, 시작 버튼을 누르면 됩니다.반드시 사용 전 설정사항과 주의사항을 읽으신 뒤에 사용해주세요!아래 링크에서 받으실 수 있습니다. https://drive.google.com/file/d/12KvWQxH9sYQ7Wpg6v8TmSr67ZNVq9MkQ/view?usp=sharing(비밀번호 : 11037)​사용법1. 알림을 받고 싶은 채널의 메인 페이지 주소를 '채널 주소'칸에 적습니다.2. 시작 버튼을 누르면 크롬 로그인 창이 뜹니다.3. 아이디와 비밀번호를 입력하고, 캡챠를 통과하여 로그인해주세요.(정보는 아카라이브 로그인에만 사용됩니다.)4. 로그인이 ..

일상/취미 2021.08.18

Kubernetes Audit (감사로그)

k8s에는 audit이라는 기능이 있다. 한국어로는 감사로그라고 한다. 오늘은 이 audit에 대해 써본다. 공식 문서는 아래 링크에서 확인할 수 있다. https://kubernetes.io/docs/tasks/debug-application-cluster/audit/ 1. Audit이란? k8s에서는 어떤 작업을 하든 반드시 kube-apiserver를 거쳐야한다. 그리고 이 kube-apiserver에 요청을 보낼 때는 HTTP API를 통해 이루어진다. audit이란 kube-apiserver를 오가는 API를 로깅하는 것이다. 기본적으로 auidt 로그는 event라는 객체의 구조로 아래와 같은 정보들을 담을 수 있다. 콜을 날린 클라이언트가 누구인지 언제 날렸는지 어떤 리소스에 대한 것인지 H..

공부/Kubernetes 2021.08.09

nginx-ingress의 SSL/TLS/HTTPS 설정

이번 포스팅은 자세한 설명은 하지 않고 Ingress 컨트롤러가 띄워져있다는 가정하에, Ingress 설정을 어떻게 하는지만 올려본다. apiVersion: extensions/v1beta1 kind: Ingress metadata: name: togomi-api-server-ingress annotations: nginx.ingress.kubernetes.io/rewrite-target: "/destinationAPI" # 어느 API PATH로 보낼지 nginx.ingress.kubernetes.io/ssl-redirect: "true" kubernetes.io/ingress.class: "nginx" nginx.ingress.kubernetes.io/secure-backends: "true" ngi..

공부/Kubernetes 2021.07.12

Fluentd Index Template 생성 및 ILM 자동 적용

ILM 자체는 인덱스 생명 주기를 자동으로 관리해주지만, ILM 적용을 매번 수동으로 한다면 아이러니한 일 아닌가? 그래서 인덱스가 생성될 때, 자동으로 ILM policy를 적용시키는 방법이 필요했다. 그러기 위해 있는 것이 index template 이란 것이다. index template은 새로운 index가 생성될 때, 그 index에 대한 설정 값들을 미리 만들어두는 것이다. 자세한 설명과 예시는 아래 링크에서 다른 분이 정리한 것을 참고바란다. https://oboki.net/workspace/data-engineering/elasticsearch/elasticsearch-index-template/ [ElasticSearch] Index Template – oboki oboki.net 내 목..

공부/EFK 2021.06.25

Mount multiple files with one configmap

k8s에서 하나의 configmap을 이용하여 여러 개의 파일을 마운트하는 법을 알아보자. 아래와 같이 하나의 configmap에서 여러 개의 파일을 만들 수 있다. 이해를 위해 파일이라고 했지만, 사실은 key-value로 저장된다고 하는 것이 정확하다. kind: ConfigMap apiVersion: v1 metadata: name: example-config data: fileOne.conf: |- blahblahblah blahblahblah fileTwo.conf: |- { "sample": { "config" : "example" } } 이렇게 fileOne.conf 라는 key 하나와 fileTwo.conf 라는 key 하나, 총 두개의 key를 만들었다. 이제 이 key값을 파일이름으로하..

공부/Kubernetes 2021.06.24

CS 지식 정리 잘된 곳 백업

CS전체 정리 1. https://github.com/JaeYeopHan/Interview_Question_for_Beginner 2. https://gyoogle.dev/blog/ 퀵소트 https://hongku.tistory.com/149 TCP https://rok93.tistory.com/entry/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-TCP-%ED%9D%90%EB%A6%84%EC%A0%9C%EC%96%B4%ED%98%BC%EC%9E%A1%EC%A0%9C%EC%96%B4 TCP 혼잡제어 https://velog.io/@mu1616/TCPIP-%ED%98%BC%EC%9E%A1-%EC%A0%9C%EC%96%B4 캐시 원리 아주 구체적으로 https://parksb.git..

일상/취미 2021.06.09

operator-sdk로 k8s 기본 리소스 컨트롤러 추가하기

operator-sdk는 CRD뿐만 아니라 k8s의 기본 리소스 또한 다룰 수 있다. CRD의 컨트롤러나 웹훅을 만들때와 마찬가지로 group,version,kind만 잘 지정해주면 된다. 아래 예시는 k8s의 기본 리소스 중 하나인 RoleBinding의 컨트롤러를 생성하는 과정이다. 1. API 그룹 확인하기 $ kubectl api-resources | grep rolebinding 왼쪽에 리소스 이름, 중간에는 API 그룹이 나온다. rolebinding의 그룹은 rbac.authorization.k8s.io임을 확인 할 수있다. 2. API 버전 확인하기 $ kubectl api-versions | grep rbac.authorization.k8s.io 1번에서 확인했던 그룹이름으로 grep을 ..

공부/Kubernetes 2021.06.08

calico 완전 삭제 후 재설치

쿠버네티스 구축을하면서 짜증나는 부분 중 하나가 네트워크인데, 이 네트워크 부분이 꼬이면 정말 힘들어진다. yaml파일을 이용해 설치/삭제 할때 단순히 kubectl apply -f 파일이름 kubectl delete -f 파일이름 을 이용하곤 하는데, calico같이 실제 노드에 파일을 생성하거나 iptable을 수정하는 모듈은 kubectl delete -f 만으로는 부족하다. 관련된 파일과 iptables 룰 및 tunl0 인터페이스 등을 삭제해줘야한다. 1. 관련된 파일 삭제 calico가 어떤 파일들을 참조하는지 먼저 확인하자. 설치 yaml을 확인해도 상관없다. 난 오류가 발생한 상태의 pod를 describe했다. $ kubectl describe pod {칼리코 POD} -n kube-sy..

공부/Kubernetes 2021.05.22

leetcode 5. Longest Palindromic Substring c++

문제 Given a string s, return the longest palindromic substring in s. 예시 Input = "babad" / output = "bab" Input = "aca" / output = "a" Input = "cbbd" / output = "bb" string과 DP가 복합적으로 들어간 펠린드롬 문제이다. 풀면서 자꾸 막혔던 부분은, 모든 범위의 펠린드롬을다 확인해야했다는 것이다. 백준에서 풀었던 펠린드롬은 범위가 주어졌었지만, 이번엔 안주어졌기 때문이다. 그래서 이중 for문으로 모두 확인하도록 했다. 왼쪽=i , 오른쪽은=j 라고 할때, 왼쪽 끝은 고정하고 오른쪽 맨끝부터 하나씩 줄여가면서 확인하는 방식이다. 그리고 왼쪽 끝과 오른쪽 끝이 만나면, 왼쪽을 ..

공부/알고리즘 2021.04.19

Opendistro와 OIDC(Keycloak) 연동 on Kubernetes

EFK에 OIDC(Keycloak)를 연동하는 일을 맡았다. 구글에 분명히 정보는 많은데, 전부 제각각에다가 안 되는 경우가 대부분이었다. 그래도 어찌저찌 약 2주간의 삽질 끝에 성공시켜서 그 정보를 공유하고자 한다. 0. 주의사항 들어가기에 앞서, 기본 ElasticSearch와 Kibana는 OIDC를 사용할 수 없다. 정확히 말하면 사용할 수는 있지만 무료 라이센스는 사용할 수 없고, 최소 플래티넘 라이센스는 가지고 있어야 사용 가능하다. dockerhub에서 제공하는 공식 image는 trial과 basic 라이센스만 지원하기 때문에 안된다. 아래 링크에 들어가서 OpenID Connect를 검색해보면 알 수 있다. www.elastic.co/kr/subscriptions 그러므로 opendist..

공부/EFK 2021.04.16