Kubernetes Weekly News 2019 W30

smalltown
smalltownslowmedia
Published in
20 min readJul 25, 2019
圖片來源 smalltown

重點整理

由於小編六月一個偷懶,之前又先跑去寫的 K8S 1.15 的功能介紹,導致此次週報內容涵蓋的時間範圍有點寬廣,差不多從六月中到七月中一整個月的新聞跟技術文章 (等等…這不叫週刊,這應該要叫做月刊吧XD) 涉及的內容範圍也相當地廣泛…從基本的概念,好用的工具,Service Mesh, CI/CD ,資安領域以及各種應用…等都有提及,希望大家會喜歡XD

概念介紹

圖片來源 Internal and external connectivity in Kubernetes space
  • 相信還有一些朋友們對於 K8S 處於正在研究的階段,此篇文章詳盡的介紹在 K8S 內的應用服務如何跟外界進行溝通,利用很文青的手繪風從 Service 的不同種類型,例如:NodePort, ClusterIP 和 LoadBalancer 開始介紹起,接著提到在真實世界中如何使用 Ingress 去滿足各種不同的需求…詳全文 (Internal and external connectivity in Kubernetes space)
圖片來源 How to use resource requests and limits to manage resource usage of your Kubernetes cluster
圖片來源 Kubernetes Journey — Up and running out of the cloud — Master and Worker

好用工具

  • K3V 會運行一個虛擬的 K8S Control Plane,但是當使用者用它來開啟 Pod 的時候,他會使用另外一個實體的 K8S 來運行這個 Pod,換句話說 K3V 使用的運算能力,儲存空間和網路資源都是來自於另外一個真實的 K8S 叢集,此專案目前處於 POC 階段…詳全文 (k3v — Virtual Kubernetes)
圖面來源 logbook
  • Logbook 是一個即時的 K8S 日誌檢視器,其實它的功能看一眼上面的 Gif 圖檔就可以一目了然,有興趣的人可以安裝來試試看…. 詳全文 (logbook)
  • kube-rclone 是 rclone 掛載 的 K8S 解決方案,它允許使用者從網路儲存服務,例如 Google Drive 雙向地同步資料夾和檔案…詳全文 (kube-rclone)
圖片來源 Building a Kubernetes Operator In Python With Zalando’s Kopf
圖片來源 Traefik cluster as Ingress Controller for Kubernetes
  • Ingress Controller 其實就是運行在 K8S 內應用服務的入口處,Traefik 是其中一種 Ingress Controller,雖然有很多的教學文章提到要如何部署單一的 Traefik Ingress Controller,但卻比較少有詳細的文章提到如何部署一個高可用的 Traefik 叢集,所以作者把自己經驗寫成此篇文章 … 詳全文 (Traefik cluster as Ingress Controller for Kubernetes)
  • 假如需要一個密碼管理工具,而它必須具備高可用,建置在自己的架構內,為 Cloud-Native,不會耗費太多的資源,那該如何達到呢?此篇文章介紹如何利用 BanzaiCloud 推出的 HashiCorp Vault Operato 來達成此一任務…詳全文 (Deploying Vault with etcd backend in Kubernetes)
圖片來源 Bringing Prometheus Metrics and Grafana Dashboard for Cost Allocation on Kubernetes Clusters

CI/CD

圖片來源 Introducing the Jenkins GKE Plugin — deploy software to your Kubernetes clusters
  • Jenkins 是目前被廣泛使用的 CI/CD 框架之一,雖然要將 Jenkins 運行在 GKE 當中已經不是什麼問題,不過要使用 Jenkins 管理運行於 K8S 中的應用服務並且使用更強大的佈署策略,其實是不太容易做到的,因此 GKE 這邊為 Jenkins 推出了Jenkins GKE Plugin,讓 Jenkins 可以無縫的將應用服務部署至 GKE 的叢集中… 詳全文 (Introducing the Jenkins GKE Plugin — deploy software to your Kubernetes clusters)
圖片來源 Build a Deployment Pipeline with Spinnaker on Kubernetes
圖片來源 Building a CI/CD on GCP with Kubernetes
  • 作者介紹如何在 GCP 中使用 GKE, Cloud Build 服務,並且結合一些 Infrastructure as Code 的工具,例如 Terraform 跟 Packer 來將 CI/CD 的 Workflow 建置出來,文章中是以一個使用 Go 開發的網站應用來當作演示範例,一步一步帶著讀者實地操作演練… 詳全文 (Building a CI/CD on GCP with Kubernetes)
圖片來源 test-infra/prow
  • 最後為大家帶來一個比較沒聽過的 CI/CD 工具 Prow,作者說假如不是使用原生的 K8S CD,那麼你的 CI/CD 便可能走錯了方向,而他認為 Prow 是最佳展示如何讓 K8S 的 CD 達成規模化的 K8S 原生 CD 工具,除此之外,Prow 同時也在另外一個 CI/CD 框架 Tekton 中,接下來的文章內容開始介紹 Prow 的起源,以及其內部的架構跟使用方法… 詳全文 (Prow: Keeping Kubernetes CI/CD Above Water)

應用服務

圖片來源 apache/airflow
  • Airflow 是一套由 Airbnb 開源的工作管理流程系統,而其中有一個稱作 Kubernetes Executor 的功能,知道它的功能然後看到這個名字後,應該可以猜測出他可以動態的將使用者定義好的工作丟到 K8S 裡面去運行,而此篇文章便是要如何使用 Kubernetes Executor 的教學文章… 詳全文 (Apache Airflow with Kubernetes Executor and MiniKube)
