欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

實(shí)現(xiàn)快速K8S開發(fā)的3款工具分別是什么

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)實(shí)現(xiàn)快速K8S開發(fā)的3款工具分別是什么,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

荷塘網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)自2013年創(chuàng)立以來到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

簡 介

時(shí)至今日,Kubernetes正在變得越來越重要,不僅僅是運(yùn)維需要Kubernetes,在開發(fā)的世界里Kubernetes也不可或缺。因此能夠熟練掌握Kubernetes知識會備受追捧。然而問題是,開發(fā)人員是否需要直接上手操作Kubernetes,他們是否必須完全了解Kubernetes。

規(guī)避這一問題的常見方法是通過提供一個(gè)平臺或CI/CD流水線,將Kubernetes的復(fù)雜性從開發(fā)人員身上抽象出來,使開發(fā)人員更容易在Kubernetes內(nèi)測試應(yīng)用程序,而無需直接訪問Kubernetes。

然而,允許開發(fā)人員直接訪問Kubernetes,讓他們直接在Kubernetes內(nèi)部開發(fā)一些應(yīng)用程序往往是有意義的,因?yàn)檫@樣可以在一個(gè)非常接近生產(chǎn)的環(huán)境中工作。

這就出現(xiàn)了一個(gè)問題,即如何讓開發(fā)人員使用Kubernetes工作,同時(shí)又不因其復(fù)雜性而使他們不堪重負(fù)。這個(gè)問題的答案可能是需要使用為Kubernetes而準(zhǔn)備的開發(fā)者工具,例如DevSpace。在這篇文章中,我們將探討開發(fā)人員如何使用DevSpace和Rancher來簡化Kubernetes開發(fā)。

DevSpace: 使用Rancher輕松開發(fā)

DevSpace是一款面向Kubernetes的客戶端、開源的開發(fā)者工具。它可以:

  • 直接在Kubernetes內(nèi)部構(gòu)建、測試和調(diào)試應(yīng)用程序

  • 通過更新正在運(yùn)行的容器而不需要重建鏡像或重啟容器來進(jìn)行熱重載開發(fā)

  • 在團(tuán)隊(duì)內(nèi)部以及在開發(fā)、暫存和生產(chǎn)中統(tǒng)一部署工作流程

  • 自動完成鏡像構(gòu)建和部署的重復(fù)性任務(wù)

DevSpace作為開發(fā)者的客戶端工具,是對Rancher的補(bǔ)充。開發(fā)者在Rancher內(nèi)獲得分配的項(xiàng)目,然后直接在Kubernetes內(nèi)開發(fā)或測試應(yīng)用。這使開發(fā)環(huán)境更接近生產(chǎn)環(huán)境,讓開發(fā)人員在發(fā)布新功能時(shí)更有把握,相信一切都能夠在生產(chǎn)環(huán)境中運(yùn)行良好。

設(shè)置DevSpace

首先需要下載DevSpace二進(jìn)制文件,接下來,在一個(gè)已經(jīng)容器化的項(xiàng)目中通過運(yùn)行devspace init創(chuàng)建一個(gè)新的項(xiàng)目。如果你現(xiàn)在手邊沒有一個(gè)可以用來進(jìn)行試驗(yàn)的項(xiàng)目,你可以使用我們的示例項(xiàng)目:

https://devspace.sh/cli/docs/getting-started/initialize-project#choose-a-project

$ devspace init

     ____              ____
    |  _ \  _____   __/ ___| _ __   __ _  ___ ___
    | | | |/ _ \ \ / /\___ \| '_ \ / _` |/ __/ _ \
    | |_| |  __/\ V /  ___) | |_) | (_| | (_|  __/
    |____/ \___| \_/  |____/| .__/ \__,_|\___\___|
                            |_|


? How do you want to initialize this project?
 Use the Dockerfile in ./Dockerfile

? Which registry do you want to use for storing your Docker images?
 Use hub.docker.com => you are logged in as devspacecloud

? Which image name do you want to use on Docker Hub? devspacecloud/quickstart

? Which port is your application listening on? (Enter to skip) 8080

[done] √ Project successfully initialized

在你回答了幾個(gè)關(guān)于應(yīng)該被初始化的項(xiàng)目的問題之后,DevSpace將為你創(chuàng)建一個(gè)devspace.yaml。這個(gè)文件包含了如何使用DevSpace部署和開發(fā)項(xiàng)目,看起來如下所示:

version: v1beta9
# This section defines the images that should be built
images:
  app:
    image: devspacecloud/quickstart
    preferSyncOverRebuild: true
    # this option tells devspace to automatically wrap the Dockerfile entrypoint in memory
    # with a small restart helper script so that the process can be easily restarted from within the
    # container.
    injectRestartHelper: true
# Defines an array of everything (component, Helm chart, Kubernetes maninfests)
# that will be deployed with DevSpace in the specified order
deployments:
- name: quickstart
  helm:
    # Uses a special helm chart provided by devspace to complement projects that don't have an own
    # helm chart
    componentChart: true
    values:
      containers:
      - image: devspacecloud/quickstart
      service:
        ports:
        - port: 8080
# Configuration that will be used for developing the application
dev:
  # Port forward certain ports from the application to the local computer
  ports:
  - imageName: app
    forward:
    - port: 8080
  # Hot reload changes instead of rebuilding the complete docker image all the time
  sync:
  - imageName: app
    # This tells devspace to restart the container after a file was synced into it
    onUpload:
      restartContainer: true
profiles:
...

現(xiàn)在,你可以跨團(tuán)隊(duì)分享這個(gè)配置。它指定了如何在Kubernetes內(nèi)部獨(dú)立于本地設(shè)置開發(fā)應(yīng)用程序。

