成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

怎樣為 k8s 找到最合適的 PaaS 解決方案?

新聞 前端 PaaS
最近幾年,Kubernetes 成為許多人關注的焦點。事實上,有些公司發現 Kubernetes 能發揮巨大作用,但有些公司還未發現其價值,并在這個過程中將自己搞得“遍體鱗傷”。

 [[325295]]

最近幾年,Kubernetes 成為許多人關注的焦點。事實上,有些公司發現 Kubernetes 能發揮巨大作用,但有些公司還未發現其價值,并在這個過程中將自己搞得“遍體鱗傷”。對我來說,我正處于中間位置。我打算做類似事情,并且做好了踩坑準備。在此之前,先讓我們看看如何在 k8s 上部署一個簡單的、類似于 PaaS 的平臺。

1. 找到一個完美的類 PaaS 平臺

那么,我們從哪里開始?肯定有一種簡單方法能找到這樣的東西,也許,我們從簡單的 DuckDuckGo 搜索開始。

怎样为 k8s 找到最合适的 PaaS 解决方案?

DuckDuckGo 搜索沒啥用

顯然,k8s 不是 PaaS。我想基于 k8s 構建一個 PaaS,當然不是把它當作一個 PaaS 來使用。

然后,我們在 HackerNews 上搜索一下。第一個查詢找到一篇失效文章。此外,我在 GitHub 上偶然發現一個很棒的列表。

https://github.com/ramitsurana/awesome-kubernetes

在進行更廣泛的搜索后,我針對自己的應用場景列出一個可能的候選項目列表。

  • Knative
  • OpenFaaS Cloud
  • Convox
  • Garden
  • Rio

還有很多其他選擇,我嘗試過其中一些,還有一些是針對大企業的。

2. 我的應用場景

在 Quest Vault ,我們在 DigitalOcean droplet 上安裝一個簡單的 Wordpress 來運行我們的電商網站。盡管能通過運行一些簡單的 bash 腳本實現部署,并在本地運行測試 / 過渡服務器的副本,但是,我想構建一個基于行業技術的平臺,而不是一些 bash 腳本。編寫這些 bash 腳本很有趣,并且擁有自己的部署技術棧也很簡單,但是,我希望 Quest Vault 能擁有一個“豪華些”的東西,一個標準的、讓我們不必為使用的工具操心的東西。

https://questvault.net/

現在,我想在辦公室運行 k3s 的 garbage server 上測試這些項目。K3s 有一個到 DigitalOcean droplet 的反向代理,而不是在互聯網上訪問。這意味著項目應該支持內部部署。

https://k3s.io/

我還希望能完全抽象出 k8s。這意味著我不想處理太多的 yaml 或者一直部署 helm charts,我想多考慮下應用程序,并且通過 CLI 就可以做到。

簡而言之:我想要的是,只要按一個按鈕,它就工作。

我們的應用程序有很多活動組件,有些只是簡單腳本,有些則是為游戲客戶端提供通信的大型應用程序。不管是什么,我們的平臺需要支持大量不同的應用程序類型。這通常意味著支持通過 Dockerfile 進行部署。

我們計劃運行的大多數應用程序都與狀態密切相關。以 Wordpress 為例,我們需要一個存儲圖片的地方。我們還有很多需要存儲的應用內照片拍攝。我們需要一種方法使我們的應用程序具有某種形式的持久化。

我喜歡的項目很多,但是一個好項目和一個偉大項目的區別在于社區和行業的采用。擁有自己的 bash 腳本和在 GitHub 上有 3 個活動用戶的項目幾乎沒有區別。如果你搞砸了,或者無論出于什么原因需要一些建議,你都希望能從一個活躍的社區獲得幫助。

3. 項目清單速覽

Knative

我的 Knative 經驗有一個不錯的開頭!當讀過關于它的文章后,我很高興地得知:我能運行一個平臺,谷歌在其平臺內部就把它用于他們自己的類似 PaaS 的部署。考慮到谷歌創造了 k8s,這一定非常合適!它的安裝過程比預期困難得多。

https://knative.dev/docs/install/any-kubernetes-cluster/

似乎沒有什么簡單方法來安裝這個平臺,而且,無法輕松地使用一個平臺會是將來的一個風險。

OpenFaaS Cloud

安裝非常簡單!我很快就讓這個平臺運行了起來。它滿足我的大多數需求,不過,它似乎更像是實現 OpenFaas 的一種有趣方式,而不是完全成熟的 PaaS 可選方案。我不知道如何將我們的用例放到這個特別的平臺上。如果你正在搭配使用耦合度比較低的項目或比較小的功能,這是一個很好的選擇!

Convox

Convox 看起來很棒!幾名前 Heroku 工程師,在 k8s 上構建的一個平臺。似乎完美!我想嘗試一下,馬上就開始在 DigitalOcean k8s 集群上部署它。開發體驗非常棒!

然而,他們似乎并不支持平臺的內部部署版本。此外,除一些早期采用者外,這個項目似乎沒有一個非常大的社區。相比而言,這個項目不是很出名,最終我放棄它,去尋找另一種選擇。

Garden

這是一個非常酷的項目。我喜歡它,一家小型的獨立公司開發的一個創新型解決方案。安裝起來很簡單,而且他們的方法對 k8s 做了很好的抽象,但是他們也允許你通過經典的 k8s 方式來保持某種形式的控制,比如 yaml 文件。我真的很愿意用它,效果很好!

然而,我確實注意到,它的一些 CLI 還不是很完善,但是,我認為這只是些小瑕疵,并不能代表最終產品。

Rio

