跳至主要内容

20 篇文章 含有標籤「程式」

檢視所有標籤

Kubernetes 上的 ExternalTrafficPolicy

· 閱讀時間約 12 分鐘
Ivan Tsai
Backend engineer

前言

最近公司改用 Nginx ingress controller 配合一個 L4 Load Balancer 來處理進站流量,取代過去使用 Application Gateway,在部屬時發現官方預設在 Service 上設定 ExternalTrafficPolicy = Local (Ingress-nginx Azure deploy.yaml),AKS 文件上也提到如果想保留客戶端來源 IP 的話,必須要這樣設定。

經果一番探索後,發現和 Kube-proxy 如何處理進進站流量有關,也算是解答了我對 Service 實作的問題,這篇文章來記錄一下研究成果 🎉

Kubernetes cluster autoscaler 介紹

· 閱讀時間約 13 分鐘
Ivan Tsai
Backend engineer

甚麼是 Cluster Autoscaler (CA)

Cluster Autoscaler (以下簡稱 CA) 是 Kubernetes 官方出的一個工具,讓你的 Cluster 依照需求伸縮,簡單來說就是幫你開/關雲端上的機器。通常會配合上 Horizontal Pod Autoscaler (以下簡稱 HPA) 一起使用,當 Pod 記憶體/CPU 或其他指標達到一定標準後,擴展 Pod,當沒有足夠的機器 (Node) 來執行 Pod 時,CA 就會幫你擴展機器。相反的需求下降時,HPA 降低 Pod 數量,CA 也會關閉不需要的機器,如此一來就可以節省成本又可以達到同樣的運算能力。

VS Code 起始中斷點問題

· 閱讀時間約 2 分鐘
Ivan Tsai
Backend engineer

問題

使用 Typescript 配合 VS Code 的 debugger 開發很方便,配合上 ts-node 的 register 就可以在 typescript 順暢的使用中斷點功能了。

不過最近在開發的時候好幾的專案都有同樣的問題,就是每次執行的時候總會在第一行自動停止,必須手動按下繼續,像下圖這樣;

Typescript Overview

· 閱讀時間約 15 分鐘
Ivan Tsai
Backend engineer

我第一個使用的前端框架是 Angular,自然也接觸了 Typescript,當時並不太能體會它的好處,只覺得增加了些學習門檻罷了。後來發現習慣以後,再也沒有辦法回到原本的 JS 了 ...,就算換了框架、使用 Node,都還是以 TS 為主,這篇文章來簡單介紹 TS 基本用法,回顧看看他到底為甚麼這麼令人著迷。

JavaScript Hoisting

· 閱讀時間約 2 分鐘
Ivan Tsai
Backend engineer

在 JavaScript 中,會把變數定義的部分移到最前面執行,在 W3C 中提到:

Hoisting is JavaScript's default behavior of moving declarations to the top.

這個行為稱為 Hoisting (提升)