Home
系列文 icon
2020 iThome 鐵人賽佳作文章 2019 iThome 鐵人賽優勝文章
About
  • Gcp Preemptible Instance Kubernetes

    Sep 26, 2020 kubernetes gcp preemptible spot-instance

    先占虛擬機與 Kubernetes 在 GCP 使用先占虛擬機,會需要面對先占虛擬機的額外限制 資料中心會 (可預期或不可預期地) 終止先占虛擬機 先占虛擬機不能自動重啟,而是會被資料中心終止後回收 GCP 不保證有足夠的先占虛擬機 節點的終止會造成額外的維運成本,例如 管理多個節點,容忍先占虛擬機的移除,自動補充新的先占虛擬機 管理多個應用複本,節點終止時,維護整體應用的可用性 將移除節點上的應用,重新排程到其他可用節點 動態維護應用複本的服務發現 (Service Discovery) 與服務端點 (Endpoints) 意思是應用關閉重啟後,換了一個新 IP,還要能持續存取應用。舊的 IP 要主動失效 配合應用的健康檢 …

    Read More
  • Gcp Preemptible Instance Introduction

    Sep 26, 2020 kubernetes gcp preemptible spot-instance

    先占虛擬機,技術文件二三事 第一篇的內容大部份還是翻譯跟講解官方文件。後面幾篇才會有實際的需求與解決方案分析。 Google 先占虛擬機官方文件 使用不熟悉的產品前一定要好好看文件,才不會踩到雷的時候,發現人家就是這樣設計的,而且文件上寫得清清楚楚。以為是 bug 結果真的是 feature,雷到自己。先占虛擬機是用起來跟普通虛擬機沒什麼兩樣,但實際上超級多細節要注意,毛很多的產品,請務必要小心使用。 以下文章是筆者工作經驗,覺得好用、確實有幫助公司,來跟大家分享。礙於篇幅,這裡只能非常粗略地描述我們團隊思考過的問題,實際上的問題會複雜非常多。文章只是作個發想,並不足以支撐實際的業務,所以如果要考慮導入,還是要 多作功課,仔細查閱 …

    Read More
  • Gcp Preemptible Instance Resource Calculation

    Sep 25, 2020 kubernetes gcp preemptible spot-instance

    關於資源評估 架構團隊提供虛擬機給應用,有個問題時常出現:應該分配多少資源給應用?例如:後端準備一個 API server,SRE 這邊要準備多少什麼規格的機器? 以往使用虛擬機直接部署應用時,會需要明確規劃各群虛擬機,各自需要執行的應用,如果沒有做資源的事前評估,有可能放上機器運行後就發生資源不足。 導入 Kubernetes 後,透過節點池 (Node Pool) 形成一個大型資源池,設定部署的政策後,讓 Kubernetes 自動調度應用: 每一個節點的資源夠大,使得應用虛擬機器上所佔的比例相對較小,也就是單一應用的調度不會影響節點的整體負載 如果節點太小,調度應用就會有些侷促,例如:一個 API server …

    Read More
  • Gcp Preemptible Instance Requirement

    Sep 24, 2020 kubernetes gcp preemptible spot-instance

    需求規劃 使用先占節點比起使用一般隨選虛擬機,會多出許多技術困難需要克服,只有節省下的成本大於整體技術成本時,我們才會選用先占節點。因此這邊要進行成本精算,重新調整的架構下,實際到底能省多少錢。務必使用 Google Cloud Pricing Calculator 精算成本。 另外,雖然先占虛擬機會有很多額外的限制與技術困難,但實務上還是要對比實際的需求,有些限制與需求是衝突的,有些限制則完全不會影響我們的需求。前者當然會帶給我們較高的導入難度,後者可能會非常輕鬆。 這邊想給大家的概念是,務必先明確需求,再討論技術。這點很重要,技術的適用與否,不是由個人的喜好決定,唯一的判斷標準,是能不能有效率的滿足需求。 所以這邊先定義我們以下 …

    Read More
  • Gcp Preemptible Instance Speficication

    Sep 23, 2020 kubernetes gcp preemptible spot-instance

    先占虛擬機終止流程 (Preemption process) 子曰:未知生焉知死。但做工程師要反過來,考量最差情形,也就是要知道應用可能如何死去。不知道應用可能怎麼死,別說你知道應用活得好好的,大概想表達這麼意思。 這對先占虛擬機來說特別重要,一般應用面對的機器故障或是機器終止,在使用先占西你幾的狀況下,變成每日的必然,因此,需要對應用的終止情境,與終止流程有更精細的掌控。如同前幾篇所說的,先占虛擬機會被公有雲收回,但收回的時候不會突然機器就 ben 不見,會有一個固定的流程。 如果你的應用已經帶有可容錯的機制,能夠承受機器突然變不見,服務還好好的,仍然要花時間理解這邊的流程,藉此精算每天虛擬機的終止與替換:應用會有什麼反應,會產生 …

    Read More
  • Gcp Preemptible Instance Requirement Distributed

    Sep 22, 2020 kubernetes gcp preemptible spot-instance

    我們以下幾個需求: 執行短期的 batch job 執行長期的 user-facing API server 執行長期的 stateful 資料庫、儲存庫 該不該在 Kubernetes 上面跑 database? TL;DR ,如果你剛開始考慮這件事,通常的答案都是否定的 等等,我們這邊不是討論該不該上 Kuberentes ,而是該不該使用先占虛擬機吧。然而由於先占虛擬機節點的諸多限制,光憑先占虛擬機並不適合跑任何持久性的儲存庫。我們這邊仰賴 Kubernetes 的網路功能 (e.g. 服務發現),與自動管理 (e.g. health check,HPA,auto-scaler),基於先占虛擬機,建構高可用性的服務架構,來 …

    Read More
  • Gcp Preemptible Instance

    Sep 21, 2020 kubernetes gcp preemptible spot-instance

    前言 鐵人賽的第二部分,要帶來公有雲省錢系列文章。 架構的成本,很多時候會影響架構的設計與需求。公司的營運都需要在成本與需求之前平衡,成本其實是影響公司決策的重要因素。身為架構管理員,應該要試著量化並且進行成本管理,提出解決方案時,也需要思考如何幫公司開源節流。 一昧消減架構的成本也未必是最佳方案,帳面上消減的成本有時也會反映在其他地方,例如:使用比較便宜的解決方案,或是較低的算力,但卻造成維運需要花更多時間維護,造成隱性的人力成本消耗。用什麼替代方案 (trade-off) 省了這些錢。 Kubernetes 是一個很好的例子:例如:有人說「Kubernetes 可以省錢」,但也有人說「Kubernetes …

    Read More
  • Kubernetes Custom Resource Deployment

    Oct 13, 2019 kubernetes crd gcp

    2020 It邦幫忙鐵人賽 系列文章 這邊改了一些大綱,原本的內容還有一些 kubernetes 的設定,以及 GCP 相關服務的介紹。但既然我們的主題是把東西搬上 k8s 的踩雷旅程,那我們就繼續搬,繼續踩。剩下的時間大概會有四個題目。 Nginx Ingress (3) Deploy Nginx Ingress Controller Configure Nginx Ingress Cert-manager (3) Deploy cert-manager How cert-manager work Cert-manager complete workflow Kubernetes CRD & …

    Read More
  • Kubernetes Custom Resources Basic

    Oct 13, 2019 kubernetes crd gcp

    2020 It邦幫忙鐵人賽 系列文章 這邊改了一些大綱,原本的內容還有一些 kubernetes 的設定,以及 GCP 相關服務的介紹。但既然我們的主題是把東西搬上 k8s 的踩雷旅程,那我們就繼續搬,繼續踩。剩下的時間大概會有四個題目。 Nginx Ingress (3) Deploy Nginx Ingress Controller Configure Nginx Ingress Cert-manager (3) Deploy cert-manager How cert-manager work Cert-manager complete workflow Kubernetes CRD & …

    Read More
  • Self-host ELK stack - Installation

    Sep 15, 2019 gcp tls elasticsearch devops logstash

    2020 It邦幫忙鐵人賽 系列文章 Self-host ELK stack on GCP Secure ELK Stask 監測 Google Compute Engine 上服務的各項數據 監測 Google Kubernetes Engine 的各項數據 是否選擇 ELK 作為解決方案 使用 logstash pipeline 做數據前處理 Elasticsearch 日常維護:數據清理,效能調校,永久儲存 Debug ELK stack on GCP 作為範例的 ELK 的版本是當前的 stable release 7.3.1。 由於我比較熟悉 GCP / GKE 的服務,這篇的操作過程都會以 GCP 平台作為範例,不過 …

    Read More

