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

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

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

 [[325295]]

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

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

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

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

DuckDuckGo 搜索沒啥用

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

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

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

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

  • Knative
  • OpenFaaS Cloud
  • Convox
  • Garden
  • Rio

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

2. 我的應用場景

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

https://questvault.net/

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

https://k3s.io/

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

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

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

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

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

3. 項目清單速覽

Knative

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

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

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

OpenFaaS Cloud

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

Convox

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

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

Garden

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

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

Rio

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

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 

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

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

接下來,通過 kubectl 安裝自定義的 ClusterDomain,這讓我能使用 on-rio.io 之外的另一個域。最后,我安裝了 dnsmasq,并創(chuàng)建了一個名為 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 網(wǎng)關(guān):

  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 上的網(wǎng)關(guān),而只支持 1.1 上的網(wǎng)關(guān)。否則,它會返回一個 426 Upgrade Required 錯誤。

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

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

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

 

責任編輯:張燕妮 來源: 架構(gòu)頭條
相關(guān)推薦

2016-01-18 09:26:24

2023-12-01 15:58:00

Kubernetes集群DevOps

2020-06-08 08:37:11

數(shù)據(jù)管理混合云

2016-10-14 14:26:21

2009-03-17 09:49:00

有線寬帶接入方案ADSL

2020-03-17 10:07:51

K8S

2023-02-06 07:47:23

2022-04-22 13:32:01

K8s容器引擎架構(gòu)

2023-11-06 07:16:22

WasmK8s模塊

2013-04-02 09:25:20

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

2016-12-07 14:31:56

數(shù)據(jù)中心機架配電裝置PDU

2009-01-12 17:28:10

服務器虛擬化VMware

2013-07-02 15:26:10

APP企業(yè)移動商城

2022-09-14 10:49:30

微服務Kubernetes區(qū)塊鏈

2014-06-18 14:33:58

數(shù)據(jù)保護

2016-01-04 09:32:12

云部署大數(shù)據(jù)IaaS

2019-09-05 09:10:35

KafkaK8SKubernetes

2023-07-26 07:00:56

Intel內(nèi)存

2023-09-06 08:12:04

k8s云原生

2011-07-27 09:51:18

點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 做a视频在线观看 | 成人a视频 | 日韩在线免费视频 | 国产在线一区二区 | 国产精品久久国产精品 | 狠狠婷婷综合久久久久久妖精 | 免费一级欧美在线观看视频 | 国产精品亚洲精品 | 久久精品国产久精国产 | 中文字幕在线视频免费视频 | 精品久久久久一区二区国产 | 日韩一区二区三区在线视频 | av一级毛片 | 亚洲九九 | 综合色站导航 | 黄色在线免费播放 | 国产激情在线播放 | 一区二区三区四区在线视频 | 国产午夜亚洲精品不卡 | 91精品国产欧美一区二区成人 | 国产精品视频一区二区三区 | 欧美日韩中文字幕在线 | 精品一区二区视频 | 国产欧美综合在线 | 99在线精品视频 | 国产精品成av人在线视午夜片 | av特级毛片 | 午夜精品一区二区三区在线视频 | 亚洲国产精品区 | 91视频18| 日韩一二区在线 | 久草.com| 国产一级特黄真人毛片 | 东方伊人免费在线观看 | 国产精品一区二区三区四区 | 亚洲一区电影 | 日韩一区二区在线播放 | 久久天天躁狠狠躁夜夜躁2014 | 曰韩三级 | 美女三区 | 成在线人视频免费视频 |