最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何快速部署容器化應用-創(chuàng)新互聯(lián)

一、背景

為了快速適應和滿足市場需求,小而快的應用越來越多,“這些零碎的應用如何部署、管理?”成為讓大家頭疼的問題。若全部上虛擬機,資源消耗太大。這時,將應用容器化,顯然是一個非常不錯的選擇,但很多公司又都面臨著一個同樣的問題,那就是容器化推行難。

創(chuàng)新互聯(lián)服務項目包括巴中網(wǎng)站建設、巴中網(wǎng)站制作、巴中網(wǎng)頁制作以及巴中網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯(lián)網(wǎng)行業(yè)的解決方案,巴中網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到巴中省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!

容器化推行的過程中,研發(fā)、運維學習及使用成本都非常高,那有沒有一款簡單易用的平臺呢?

開普勒云平臺是 宜人金科-財富技術部 開源的一款基于Kubernetes的應用管理解決方案。致力于解決公司的上容器難、上Kubernetes難、運維成本高等問題。應用只需要加一個非常簡單的Dockerfile文件通過開普勒云臺就能將應用部署在Kubernetes上,大大降低了使用的難度。

如何快速部署容器化應用

二、開普勒云平臺

之前的一篇文章Kubernetes+Docker+Istio 容器云實踐對開普勒平臺做了一些基本介紹。

經(jīng)過一段時間的調(diào)整,我們終于把這個平臺開源了: https://github.com/kplcloud/kplcloud

開普勒云平臺是一款面向研發(fā)、運維等人群的平臺,只需要具備簡單知識就可以快速將應用部署到Kubernetes上,以下是平臺的基礎架構:

如何快速部署容器化應用

開普勒平臺既可以通過容器的方式跑在Kubernetes上,也可以獨立部署。

在kubernetes master節(jié)點上執(zhí)行即可完成部署,當然,在此之前需要增加app.cfg配置文件。

$ git clone github.com/kplcloud/kplcloud && cd kplcloud/
$ kubectl apply -f install/kubernetes/kpaas/

下圖是開普勒云平臺所對接的平臺及流程。

如何快速部署容器化應用

開普勒云平臺通過調(diào)用Jenkins、Gitlab(Github)、Kubernetes等API的方式對應用進行操作。

將Consul的KV功能作為配置中心來使用,在開普勒云平臺上可以直接調(diào)用Consul API進行操作,可以在配置文件決定是否啟用Consul KV功能。

Jenkins目前只擔任代碼編譯及將Docker鏡像上傳倉庫的功能。開普勒通過調(diào)用JenkinsAPI來創(chuàng)建Job或Build Job,并監(jiān)聽Job狀態(tài)。

開普勒平臺還可調(diào)用Github或Gitlab API獲取項目的分支及需要上線的tags。并將相關信息傳給jenkins,Jenkins拉取代碼并執(zhí)行相關構建過程。

三、使用

平臺調(diào)用Kubernetes API的資源及Jenkins API或告警都是以模版的方式進行處理,管理員可以根據(jù)自己公司所處的環(huán)境隨意調(diào)整相關資源的模版。

除了對生產(chǎn)最基本的需求外,還增加了對測試環(huán)境測試人員的需求支持。

  • 應用克隆: 測試人員可能需要做到一個版本多套環(huán)境的場景。在平臺可以假設一個空間就是一種場景,在一個空間下部署完所有應用之后,需要在其他空間下也生成一樣的應用,為了方便操作,可以直接使用“工具集-克隆”功能完成一鍵克隆。
  • 調(diào)整容器時間: 金融產(chǎn)品應該都會遇到調(diào)整時間的問題。通常測試一個功能需要對服務的時間進行修改,由于Docker使用的是宿主機的內(nèi)核時間,容器無法對內(nèi)核時間進行調(diào)整,那就需要借助其他工具來完成這項工作。推薦使用一款開源的工具https://github.com/wolfcw/libfaketime,我們將該工具編譯到宿主機上,通過掛載的方式掛入容器里,就能對單個容器進行調(diào)整而不影響其他容器了。