Che-Chia Chang

DevOps, SRE, Kubernetes admin.
Read More

Featured Posts

  • Gcp Preemptible Instance Kubernetes
  • Gcp Preemptible Instance Introduction
  • Gcp Preemptible Instance Requirement
  • Gcp Preemptible Instance Requirement Distributed
  • Gcp Preemptible Instance
  • Borg Omega and Kubernetes Translation 全文翻譯
  • Self-host ELK stack - Installation
  • 2019 IT邦幫忙鐵人賽
  • 2020 IT邦幫忙鐵人賽

Recent Posts

  • Terraform Infrastructure as Code: Atlantis
  • Terraform Infrastructure as Code: Terragrunt
  • Terraform Infrastructure as Code: Recommended Practices
  • Terraform Infrastructure as Code: Backends
  • Terraform Infrastructure as Code: CI/CD automation
  • Terraform Infrastructure as Code: Example repository
  • Gcp Preemptible Instance Kubernetes
  • Gcp Preemptible Instance Introduction

categories

KUBERNETES 44 TERRAFORM 8 KAFKA 7 PROMETHEUS 5 REDIS 5 ELASTICSEARCH 4 CERT-MANAGER 3 BLOCKCHAIN 2 CRD 2 LOGSTASH 2 MURMUR 2 NGINX 2 CERTIFICATE 1 DEVOPS 1
All categories
BLOCKCHAIN2 CERT-MANAGER3 CERTIFICATE1 CRD2 DEVOPS1 DISTRIBUTED-SYSTEM1 ELASTICSEARCH4 GOLANG1 ISTIO1 JENKINS1 KAFKA7 KUBERNETES44 LOGSTASH2 MURMUR2 NGINX2 PROMETHEUS5 REDIS5 TERRAFORM8
[A~Z][0~9]

