Using Helm

created: 2023-01-24 | updated: 2023-01-24

This page based on Using Helm for personal notes. If you want to learn more, please visit the official website.


Theree Big Concepts

A Chart is a Helm package. It contains all of the resource definitions necessary to run an application, tool, or service inside of a Kubernetes cluster. Think of it like the Kubernetes equivalent of a Homebrew formula, an Apt dpkg, or a Yum RPM file.

A Repository is the place where charts can be collected and shared. It’s like Perl’s CPAN archive or the Fedora Package Database, but for Kubernetes packages.

Helm: The package manager for Kubernetes

created: 2023-01-23 | updated: 2023-01-24

What is Helm?

Helm helps you manage Kubernetes applications — Helm Charts help you define, install, and upgrade even the most complex Kubernetes application.

Charts are easy to create, version, share, and publish — so start using Helm and stop the copy-and-paste.

The Purpose of Helm

Helm is a tool for managing Kubernetes packages called charts. Helm can do the following:

  • Create new charts from scratch
  • Package charts into chart archive (tgz) files
  • Interact with chart repositories where charts are stored
  • Install and uninstall charts into an existing Kubernetes cluster
  • Manage the release cycle of charts that have been installed with Helm

For Helm, there are three important concepts:

Feedback

created: 2022-12-17 | updated: 2022-12-17

If you provide feedback, it is important to also include suggestions for improvement

C++ to Go

created: 2022-12-04 | updated: 2022-12-10

C++ to Go

Introducing Ziegel

박재완


Luft

  • Ziegel and TrailDB

Luft

  • OLAP database for analize the analyzing user behavior in real-time
  • Use TrailDB as a storage
  • Written in C/C++ and Go

TrailDB

  • TrailDB is an efficient tool for storing and querying series of events
  • Written in C

Ziegel

  • New storage engine for the Luft
  • Written in Go

Why?

  • TrailDB has been a suitable solution for the Luft
  • But development was halted in 2019
  • Issues with peformance and productivity

Issues

  1. Inefficient multi-core utilization
// finalize. this could take a while with idle CPU usage but don't panic.
// it's not freeze;
// it's because TrailDB indexing process is not parallelized yet :(
  1. Row store data structure
  2. Use multiple language: C/C++ and Go

Journey for the migration

  1. Add more tests for consistency verification
  2. Add interface for engine replacement
    • With this interface, we can easily replace the engine(partial or full)
  3. Implement storage engine
  4. Peformance tuning
    • 2x fater for the ingestion, 1.2 slower for the query

Peformance tuning


Measuring performance

Go provides great tools for measuring performance.

Newsfeed 2022

created: 2022-06-03 | updated: 2022-11-29

December 2022

Guido van Rossum: Python and the Future of Programming | Lex Fridman Podcast #341

Are programmers jobs threatend by the existence of stack overflow? I don’t think so.

Agreed.

If it is truly important to you, you’ll find a way; if it is not, you’ll find an excuse. - anonymous

2022년 10월

중대한 결정을 지혜롭계 하는 법

일단 마음 내키는대로 결정하고, 그 뒤에 벌어질 일들을 담대하게 마주하라

어떻게 코호트 분석을 하나요?

created: 2022-10-03 | updated: 2022-10-03

코호트 분석

원하는 유저군(코호트)을 잡아서 해당 유저들의 행동을 분석하는 기법

예: “지난 6개월간 우리 앱에서 한달에 10만원 이상 소비한 30대 여성"이란 유저군을 잡은 후, 해당 유저군의 리텐션 (재방문률)을 분석

분석방법

  1. Amplitude, Google Analytics 등의 외부 솔루션 사용
    • 장점: 개발 비용이 없음
    • 단점:
      • 솔루션 비용 발생
      • 솔루션에 의존하게 됨
  2. RDB(OLTP) 사용
    • 장점: 익숙함
    • 단점: 일정 규모를 넘어가면 성능문제로 문제해결 불가능함
  3. 데이터 파이프라인을 구축(Snowflake, Apache Kafka 등 활용)
    • 장점: 익숙함
    • 단점: 생각보다 많은 비용
  4. 코호트 분석용 OALP 데이터베이스를 직접 개발: https://engineering.ab180.co/stories/introducing-luft
    • 장점: 고성능의 입맛대로 동작하는 데이터베이스를 가질 수도 있음
    • 단점: 직접 개발해야 함

Go module에서 GitHub private 저장소 사용

created: 2020-03-29 | updated: 2022-09-18
#go

Go module에서 GitHub private 저장소를 사용하는 방법입니다.


git 설정에서 GitHub 접근을 계정과 토큰을 사용하게 변경

git config --global url."https://${GITHUB_USER}:${{GITHUB_TOKEN}}@github.com".insteadOf "https://github.com"

GOPRIVATE 환경변수에 private 저장소 등록

GOPRIVATE="github.com/hueypark/asset"