k8s創建資源的兩種方式


命令 vs 配置文件

Kubernetes 支持兩種方式創建資源:

1. 用 kubectl 命令直接創建

kubectl run nginx-deployment --image=nginx:1.7.9 --replicas=2

 

在命令行中通過參數指定資源的屬性。

2. 通過配置文件和 kubectl apply 創建

要完成前面同樣的工作,可執行命令:

[root@k8s-master k8s]# kubectl apply -f nginx.yaml
deployment.extensions/nginx-deployment configured

 

3.nginx.yml 的內容說明

apiVersion: extensions/v1beta1 #api的版本
kind: Deployment          #資源的類型
metadata:                 #資源的元數據
  name: nginx-deployment  #資源的名稱
spec:                     #資源的說明
  replicas: 2             #副本2個,缺省為1
  template:               #pod模板
    metadata:             #pod元數據
      labels:            #標簽
        app: web_server    #標簽選擇器
    spec:
      containers:
      - name: nginx
        image: nginx:1.79

 

資源的屬性寫在配置文件中,文件格式為 YAML。

 這種配置文件對格式的要求極為嚴格,縮進不能錯,空格不能少打,vim編輯器的高亮提示會對我們寫配置文件有幫助,如果語法錯誤會檢測到。

 

4.這兩種方式進行比較

基於命令的方式:

  1. 簡單直觀快捷,上手快。

  2. 適合臨時測試或實驗。

基於配置文件的方式:

  1. 配置文件描述了 What,即應用最終要達到的狀態。

  2. 配置文件提供了創建資源的模板,能夠重復部署。

  3. 可以像管理代碼一樣管理部署。

  4. 適合正式的、跨環境的、規模化部署。

  5. 這種方式要求熟悉配置文件的語法,有一定難度。

 

kubectl apply 不但能夠創建 Kubernetes 資源,也能對資源進行更新,非常方便。不過 Kubernets 還提供了幾個類似的命令,例如 kubectl createkubectl replacekubectl edit 和 kubectl patch

為避免造成不必要的困擾,我們會盡量只使用 kubectl apply
此命令已經能夠應對超過 90% 的場景,事半功倍。

 

5.資源的刪除

配置文件創建的資源 也可以用之前的方式刪除

[root@k8s-master k8s]# kubectl apply -f  nginx.yaml  
deployment.extensions/nginx-deployment created

指定配置刪除

[root@k8s-master k8s]# kubectl delete -f  nginx.yaml      
deployment.extensions "nginx-deployment" deleted

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM