日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

01_k8s入门----部署一个应用程序

發布時間:2024/3/13 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 01_k8s入门----部署一个应用程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

CSDN話題挑戰賽第2期
參賽話題:云原生技術棧分享

前提:

  • 完成k8s集群的安裝

目標

  • 使用 kubectl 在 k8s 上部署第一個應用程序。
  • kubectl 是 k8s 的客戶端工具,可以使用命令行管理集群。

kubernetes部署

在k8s 上進行部署前,首先需要了解一個基本概念 Deployment

deployment 譯名為部署。在k8s中,通過發布deployment,可以創建應用程序(docker image)的實例(docker container),這個實例會被包含在稱為pod的概念中,pod的k8s最小可管理單元。

在k8s集群中發布deploument 后,deployment 將指示k8s如何創建和更新應用程序的實例,master節點將應用程序實例調度到節點中的具體的節點上。

創建應用程序實例后,kubernetes deployment controller 會持續監控這些實例。如果運行實例的worker節點關機或被刪除,則kubernetes Deployment Contriller 將在集群中資源最優的另一個worker節點上重新創建一個新的實例。這提供了一種自我修復機制來解決機器故障或維護問題。

在容器編排之前的時代,各種安裝腳本通常用于啟動應用程序,但是不能夠使用應用程序從集群故障中恢復,通過創建應用程序實例并確保它們在集群節點中的應用實例個數,kubernetes deployment 提供一種完全不同的方式來管理應用程序。

在kubernetes上部署第一個應用程序

Deployment 處于 master 節點上,通過發布 Deployment,master 節點會選擇合適的 worker 節點創建 Container(即圖中的正方體),Container 會被包含在 Pod (即藍色圓圈)里。

實戰:部署nginx Deployment

創建YAML 文件:

創建文件 nginx-deployment.yaml,內容如下:

有注釋版:

apiVersion: apps/v1 #與k8s集群版本有關,使用 kubectl api-versions 即可查看當前集群支持的版本 kind: Deployment #該配置的類型,我們使用的是 Deployment metadata: #譯名為元數據,即 Deployment 的一些基本屬性和信息name: nginx-deployment #Deployment 的名稱labels: #標簽,可以靈活定位一個或多個資源,其中key和value均可自定義,可以定義多組,目前不需要理解app: nginx #為該Deployment設置key為app,value為nginx的標簽 spec: #這是關于該Deployment的描述,可以理解為你期待該Deployment在k8s中如何使用replicas: 1 #使用該Deployment創建一個應用程序實例selector: #標簽選擇器,與上面的標簽共同作用,目前不需要理解matchLabels: #選擇包含標簽app:nginx的資源app: nginxtemplate: #這是選擇或創建的Pod的模板metadata: #Pod的元數據labels: #Pod的標簽,上面的selector即選擇包含標簽app:nginx的Podapp: nginxspec: #期望Pod實現的功能(即在pod中部署)containers: #生成container,與docker中的container是同一種- name: nginx #container的名稱image: nginx:1.7.9 #使用鏡像nginx:1.7.9創建container,該container默認80端口可訪問

無注釋版:

apiVersion: apps/v1 kind: Deployment metadata:name: nginx-deploymentlabels:app: nginx spec:replicas: 1selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- name: nginximage: nginx:1.7.9

應用yaml文件

kubectl apply -f nginx-deployment.yaml

查看部署結果

# 查看 Deployment kubectl get deployments# 查看 Pod kubectl get pods

可分別查看到一個名為 nginx-deployment 的 Deployment 和一個名為 nginx-deployment-xxxxxxx 的 Pod

總結

以上是生活随笔為你收集整理的01_k8s入门----部署一个应用程序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。