Software Engineer - Jinsu Park

DevOps Engineer / SRE at a game publishing company

What I’m intereted in

  • Cloud-native systems(e.g. Istio, ArgoCD, Kubernetes)
  • Public cloud services (e.g. AWS, GCP)
  • On-premise infrastructure

Specialization

  • Istio - I’m managing Istio on Kubernetes clusters and can make use of its various features and configurations.
  • Argo projects like argo-cd, argo-rollouts, notifications-engine
  • Kubernetes
  • Platform Engineering

Infinite Node Scaling Problem with Pod ENI on Karpenter Versions below 1.6.0

Introduction A few days ago, I was deploying a new version of my application to my EKS cluster at work, but I ran into an unexpected issue. The new pods couldn’t be scheduled on the existing nodes, so Karpenter scaled up additional nodes. However, these new nodes were also deemed unqualified to schedule the pods, causing Karpenter to keep scaling out nodes infinitely. The problem was a discrepancy in allocatable memory amounts: one value was calculated by Karpenter itself, while the other was the actual value that kubelet set when joining the cluster. ...

November 1, 2025 · 8 min

Istio Service Entry: Improved observability about HTTPS requests to external services

Introduction During developing services, there are some cases we need to send HTTPS requests to external services. When using Istio, requests based on the hosts that are not registered in Service registry are essentially recognized as a Cluster named Passthrough, which just operates solely as a TCP proxy. That is, Envoy simply forwards those TCP packets without performing any additional functionality on them. In this case, for requests based on HTTPS which operates at the L7 layer, Istio is only able to record TCP-level metrics, resulting in limited information available for TCP metrics. ...

July 8, 2023 · 11 min

[Book] System Design Interview Vol. 1

Overview of the book ★★★★★ - Highly recommended for students who have wondered the architecture of large scaled systems or who are preparing for the first job as a software engineer. Engineers who are currently working in related fields can also review overall concepts about system architectures! Personal impressions of the book I was able to review the basic concepts of computer science. But, at the same time, it was a bit boring. ...

July 2, 2023 · 9 min

[Book] Learning HTTP/2

tl;dr ★★★★☆ - Highly recommended! But, a bit replaceable with other books or articles. This book provides valuable practical handson examples and clear explanations of the progress of HTTP protocols. It also offers a clear comparison between HTTP 2 and HTTP 1. The link about this book is Learning HTTP/2. Impressions I appreciated the book’s inclusion of the history of HTTP protocols. What I value most in technical books like this is actually the inclusion of historical context. While I can learn about the specifications and features of technologies through videos and articles in the internet, understanding the history of a technology is something I can only achieve through books. It included the progress of HTTP protocol from versions 0.9, 1.0 and 1.1 to 2.0 I found the detailed explanations about HTTP/2 headers and accompanying examples to be highly valuable. The book was super easy to read. Despite of my slower reading pace, I managed to finish it within a few days. I highly recommend this book to students who are students looking for a job or engineers who may be unaware or unconsciously using HTTP 2. I, too, didn’t know much about HTTP2 but now I’ve gained some confidence in the subject. I intend to revisit this book serveral more times later! Through this book, I was able to become somewhat familiar with HTTP 2, but honestly speaking, I still don’t fully understand it. Summaries The history of HTTP protocols The birth of HTTP 0.9 A simple protocol with limited features Only supports the GET method No headers are included. Desipite its poor features, HTTP 0.9 was widely used. The birth of HTTP 1.0 Developed a few years after HTTP 0.9. Introduced significant enhancements compared to HTTP0.9, including headers, response codes, redirects, errors, conditional requests, contents encoding and compressions and various methods Cannot keep connections. The Host headers is optional, not required. Limited caching capabilities. The birth of HTTP 1.1 Dominated web communications for over 20 years. Allows to keep connections using the Connection directive. Introduction of the Host header enables virtual hosting, serving multiple web services with a single IP address. The Upgrade header allows negotiation for higher-level protocols. Improved caching features The birth of HTTP 2.0 Multiplexing - Enables the use of a single TCP connection for multiple requests to the same destination with the same domain name and certificate. Framing - The unit of data transmitted. Data transmission occurs in framed units. Header compression - Optimizes transmitting similar headers by compressing them using HPACK. Transition from HTTP 1 to HTTP 2 When transitioning our services from HTTP 1 to HTTP 2, we need to consider certain cases where performance optimization tips for HTTP 1 may deteriorate the performances in HTTP 2. ...

June 11, 2023 · 3 min

When your istio proxy containers terminate before your application containers gracefully shutdown, try configuring EXIT_ON_ZERO_ACTIVE_CONNECTIONS

Introduction Connections can be reset abnormarly with terminating pods when you manage istio as a service mesh solution on kubernetes. There are a number of cases terminating pods: manually executing kubectl delete commands, rolling updates and scaling in them. So, why are connections reset? There can be many other reasons but I think it is the most probable terminating of istio-proxy sidecars earlier than terminating of application containers. Prior to istio v1.12, some people used to add a preStop configuration in order to clarify for istio-proxy containers to terminates after all the active connections completes well. ...

February 4, 2023 · 6 min