要開始開發(fā)應(yīng)用程序,你需要訪問一個(gè)Kubernetes集群或Rancher項(xiàng)目。最佳實(shí)踐是為每個(gè)開發(fā)人員創(chuàng)建一個(gè)Rancher項(xiàng)目或者為一個(gè)共享集群內(nèi)的開發(fā)者團(tuán)隊(duì)創(chuàng)建一個(gè)單一項(xiàng)目。

為了在不同項(xiàng)目和命名空間之間確保簡單的隔離,使用常見的Kubernetes資源,如Resource Quotas、網(wǎng)絡(luò)策略、Pod安全策略和Limit Ranges等。

使用DevSpace開發(fā)應(yīng)用程序

運(yùn)行命令devspace.dev來開啟開發(fā)流程。這將起到以下作用:

  • 構(gòu)建和部署你的應(yīng)用程序

  • 流式傳輸在部署過程中部署的所有容器日志

  • 轉(zhuǎn)發(fā)在devspace.yaml中的dev.ports指定的所有端口

  • 根據(jù)dev.sync中的同步配置來同步所有的文件更改,這樣你就可以在運(yùn)行的容器中重啟應(yīng)用程序,而無需重建鏡像或重新部署任何東西

$ devspace dev -n test
[info]   Using kube context 'docker-desktop'
[info]   Using namespace 'test'
[done] √ Created namespace: test
[info]   Building image 'myusername/devspace:C5992q4' with engine 'docker'
Step 1/7 : FROM node:13.12-alpine
...
[done] √ Done processing image 'myusername/devspace'
[done] √ Deployed helm chart (Release revision: 0)
[done] √ Successfully deployed quickstart with helm
[done] √ Port forwarding started on 3000:3000
[done] √ Sync started on /devspace/examples/quickstart <-> . (Pod: test/quickstart-5d7f4d8fd-w95cx)

#########################################################
[info]   DevSpace UI available at: http://localhost:8090
#########################################################

[info]   Starting log streaming for containers that use images defined in devspace.yaml

[quickstart]
[quickstart] > node-js-sample@0.0.1 start /app
[quickstart] > nodemon index.js
[quickstart]
[quickstart] [nodemon] 1.19.4
[quickstart] [nodemon] to restart at any time, enter `rs`
[quickstart] [nodemon] watching dir(s): *.*
[quickstart] [nodemon] watching extensions: js,mjs,json
[quickstart] [nodemon] starting `node index.js`
[quickstart] Example app listening on port 3000!

本地修改文件后,文件會同步到容器中。容器重啟后無需通過Docker完全重建,大大加快了開發(fā)進(jìn)程。

然后DevSpace會啟動一個(gè)本地UI,你可以訪問和檢查創(chuàng)建的pod。這簡化了與Kubernetes的交互,特別是對于不熟悉kubectl的用戶。

實(shí)現(xiàn)快速K8S開發(fā)的3款工具分別是什么

除了devspace devdevspace deploy命令可以用于打包和部署應(yīng)用程序,而不需要熱重載、端口轉(zhuǎn)發(fā)或日志流。DevSpace提供了許多自定義功能,以根據(jù)你的用例和設(shè)置調(diào)整其行為,包括:

  • 依賴項(xiàng),可以讓你開發(fā)和部署依賴于其他項(xiàng)目的項(xiàng)目

  • Profiles,可以在一個(gè)devspace.yaml中進(jìn)行多種配置

  • 允許指定動態(tài)配置值的變量

  • 允許為項(xiàng)目配置自定義命令的命令

  • 可以在特定的DevSpace事件上執(zhí)行某些功能的Hooks

  • 自動為devspace命令添加標(biāo)志(flag)的環(huán)境變量

  • 擴(kuò)展DevSpace和其命令的插件

DevSpace標(biāo)準(zhǔn)化和簡化了開發(fā)人員與Kubernetes的交互方式的同時(shí),Rancher在服務(wù)器端管理著開發(fā)者如何在Kubernetes內(nèi)部工作。Rancher可以讓你啟動開發(fā)集群并將它們分到不同的項(xiàng)目中,在這些項(xiàng)目中開發(fā)團(tuán)隊(duì)可以一起工作和測試。

Resource Quotas項(xiàng)目除了常見的Kubernetes隔離資源外,還可以在資源方面約束團(tuán)隊(duì),讓團(tuán)隊(duì)在共享Kubernetes集群中得到公平的使用。共享Kubernetes集群可以減少基礎(chǔ)設(shè)施的開銷并且可以直接在Kubernetes內(nèi)部進(jìn)行有效開發(fā)。

再為快速開發(fā)添磚加瓦:loft

loft是另一個(gè)很有用的工具,它可以在開發(fā)過程中添加一些比較方便的功能,包括:

  • 虛擬集群,比“真實(shí)的”集群成本更低,并且可以在數(shù)秒內(nèi)創(chuàng)建并再次清理,而且功能比簡單的命名空間更強(qiáng)大

  • 在共享集群中為開發(fā)人員提供命名空間的自助服務(wù)(self-service)

  • 睡眠模式,在一定時(shí)間不活動后,將命名空間置于睡眠狀態(tài),以節(jié)省計(jì)算成本

你可以通過安裝loft helm chart 輕松地將loft添加到Rancher。loft CLI也可以作為DevSpace的插件。

上述就是小編為大家分享的實(shí)現(xiàn)快速K8S開發(fā)的3款工具分別是什么了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站標(biāo)題:實(shí)現(xiàn)快速K8S開發(fā)的3款工具分別是什么
當(dāng)前路徑:http://chinadenli.net/article18/gghjgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航企業(yè)建站微信公眾號面包屑導(dǎo)航全網(wǎng)營銷推廣網(wǎng)頁設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)