這個項目符合所有條件。一個真正容易使用的 CLI?是的。不再以任何方式與 k8s 交互?是的。使用 Dockerfile 進行部署?是的!它們還提供了大量其他平臺沒有實現或實現得很差的特性。來自 Rancher 的 Rio 似乎從他們活躍的社區得到了大量支持。

https://rancher.com/blog/2019/rio-revolutionizing-the-way-you-deploy-apps

在 garbage server 上進行安裝設置

我快速地為 k3s 實例設置好反向代理,并開始設置 Rio。

參照他們 GitHub 頁面上的快速入門指南,這個過程變得超級簡單:

  1. # Setting up the reverse proxy to k3s 
  2. ssh -nNTL 6443:localhost:6443 droplet & 
  3.  
  4. # Installing Rio 
  5. curl -sfL https://get.rio.io | sh - 
  6.  
  7. # Running the example project 
  8. rio run https://github.com/rancher/rio-demo 

這樣就行。我超級激動,希望馬上看一下,現有的基礎設施能否同樣輕松地遷移。

Rio 的默認安裝允許你使用他們的 rDNS 服務 on-rio.io,這個服務很酷,但不需要把我的 garbage server 放在反向代理后面。我還沒有使用 Linkerd 的經驗,所以現在只是禁用它。使用命令 rio install --disable-feature rdns,letsencrypt,linkerd 重新安裝后,我獲得了想要的結果。

接下來,通過 kubectl 安裝自定義的 ClusterDomain,這讓我能使用 on-rio.io 之外的另一個域。最后,我安裝了 dnsmasq,并創建了一個名為 app.rio 的假域名,我的應用程序會在這個域名上解析。這將讓我能輕松地在 garbage server 上測試到應用程序的連接。

  1. apiVersion: admin.rio.cattle.io/v1 
  2. kind: ClusterDomain 
  3. metadata: 
  4.   name: app.rio 
  5. spec: 
  6.   httpPort: 80 

我還得想辦法從 DigitalOcean droplet 連接到這個集群。我從 garbage server 上的 80 端口反向代理到 8080 端口上的 droplet。Rio 使用 80 端口安裝了 Gloo 的 gateway-proxy。

最后一步,我設置了 nginx 配置,使其指向 Gloo 網關:

  1. server { 
  2.     listen 80
  3.     server_name your.domain.name; 
  4.     location / { 
  5.         proxy_http_version 1.1
  6.         proxy_set_header Host $host; 
  7.         proxy_pass http://localhost:8080; 
  8.     } 

這有兩件重要的地方需要注意,分別是 proxy_http_version 1.1 和 proxy_set_header Host。proxy_http_version 非常重要,因為基于 Envoy 的 Gloo 不支持 http_version 1.0 上的網關,而只支持 1.1 上的網關。否則,它會返回一個 426 Upgrade Required 錯誤。

Host 頭對于實現 PublicDomain 非常重要。需要注意的是,要添加一個 PublicDomain,它必須與 server_name 或被代理的 Host 頭匹配,否則 Gloo 無法識別我要訪問的是哪個服務。

  1. rio domain register your.domain.name rio-demo 

這就是我尋找最合適的 Kubernetes PaaS 解決方案的冒險。

 

責任編輯:張燕妮 來源: 架構頭條
相關推薦

2016-01-18 09:26:24

2023-12-01 15:58:00

Kubernetes集群DevOps

2020-06-08 08:37:11

數據管理混合云

2016-10-14 14:26:21

2009-03-17 09:49:00

有線寬帶接入方案ADSL

2023-02-06 07:47:23

2020-03-17 10:07:51

K8S

2022-04-22 13:32:01

K8s容器引擎架構

2023-11-06 07:16:22

WasmK8s模塊

2013-04-02 09:25:20

PaaS 應用可移植性PaaS提供商平臺即服務

2013-07-02 15:26:10

APP企業移動商城

2009-01-12 17:28:10

服務器虛擬化VMware

2014-06-18 14:33:58

數據保護

2016-12-07 14:31:56

數據中心機架配電裝置PDU

2023-07-26 07:00:56

Intel內存

2011-07-27 09:51:18

2016-01-04 09:32:12

云部署大數據IaaS

2022-09-14 10:49:30

微服務Kubernetes區塊鏈

2009-06-10 10:32:13

ZendPHPJava

2017-10-17 12:49:18

無線AP無線AP
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美xxxx做受欧美 | 日韩在线一区二区 | 精品久久亚洲 | 天天射色综合 | 亚洲精品在线国产 | 亚洲日本中文字幕在线 | 欧美专区在线 | 久久国产婷婷国产香蕉 | 涩爱av一区二区三区 | 国产美女精品 | 自拍偷拍视频网 | 亚洲人在线观看视频 | 91看片在线 | 久久久久久一区 | 欧美在线资源 | 国产欧美性成人精品午夜 | 伊人二区 | 国产一区久久久 | 在线中文字幕亚洲 | 国产精品久久久久一区二区 | 99精品视频免费观看 | 黄色片在线免费看 | 成人免费区一区二区三区 | 青青草视频网站 | 日本一区二区三区免费观看 | 九九伊人sl水蜜桃色推荐 | 亚洲一本 | 97精品国产97久久久久久免费 | 国产在线视频一区二区 | 黄网站免费在线观看 | 99re6在线视频精品免费 | 亚洲视频在线免费观看 | 国产精品久久久久久久久久 | 亚洲精品在线看 | 精品国产一区二区三区在线观看 | 麻豆久久久9性大片 | 久久亚洲国产 | 欧美不卡一区二区三区 | 羞羞视频网站免费观看 | 国产精品视频在线播放 | 激情亚洲 |