佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 如何在kubernetes中創(chuàng)建Pod

如何在kubernetes中創(chuàng)建Pod

熱門標(biāo)簽:檢查注冊表項 阿里云 使用U盤裝系統(tǒng) 美圖手機(jī) 百度競價點擊價格的計算公式 硅谷的囚徒呼叫中心 網(wǎng)站建設(shè) 智能手機(jī)

如何創(chuàng)建Pod?

      在之前的文章中,我們介紹了容器和Pod的區(qū)別和關(guān)系。我們知道Pod是k8s調(diào)度的最小單位,而一個Pod中可以有多個容器,那么我們?nèi)绾蝸矶x一個我們自己的Pod呢?

     在k8s中,我們通常使用編寫配置文件的方式創(chuàng)建一個Pod,配置文件的格式通常采用yaml格式,(yaml格式如何表示list、key-value鍵值對,這些知識在前一篇文章中說過了),編寫好yaml文件之后,通過下面的辦法來啟動一個Pod:

kubectl create -f  配置文件

Pod中容器的定義、參數(shù)、配置等信息,都在yaml文件中,一個常見的yaml文件內(nèi)容如下:

apiVersion: v1
kind: Pod
metadata :
  name: volume-pod
spec:
  containers :
  - name: tomcat
    image: tomcat
    ports:
    - containerPort: 8080
    volumeMounts:
    - name: app-logs
      mountPath: /usr/local/tomcat/logs
  - name: busybox
    image: busybox
    command: ["sh","-c","tail -f /logs/catalina*.log"]
    volumeMounts:
    - name: app-logs
      mountPath: /logs
  volumes:
  - name: app-logs
    emptyDir: {}

當(dāng)然,它可能有很多字段,根據(jù)你創(chuàng)建的Pod不同,字段可以自己設(shè)置。這樣一個yaml文件,當(dāng)我們提交給k8s之后,k8s就會幫助我們創(chuàng)建出來對應(yīng)的API對象,在這個例子中,我們的對象是一個Pod,(因為yaml文件中的kind字段后面的值是Pod)。當(dāng)然,還有其他。

到這里,我們已經(jīng)了解了Pod的創(chuàng)建方法,針對上面的過程,我們再來看2個問題:

第一、kubectl是什么?它可以跟什么命令?

第二、Pod的yaml文件中的字段分別是什么意思?

先來看第一個問題。

kubectl工具

   kubectl工具是一個客戶端CLI工具,可以讓用戶通過命令行的方式來管理k8s集群,這個命令的基本語法是:

kubectl 【command】 【type】 【name】 【flags】
command取值:get、create、delete、describe、get、apply等
type取值,資源對象的類型,可以取pod、deployment等
name取值:資源對象的名稱,
flags:可選參數(shù),可以通過--help來查看

eg:
kubectl create – 通過文件名或控制臺輸入,創(chuàng)建資源。
kubectl delete – 通過文件名、控制臺輸入、資源名或者label selector刪除資源。
kubectl annotate – 更新資源的注解。
kubectl api-versions – 以“組/版本”的格式輸出服務(wù)端支持的API版本。
kubectl apply – 通過文件名或控制臺輸入,對資源進(jìn)行配置。
kubectl attach – 連接到一個正在運(yùn)行的容器。
kubectl autoscale – 對replication controller進(jìn)行自動伸縮。
kubectl cluster-info – 輸出集群信息。
kubectl config – 修改kubeconfig配置文件。
kubectl describe – 輸出指定的一個/多個資源的詳細(xì)信息。
kubectl edit – 編輯服務(wù)端的資源。
kubectl exec – 在容器內(nèi)部執(zhí)行命令。
kubectl expose – 輸入replication controller,service或者pod,并將其暴露為新的kubernetes service。
kubectl get – 輸出一個/多個資源。
kubectl label – 更新資源的label。
kubectl logs – 輸出pod中一個容器的日志。
kubectl namespace -(已停用)設(shè)置或查看當(dāng)前使用的namespace。
kubectl patch – 通過控制臺輸入更新資源中的字段。
kubectl port-forward – 將本地端口轉(zhuǎn)發(fā)到Pod。
kubectl proxy – 為Kubernetes API server啟動代理服務(wù)器。
kubectl replace – 通過文件名或控制臺輸入替換資源。
kubectl rolling-update – 對指定的replication controller執(zhí)行滾動升級。
kubectl run – 在集群中使用指定鏡像啟動容器。
kubectl scale – 為replication controller設(shè)置新的副本數(shù)。
kubectl stop – (已停用)通過資源名或控制臺輸入安全刪除資源。
kubectl version – 輸出服務(wù)端和客戶端的版本信息。

    現(xiàn)在我們知道,它是一個命令行工具,常見的操作有上面這么多,可以使用create子命令來創(chuàng)建一個Pod即可。

    后續(xù)的其他功能,每次用到的時候,我們再展開說。當(dāng)然,你可以使用kubectl --help來查看它的說明。

以上就是如何在kubernetes中創(chuàng)建Pod的詳細(xì)內(nèi)容,更多關(guān)于kubernetes中創(chuàng)建Pod的資料請關(guān)注腳本之家其它相關(guān)文章!

標(biāo)簽:通遼 山南 湖北 懷化 湘潭 賀州 黃山 煙臺

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《如何在kubernetes中創(chuàng)建Pod》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    黎城县| 阿拉善盟| 南宁市| 湖州市| 新干县| 兴国县| 抚远县| 大余县| 海兴县| 石屏县| 雅安市| 涟源市| 温泉县| 东兴市| 克什克腾旗| 英吉沙县| 乐陵市| 屯门区| 交口县| 四平市| 永城市| 龙南县| 永新县| 岳西县| 鲁山县| 新宁县| 望城县| 惠安县| 嘉善县| 禄劝| 嘉黎县| 兴业县| 东台市| 青田县| 吉木萨尔县| 桃园市| 莱阳市| 西安市| 霍林郭勒市| 本溪| 禄丰县|