圖片來源 Introducing the MongoDB Enterprise Operator for Kubernetes
圖片來源 Why We Run Managed CockroachDB on Kubernetes
圖片來源 Kubernetes object matcher library
  • Banzai Cloud 因為需要將應用運行在許多混合雲的容器管理平台上,因此常常需要撰寫 K8S Operator,而在一些比較複雜的 Operator 開發上,例如 Istio, Vault 和 Kafka,他們面臨了 K8S 資源在創建的時候去跟 K8S API 進行太多不必要的物件更新,為了這個問題,他們開源了objectmatcher 函式庫來解決問題… 詳全文 (Kubernetes object matcher library)

Service Mesh

圖片來源 Kiali 官網
  • Kiali 第一個主要版本 1.0 在這個月發佈啦~不過先談談 Kiali是什麼先,它可以將 Service Mesh 的拓樸圖給視覺化出來,並且將 Request Routing, Circuit Breakers, Request Rates 和 Latency 等方面都給呈現出來,而在此版本中做了相當多的改善…詳全文 (Kiali Sprint #24 — the first major version is out!)
圖片來源 Easy microservices with Kubernetes and Istio
  • Service Mesh 的聲量越來越大,就算沒有在用應該也常常聽到XD 此篇文章先從 Microservice 的優點講起,接著提到其可能遭遇到的痛點,然後點出 Istio 的出現對於 Microservice 的生態系的影響,到這邊大約只有兩成的篇幅,剩下的八成就是使用範例來詳細演示該如何使用 Istio…詳全文 (Easy microservices with Kubernetes and Istio)

維運相關

圖片來源 Automating Highly Available Kubernetes and external ETCD cluster setup with terraform and kubeadm on AWS
圖片來源 Kubernetes The Fun Way
  • 上面講完在雲端建立 K8S 叢集,接著換來講如何在地端做類似的事情,作者閱讀完 Kubernetes The Hard Way 後受到其激勵,因此決定也做類似的事情,不過是使用 K3S 將 K8S 叢集建立在 Pine64 Clusterboard,希望給予想要在 Bare-Metal 架設的人了解可能遇到的挑戰…詳全文 (Kubernetes The Fun Way)
圖片來源 Virtual Cluster — Extending Namespace Based Multi-tenancy with a Cluster View
圖片來源 Automated High Availability in kubeadm v1.15: Batteries Included But Swappable
圖片來源 Monitoring Your Kubernetes Ingress with Ambassador, Prometheus, and Grafana
圖片來源 Introducing Fedora CoreOS
  • 研究 K8S 久一點的人應該都對於 CoreOS 不陌生才對,在被 RedHat 買下之後,其在社群的開發力道減弱滿多的,不過在去年中宣部的 Fedora CoreOS 總算發布預覽版啦,有興趣想要踩雷的人可以… 詳全文 (Introducing Fedora CoreOS)
圖片來源 Open Distro for Elasticsearch Kickstart guide
  • AWS 推出 ElasticSearch 開源版本也已經過一段時間了,最近跟同事在研究時發現 AWS 這邊追官方的追得滿緊的,目前已經跟到 7.0.1,而這篇文章則是分享如何把它安裝在 K8S 中,而且是用更安全的方式,有興趣的人 … 詳全文 (Secure Logging for Kubernetes)
圖片來源 Kubernetes monitoring
  • Elastic 這邊之前跟 AWS 吵完之後,最近功能大爆發,發布了許多好用的功能,像這篇文章便是針對如何收集 K8S 的 Log 以及 Metric 來做介紹… 詳全文 (Kubernetes monitoring)
圖片來源 Kubernetes Ingress-Nginx Troubleshooting made Easy with kubectl plugins
圖片來源 Why So Serious : Setting up a Serious Kubernetes Terminal
圖片來源 Prometheus Metrics for Batch Jobs on Kubernetes
  • 對使用 K8S 來運行計算任務的 Machine Learning 科學家和工程師來說
    ,有一個穩定的底層架構是很重要的,而一般的監控通常都是針對一直不斷運行的服務居多,對於一次性的運算任務來說比較少見一些,所以這篇文章分享在 PathAI 內如何整合目前市面上已有的工具來監控一次性任務的訓練時間,記憶體使用情況,資料流量大小 … 詳全文 (Prometheus Metrics for Batch Jobs on Kubernetes)

Security

圖片來源 Kubernetes Pod Security Policy
圖片來源 Kubernetes Security Myths Debunked
  • K8S 各種資安謠言破除者,這篇文章滿有趣的,譬如有人說 K8S Dashborad 是 Security Risk,作者就跳出來說這是錯誤的觀念,Dashboard 本身並不會不安全,而是端看使用者的部署方式,或是 Security Account 可不可以拿來給使用者使用… 詳全文 (Kubernetes Security Myths Debunked)
  • kube-owasp-zap 這個專案是 owasp-zap 的 K8S 版本,他會部署相關的資源到 K8S 內,然後進行 Vulnerability 掃描跟分析,不過目前此專案還在滿早期的,所以仍然有很多東西需要完成… 詳全文 (kube-owasp-zap)

--

--

smalltown
smalltownslowmedia

原來只是一介草 QA,但開始研究自動化維運雲端服務後,便一頭栽進 DevOps 的世界裏,熱愛鑽研各種可以提升雲端服務品質及增進團隊開發效率的開源技術