開普勒云平臺功能眾多,下面挑幾個大家比較關心、常用的功能進行簡單介紹。(更多的功能介紹請查看文檔https://docs.nsini.com)

  • 創(chuàng)建應用
  • 發(fā)布新版本
  • 日志采集
  • 監(jiān)控告警
  • 持久化存儲

3.1 創(chuàng)建應用

創(chuàng)建一個應用的流程非常簡單,只需要填寫一些簡單的信息,管理員審核之后就會執(zhí)行構建。應用升級只需要選擇tags,然后執(zhí)行構建就可以完成。

如何快速部署容器化應用

以創(chuàng)建一個Go應用為例:

Dockerfile:

FROM golang:latest as build-env

ENV GO111MODULE=on
ENV BUILDPATH=github.com/kplcloud/hello
RUN mkdir -p /go/src/${BUILDPATH}
COPY ./ /go/src/${BUILDPATH}
RUN cd /go/src/${BUILDPATH} && CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go install -v

FROM alpine:latest

COPY --from=build-env /go/bin/hello /go/bin/hello

WORKDIR /go/bin/
CMD ["/go/bin/hello"]

將以上Dockerfile放入項目目錄,填寫相關信息:

如何快速部署容器化應用

一個應用就創(chuàng)建完成了,管理員審核提交的信息是否合格,不合格便駁回;合格了就直接通過并進行部署。

部署應用會根據(jù)用戶所提交的信息獲取我們事先定義好的基礎模版,再根據(jù)基礎模版生成Kubernetes所能識別的資源,然后調(diào)用Kubernetes API創(chuàng)建這些資源。創(chuàng)建完成后再調(diào)用Jenkins API創(chuàng)建Job,最后執(zhí)行構建。

Jenkins完成構建,并將Docker Image 上傳完倉庫之后,開普勒才會更新Kubernetes相關應用的版本。

在這個過程中若想加入更多操作,可以修改JenkinsCommand模版。

3.2 發(fā)布新應用

構建應用的流程是通過創(chuàng)建應用提交一些信息進行處理。

  • 從git 倉庫獲取tags列表。
  • 調(diào)用jenkins API 將應用的相關參數(shù)及版本信息傳給它并進行構建。
  • Jenkins Job執(zhí)行Shell命令,執(zhí)行docker build并上傳至Docker Image倉庫。
  • 平臺監(jiān)聽到job已經(jīng)成功執(zhí)行,調(diào)用kubernetes API更新應用的Image地址。
  • 監(jiān)聽升級情況。
  • 發(fā)送通知。

以上是構建應用的后端流程,而前端就比較簡單了,只需要在應用詳情頁點擊"Build"按鈕,在彈出的對話框中選擇想應用的tags版本并提交就行了,如下圖:

如何快速部署容器化應用

點擊詳情頁的build日志選項卡,會顯示最近的構建記錄,點擊左側(cè)相應的版本,可以查看該版本的構建情況,也可以對正在構建的應用進行中斷,如下圖:

如何快速部署容器化應用

3.3 日志采集

我們的日志收集采用的是低耦合、擴展性強、方便維護和升級的方案。

  • 每個節(jié)點Filebeat收集宿主機日志。
  • 每個Pod注入Filebeat容器收集業(yè)務日志。

Filebeat會跟應用容器部署在一起,應用也不需要知道它的存在,只需要指定日志輸入的目錄就可以了。Filebeat所使用的配置是從ConfigMap讀取,只需要維護好收集日志的規(guī)則。

如何快速部署容器化應用

如果配置了上面的采集器,那么它會向服務所在的Pod注入一個Filebeat采集器對應用服務的業(yè)務日志進行采集。把采集到的日志注入到kafka集群,然后logstash進行消息處理及格式化。

處理完后入到ES集群,最終我們就可以通過kibana查詢到業(yè)務日志了。

如何快速部署容器化應用

Filebeat容器及filebeat的ConfigMap也可以通過模版的方式進行參數(shù)調(diào)整。

如何快速部署容器化應用

3.4 監(jiān)控告警

應用監(jiān)控告警也是非常重要的一個環(huán)節(jié),我們采用Prometheus+Grafana的方案進行監(jiān)控,Prometheus+AlertManager進行告警的處理。

AlertManager所拋出的告警信息會發(fā)送至開普勒云平臺進行處理,若你在平臺訂閱了告警類型的消息則會發(fā)送至所訂閱類型的相關工具。

我們可以在“個人設置-消息訂閱設置”里選擇需要訂閱的類型及接收的工具:

如何快速部署容器化應用

以下是微信接收到的操作通知:

如何快速部署容器化應用

更多的教程請查閱我們提供的文檔。https://docs.nsini.com

3.5 持久化存儲

Kubernetes集群管理員通過提供不同的存儲類,可以滿足用戶不同的服務質(zhì)量級別、備份策略和任意策略要求的存儲需求。動態(tài)存儲卷供應使用StorageClass來實現(xiàn),允許存儲卷按需被創(chuàng)建。
如果沒有動態(tài)存儲供應,Kubernetes集群的管理員將不得不通過手工的方式來創(chuàng)建新的存儲卷。
通過動態(tài)存儲卷,Kubernetes能夠按照用戶的需求,自動創(chuàng)建其需要的存儲。

如何快速部署容器化應用

在菜單找到“配置與存儲”->"持久化存儲卷聲明",選擇應用的空間,并點擊“創(chuàng)建”按鈕,先創(chuàng)建一個存儲卷,然后我們找到需要掛載持久化存儲盤應用并進入詳情頁,找到“持久化存儲”選項卡,掛載剛剛所創(chuàng)建的持久化存儲卷就好了。

如何快速部署容器化應用

四、尾巴

開普勒平臺目前已開源,并且已有演示平臺可使用,提供完整文檔供參考。文檔詳細地介紹了相關服務的搭建過程,同時,提供了多種部署方案。

  • Github: https://github.com/kplcloud/kplcloud
  • Document: https://docs.nsini.com
  • Demo: https://kplcloud.nsini.com

作者:王聰

宜信技術學院

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


網(wǎng)頁題目:如何快速部署容器化應用-創(chuàng)新互聯(lián)
網(wǎng)頁地址:http://fisionsoft.com.cn/article/ceipdj.html