原文連接:雲原生週報第 2 期 | 2019-07-01~2019-07-05html
這是雲原生週報第 2 期,主要分享雲原生社區最新開源項目,優秀博客、電子書和視頻。nginx
Kube Forwarder : Kubernetes 端口轉發的 GUI 客戶端,支持多集羣,斷開後可自動重連(kubectl
可作不到這一點哦),可對多個 Service 同時進行端口轉發。git
Kube eagle : 這是一個 Prometheus Exporter,用來更精確地抓取 Kubernetes 集羣中 Pod 資源的 requests
、limits
和實際使用量。github
Kube-hunter : Kubernetes 集羣滲透測試工具,從事安全工做的相關人員能夠關注一下。golang
ko : 用來在 Kubernetes 中構建並部署 golang
應用的工具。它的使用方法很是簡單,若是你想構建一個 golang 應用,並把它部署到 Kubernetes 集羣中,只須要編寫一個以下的 YAML 文件:後端
# helloworld.yaml apiVersion: apps/v1beta1 kind: Deployment metadata: name: hello-world spec: selector: matchLabels: foo: bar replicas: 1 template: metadata: labels: foo: bar spec: containers: - name: hello-world # 將 image 的值換成 golang 的項目路徑 # 好比若是你的項目路徑爲 ~/gopath/src/github.com/mattmoor/examples # 那麼 image 的值爲 github.com/mattmoor/examples image: github.com/mattmoor/examples/http/cmd/helloworld ports: - containerPort: 8080
而後使用命令 ko apply -f helloworld.yaml
便可自動編譯成二進制文件、構建鏡像而後部署到集羣中,一步到位!設計模式
Cluster version of VictoriaMetrics : VictoriaMetrics 是 Prometheus 支持的遠程存儲,而集羣版 VictoriaMetrics 用來實現大規模 Prometheus 集羣的高可用,並提供了全局視圖和可靠的歷史數據存儲,與 Thanos 的功能相似,但比 Thanos 的架構更簡單,值得一試!api
Service Mesh Hub : solo.io 開源的 Service Mesh
倉庫,提供了一個 Dashboard 用來發現和部署不一樣類型的 Service Mesh,也能夠管理每一個 Service Mesh 的擴展。緩存
這是倉庫裏包含的全部擴展:安全
Kubernetes Standardized Glossary : 這是 Kubernetes 官方文檔新出的標準術語表,對每種資源類型和組件都有標準化的解釋。
netramesh : 這是一個輕量級的 Service Mesh 框架。你沒有聽錯,這是一個全新的 Service Mesh 框架。據官方文檔所述,它比 Istio
和 Linkerd2
的資源消耗更少,性能更高,每一個 Sidecar 大約消耗 10-50Mb 的內存和 1ms 的延遲開銷。這是它的架構圖:
KubeOne : Golang 編寫的 Kubernetes 高可用集羣部署工具,底層使用的是 kubeadm
。
ingress-nginx kubectl plugin : NGINX Ingress Controller 的 kubectl
插件,可用來方便快速地調試 ingress。經過該插件,你能夠直接查看某個 ingress 資源後端有哪些 endpoint,直接導出某個域名的證書和祕鑰,也能夠導出 Nginx 的配置文件,很是實用。
Singer : Printerest 開源的高性能可擴展日誌收集 agent,可對接 Kafaka。
Multi-Container Pods in Kubernetes : 在 Kubernetes 中,Pod 是最小的調度單元,Pod 中能夠只運行一個容器,也能夠運行多個容器。本文主要討論了在什麼場景下須要在一個 Pod 中運行多個容器,主要包括三種需求:共享存儲、進程間通訊、共享網絡。
雲原生架構的五大原則 : 這是一篇 Google Cloud 的官方博客,描述了雲原生架構應該遵循的五個準則。
使用 nftables 實現 API Server 的高可用 : 這篇文章比較有意思,詳細描述瞭如何用 nftables
來實現 API Server 的高可用,後面還提到了如何用 nftables 來實現 kube-proxy
的四層負載均衡功能。
podpreset批量添加時區配置 : 使用 Docker 鏡像來部署應用時,你們都會遇到一個讓人頭疼的問題,那就是時區不一致。爲了解決這個問題,也涌現出了各類各樣的方法,例如改 Dockerfile,將宿主機的 /etc/localtime 掛載到容器中等。本文給出了一種一勞永逸的巧妙方法,你們能夠嘗試一下。
容器環境中的應用彈性能力 : 本文介紹瞭如何在容器環境中提升應用的彈性能力和可用性。
彈性能力設計模式:重試,回退,超時,斷路器 : 本文主要討論了鬆耦合、隔離和延遲控制是如何對系統的彈性能力產生積極的影響。其中重試模式能夠經過屢次嘗試來恢復通訊,回退模式能夠在本地解決通訊故障,斷路器能夠抵擋因爲重試而致使的 DoS 攻擊以及當持續出現通訊錯誤時能夠快速回退。
明智的微服務之路 : 過去幾年中,愈來愈多的創業公司轉向了微服務架構,DevOps 相關招聘需求暴增,容器文化盛行。這篇文章試圖解釋這一切背後的緣由,先列出了微服務架構的痛點,增長了系統的各類複雜度,最後告訴咱們即便微服務架構增長了各類複雜度,你仍然能夠轉向微服務架構的緣由。
macvtap實踐教程 : macvtap
是網絡虛擬化經常使用的一種技術,基於傳統的 MACVLAN。它能夠用來簡化虛擬化環境中的交換網絡,代替傳統的 Linux TAP 設備加 Bridge 設備組合。kata
的虛擬化網絡就用了這個技術,經過本文的實踐能夠幫助你理解 kata 的網絡原理。
解決 CoreDNS 緩存不一致而致使的域名解析問題 : 若是你在 CoreDNS 中啓用了 cache
和 autopath
插件,而且 CoreDNS 版本低於 1.5.1,就會遇到緩存不一致的問題。本文做者是該 bug 的修復者,他會帶領咱們一步一步進行調查,最後找到問題所在。
Envoy SDS:加強 Istio 的安全性 : Istio 1.1 以前,Istio 爲工做負載提供的密鑰和證書是由 Citadel 生成並使用加載 Secret 卷的方式分發給 Sidecar 的,這種方式有不少缺陷,好比證書輪換形成的性能損失和安全漏洞。在 Istio 1.1 中,可使用 SDS 來解決這些問題,它的主要工做原理以下:
本視頻主要演示了 SDS 是如何高效地進行證書輪換,以及 Citadel 是如何獨立於其餘 Istio 組件工做的。
使用 Envoy,Cilium 和 BPF 進行透明混沌測試 : 混沌測試主要用來在分佈式系統上作對照實驗,引入混沌:服務器崩潰、硬盤異常、網絡鏈接中斷等,從而幫助創建對系統承受不可避免的故障的能力的信心。目前大部分的混沌測試都是手動完成的,本視頻演示瞭如何將 Envoy 和 Cilium、BPF 結合使用,以徹底透明的方式將服務不可用性、延遲和隨機限速等混亂引入 Kubernetes 集羣。