tags

KUBERNETES 48 ITHOME 20 GCP 10 DEVOPS 9 KAFKA 9 TERRAFORM 8 PREEMPTIBLE 7 SPOT-INSTANCE 7 REDIS 6 ELASTICSEARCH 5 LOGSTASH 5 PROMETHEUS 5 CERT-MANAGER 4 CRD 3
All tags
ATOMIC-SWAP1 BEP31 BINANCE1 BLOCKCHAIN2 BORG2 CD1 CERT-MANAGER4 CERTIFICATE1 CI1 CONTAINER1 CRD3 CRI1 DEVOPS9 DISTRIBUTED-SYSTEM1 DOCKER1 ELASTICSEARCH5 ELK1 ERC-201 ETHEREUM1 FILEBEAT1 FLUENTD1 GCP10 GOLANG1 GOOGLE2 HAPROXY3 IBM-Q-EXPERIENCE1 INDEX1 INGRESS2 ISTIO1 ITHOME20 JENKINS1 KAFKA9 KUBERNETES48 LECTURE1 LOGSTASH5 MIT1 NGINX3 PREEMPTIBLE7 PROMETHEUS5 QUANTUM-COMPUTING1 REDIS6 SPOT-INSTANCE7 TERRAFORM8 TLS3 TUTORIAL1
[A~Z][0~9]

Copyright ©  CHE-CHIA CHANG. All Rights Reserved