1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

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

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      kubernetes中如何實現(xiàn)Helm

      這篇文章主要介紹kubernetes中如何實現(xiàn)Helm,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

      成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設,友誼企業(yè)網(wǎng)站建設,友誼品牌網(wǎng)站建設,網(wǎng)站定制,友誼網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,友誼網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

      一:簡介
      在Kubernetes上進行容器化部署并非易事,通常需要先研究Docker鏡像的運行需求,環(huán)境變量等內(nèi)容,并能為這些容器定制存儲,網(wǎng)絡等設備,最后設計和編寫Deployment,Configmap,Service及Ingress等相關yaml配置文件,再提交給Kubernetes進行部署。這些復雜的過程將逐步被Helm應用包管理工具實現(xiàn)。

      Helm是一個由CNCF孵化和管理的項目,用于對需要在Kubernetes上部署復雜應用進行定義,安裝和更新。Helm以Chart的方式對應用軟件信息描述,可以方便地創(chuàng)建,版本化,共享和發(fā)布復雜的應用軟件。

      二:Helm的主要概念
      1. Chart:是Helm管理的安裝包,里面包含需要部署的安裝包資源。類似于yum中的rpm文件。每個Chart包含下面兩部分:包的基本描述文件Chart.yaml放在templates目錄中的一個或多個Kubernetes manifest文件模板。
      2.Release:在Kubernetes集群上運行的一個Chart實例。在同一個集群上,一個Chart可以安裝多次。例如一個MySQL Chart,如果想在服務器上運行兩個MySQL數(shù)據(jù)庫,就可以基本這個Chart安裝兩次。每次安裝都會生成新的Release,會有獨立的Release名稱。
      3.Repository:用于存放和共享Chart的倉庫。
      kubernetes中如何實現(xiàn)Helm

      三:Helm的安裝

      1.Helm由兩部分組成,客戶端helm和服務的tiller.

      2.客戶端helm的安裝

      1. curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get > get_helm.sh

      2. chmod 755 get_helm.sh

      3. ./get_helm.sh

      在執(zhí)行get_helm.sh腳本的過程中,如果無法獲取helm安裝包,可以提前通過https://github.com/kubernetes/helm/releases下載當前最新穩(wěn)定版本的安裝包到當前目錄,再執(zhí)行get_helm.sh文件。    這里使用的是helm-v2.9.1-linux-amd64.tar.gz。

      3.客戶端tiller安裝

      創(chuàng)建serviceaccount和clusterrolebinding

      1. kubectl create serviceaccount --namespace kube-system tiller

      2. kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller

      安裝tiller

      1. helm init  -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.9.1

      為tiller設置serviceaccount

      1. kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'

      檢查是否安裝成功

      1. kubectl -n kube-system get pods|grep tiller

      2. tiller-deploy-59c7578f9b-qqwpm          1/1       Running   0          17h

      1. helm version

      2. Client: &version.Version{SemVer:"v2.9.1", GitCommit:"20adb27c7c5868466912eebdf6664e7390ebe710", GitTreeState:"clean"}

      3. Server: &version.Version{SemVer:"v2.9.1", GitCommit:"20adb27c7c5868466912eebdf6664e7390ebe710", GitTreeState:"clean"}


      四:Helm的使用

      1.helm search: 搜索可用的Chart
      Helm初始化完成之后,默認配置為使用官方的Kubernetes Chart倉庫。官方倉庫包含大量的經(jīng)過組織和持續(xù)維護的Chart,這個倉庫通常命名為stable。
      可以用helm inspect 命令查看Chart的詳細信息。kubernetes中如何實現(xiàn)Helm

      2.helm create:創(chuàng)建一個chart
      helm create nginx
      kubernetes中如何實現(xiàn)Helm
      templates目錄下的deployment.yaml是部署應用的yaml文件,其中的雙?括號包擴起來的部分是Go template,其中的Values是在 values.yaml ?件中定義。

      a.charts目錄中是本chart依賴的chart,當前是空的
      b.Chart.yaml這個yaml文件用于描述Chart的基本信息,如名稱版本等
      c.templates是Kubernetes manifest文件模板目錄,模板使用chart配置的值生成Kubernetes manifest文件。模板文件使用的Go語言模板語法
      d.templates/NOTES.txt 純文本文件,可在其中填寫chart的使用說明
      e.value.yaml 是chart配置的默認值

      3. helm install –dry-run –debug ./: 驗證模板和配置

      1. [debug] Created tunnel using local port: '44785'

      2. [debug] SERVER: "127.0.0.1:44785"

      3. [debug] Original chart version: ""

      4. [debug] CHART PATH: /root/helm/nginx

      5. NAME: listless-blackbird

      6. REVISION: 1

      7. RELEASED: Wed Jun  6 10:00:49 2018

      8. CHART: nginx-0.1.0

      9. USER-SUPPLIED VALUES:

      10. {}

      11. COMPUTED VALUES:

      12. affinity: {}

      13. image:

      14.   pullPolicy: IfNotPresent

      15.   repository: nginx

      16.   tag: stable

      17. ingress:

      18.   annotations: {}

      19.   enabled: false

      20.   hosts:

      21.   - chart-example.local

      22.   path: /

      23.   tls: []

      24. nodeSelector: {}

      25. replicaCount: 1

      26. resources: {}

      27. service:

      28.   port: 80

      29.   type: ClusterIP

      30. tolerations: []

      31. HOOKS:

      32. MANIFEST:

      33. ---

      34. # Source: nginx/templates/service.yaml

      35. apiVersion: v1

      36. kind: Service

      37. metadata:

      38.   name: listless-blackbird-nginx

      39.   labels:

      40.     app: nginx

      41.     chart: nginx-0.1.0

      42.     release: listless-blackbird

      43.     heritage: Tiller

      44. spec:

      45.   type: ClusterIP

      46.   ports:

      47.     - port: 80

      48.       targetPort: http

      49.       protocol: TCP

      50.       name: http

      51.   selector:

      52.     app: nginx

      53.     release: listless-blackbird

      54. ---

      55. # Source: nginx/templates/deployment.yaml

      56. apiVersion: apps/v1beta2

      57. kind: Deployment

      58. metadata:

      59.   name: listless-blackbird-nginx

      60.   labels:

      61.     app: nginx

      62.     chart: nginx-0.1.0

      63.     release: listless-blackbird

      64.     heritage: Tiller

      65. spec:

      66.   replicas: 1

      67.   selector:

      68.     matchLabels:

      69.       app: nginx

      70.       release: listless-blackbird

      71.   template:

      72.     metadata:

      73.       labels:

      74.         app: nginx

      75.         release: listless-blackbird

      76.     spec:

      77.       containers:

      78.         - name: nginx

      79.           image: "nginx:stable"

      80.           imagePullPolicy: IfNotPresent

      81.           ports:

      82.             - name: http

      83.               containerPort: 80

      84.               protocol: TCP

      85.           livenessProbe:

      86.             httpGet:

      87.               path: /

      88.               port: http

      89.           readinessProbe:

      90.             httpGet:

      91.               path: /

      92.               port: http

      93.           resources:

      94.             {}

      4.helm install : 安裝Chart
      在安裝過程中,Helm客戶端會輸出一些有用的信息,例如Release的狀態(tài),以及額外的配置步驟等。在helm install過程中,可以使用helm status命令來跟蹤release狀態(tài)。

      5.自定義Chart配置
      a.--values 或者-f: 使用yaml配置文件進行參數(shù)配置,可以配置多個文件,最后一個優(yōu)先生效。多個文件中重復的value會進行覆蓋操作,不同的value會疊加生效。
      b.--set: 在命令行直接設置參數(shù)
      舉例:
      helm install stable/mariadb -f config.yaml -f config2.yaml
      helm install stable/mariadb --set mariadbDatabase=firstdb,mariadbRootPassword=abcdefg

      6.helm upgrade和helm rollback: 應用的更新或回滾

      helm upgrade會利用用戶提供的更新信息來對Release進行更新。應為Kubernetes Chart可能會有很大的規(guī)模或者相對復雜的關系,helm 會嘗試進行最小影響的更新,只更新相對于上一個release來說發(fā)生變化的內(nèi)容。

      7.helm delete : 刪除一個Release

      8.helm repo : 倉庫的使用
      a. helm repo list : 列出所有倉庫

      1. NAME      URL

      2. stable    https://kubernetes-charts.storage.googleapis.com

      3. local     http://127.0.0.1:8879/charts

      b. helm repo add : 添加倉庫

      c.helm repo update : 更新倉庫中的Chart信息

      9.快速制作自定義的Chart
      同其它軟件開發(fā)過程一樣,快速制作一個簡單Chart的方法,就是從其它項目中復制并修改。例如我們要簡單地改寫前面MariaDB的Chart 令其使用本地的私有鏡像倉庫,可以按照如下步驟進行:
      a. 下載Chart: 使用helm fetch stable/mariadb命令下載這一Chart的壓縮包
      b.編輯Chart
      c.利用tar 解壓后,將目錄重新命名為mymariadb
      d.修改templates中的deployment.yaml
      e.將Chart.yaml 中的版本號修改為0.1.1 name為mymariadb
      f.使用helm package mymariadb打包chart,并生成一個名為mymariadb-0.11.tgz的壓縮包
      g.安裝chart 通過helm install mymariadb-0.1.1.tgz命令將新生成的Chart安裝到集群當中。

      10. 搭建私有Repository
      Chart倉庫主要由Chart壓縮包和索引文件構成,通過HTTP/HTTPS 對外提供服務。
      通過 helm repo index 創(chuàng)建索引

      以上是“kubernetes中如何實現(xiàn)Helm”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


      新聞名稱:kubernetes中如何實現(xiàn)Helm
      地址分享:http://ef60e0e.cn/article/pphpoe.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        加查县| 峡江县| 兴义市| 达州市| 成都市| 沁源县| 柳林县| 明光市| 勃利县| 栖霞市| 墨江| 洪泽县| 浦县| 绥德县| 宁阳县| 宁明县| 肃南| 西吉县| 克拉玛依市| 武威市| 荣昌县| 松江区| 桐柏县| 原平市| 天全县| 昌黎县| 句容市| 鄢陵县| 且末县| 鄂托克旗| 清远市| 黄浦区| 苏尼特右旗| 汤原县| 观塘区| 阳曲县| 台中市| 涡阳县| 宜章县| 大方县| 隆子县|