国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Linux6.34 Kubernetes yaml文件詳解

這篇具有很好參考價(jià)值的文章主要介紹了Linux6.34 Kubernetes yaml文件詳解。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

計(jì)算機(jī)系統(tǒng)

5G云計(jì)算

第三章 LINUX Kubernetes yaml文件詳解

一、yaml文件概述

Kubernetes 支持 YAML 和 JSON 格式管理資源對(duì)象
JSON 格式:主要用于 api 接口之間消息的傳遞
YAML 格式:用于配置和管理,YAML 是一種簡(jiǎn)潔的非標(biāo)記性語(yǔ)言,內(nèi)容格式人性化,較易讀

YAML 語(yǔ)法格式:
●大小寫(xiě)敏感
●使用縮進(jìn)表示層級(jí)關(guān)系
●不支持Tab鍵制表符縮進(jìn),只使用空格縮進(jìn)
●縮進(jìn)的空格數(shù)目不重要,只要相同層級(jí)的元素左側(cè)對(duì)齊即可,通常開(kāi)頭縮進(jìn)兩個(gè)空格
●符號(hào)字符后縮進(jìn)一個(gè)空格,如冒號(hào),逗號(hào),短橫桿(-)等
●“—”表示YAML格式,一個(gè)文件的開(kāi)始,用于分隔文件間
●“#”表示注釋

1.查看 api 資源版本標(biāo)簽
kubectl api-versions
admissionregistration.k8s.io/v1
admissionregistration.k8s.io/v1beta1
apiextensions.k8s.io/v1
apiextensions.k8s.io/v1beta1
apiregistration.k8s.io/v1
apiregistration.k8s.io/v1beta1
apps/v1                                                     #如果是業(yè)務(wù)場(chǎng)景一般首選使用 apps/v1
authentication.k8s.io/v1
authentication.k8s.io/v1beta1                      #帶有beta字樣的代表的是測(cè)試版本,不用在生產(chǎn)環(huán)境中
authorization.k8s.io/v1
authorization.k8s.io/v1beta1
autoscaling/v1
autoscaling/v2beta1
autoscaling/v2beta2
batch/v1
batch/v1beta1
certificates.k8s.io/v1
certificates.k8s.io/v1beta1
coordination.k8s.io/v1
coordination.k8s.io/v1beta1
discovery.k8s.io/v1beta1
events.k8s.io/v1
events.k8s.io/v1beta1
extensions/v1beta1
flowcontrol.apiserver.k8s.io/v1beta1
networking.k8s.io/v1
networking.k8s.io/v1beta1
node.k8s.io/v1
node.k8s.io/v1beta1
policy/v1beta1
rbac.authorization.k8s.io/v1
rbac.authorization.k8s.io/v1beta1
scheduling.k8s.io/v1
scheduling.k8s.io/v1beta1
storage.k8s.io/v1
storage.k8s.io/v1beta1
v1

Linux6.34 Kubernetes yaml文件詳解,kubernetes,容器,云原生

2.寫(xiě)一個(gè)yaml文件demo
mkdir /opt/demo
cd demo/

vim nginx-deployment.yaml
apiVersion: apps/v1		#指定api版本標(biāo)簽
kind: Deployment		#定義資源的類(lèi)型/角色,deployment為副本控制器,此處資源類(lèi)型可以是Deployment、Job、Ingress、Service等
metadata:					#定義資源的元數(shù)據(jù)信息,比如資源的名稱、namespace、標(biāo)簽等信息
  name: nginx-deployment	#定義資源的名稱,在同一個(gè)namespace空間中必須是唯一的
  labels:				#定義Deployment資源標(biāo)簽
    app: nginx	
spec:					#定義deployment資源需要的參數(shù)屬性,諸如是否在容器失敗時(shí)重新啟動(dòng)容器的屬性
  replicas: 3			#定義副本數(shù)量
  selector:				#定義標(biāo)簽選擇器
    matchLabels:		#定義匹配標(biāo)簽
      app: nginx		#需與 .spec.template.metadata.labels 定義的標(biāo)簽保持一致
  template:				#定義業(yè)務(wù)模板,如果有多個(gè)副本,所有副本的屬性會(huì)按照模板的相關(guān)配置進(jìn)行匹配
    metadata:
      labels:           #定義Pod副本將使用的標(biāo)簽,需與 .spec.selector.matchLabels 定義的標(biāo)簽保持一致
        app: nginx
    spec:
      containers:				#定義容器屬性
      - name: nginx				#定義一個(gè)容器名,一個(gè) - name: 定義一個(gè)容器
        image: nginx:1.15.4		#定義容器使用的鏡像以及版本
        ports:
        - containerPort: 80		#定義容器的對(duì)外的端口

//創(chuàng)建資源對(duì)象
kubectl create -f nginx-deployment.yaml

//查看創(chuàng)建的pod資源
kubectl get pods -o wide
NAME                                READY   STATUS              RESTARTS   AGE    IP            NODE            NOMINATED NODE   READINESS GATES
nginx-deployment-746ccc65d8-lgxs5   1/1     Running   0          45s    10.244.0.13   192.168.58.62   <none>           <none>
nginx-deployment-746ccc65d8-svhzp   1/1     Running   0          45s    10.244.1.13   192.168.58.63   <none>           <none>
nginx-deployment-746ccc65d8-wl9xk   1/1     Running   0          45s    10.244.0.14   192.168.58.62   <none>           <none>



//創(chuàng)建service服務(wù)對(duì)外提供訪問(wèn)并測(cè)試
vim nginx-service.yaml
apiVersion: v1  
kind: Service  
metadata:
  name: nginx-service
  labels:
    app: nginx  
spec:
  type: NodePort  
  ports:
  - port: 80
    targetPort: 80  
  selector:
    app: nginx

//創(chuàng)建資源對(duì)象
kubectl create -f nginx-service.yaml 

//查看創(chuàng)建的service
kubectl get svc
NAME            TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)        AGE
kubernetes      ClusterIP   10.0.0.1     <none>        443/TCP        23h
nginx-service   NodePort    10.0.0.16    <none>        80:38625/TCP   3s

//在瀏覽器輸入 nodeIP:nodePort 即可訪問(wèn)
http://192.168.58.62:38625
http://192.168.58.63:38625

------------------------------------------------------------------------------------------
詳解k8s中的port:
●port
port 是 k8s 集群內(nèi)部訪問(wèn)service的端口,即通過(guò) clusterIP: port 可以從 Pod 所在的 Node 上訪問(wèn)到 service

●nodePort
nodePort 是外部訪問(wèn) k8s 集群中 service 的端口,通過(guò) nodeIP: nodePort 可以從外部訪問(wèn)到某個(gè) service。

●targetPort
targetPort 是 Pod 的端口,從 port 或 nodePort 來(lái)的流量經(jīng)過(guò) kube-proxy 反向代理負(fù)載均衡轉(zhuǎn)發(fā)到后端 Pod 的 targetPort 上,最后進(jìn)入容器。

●containerPort
containerPort 是 Pod 內(nèi)部容器的端口,targetPort 映射到 containerPort。
------------------------------------------------------------------------------------------

//kubectl run --dry-run=client 打印相應(yīng)的 API 對(duì)象而不執(zhí)行創(chuàng)建
kubectl run nginx-test --image=nginx --port=80 --dry-run=client
kubectl create deployment nginx-deploy --image=nginx --port=80 --replicas=3 --dry-run=client

//查看生成yaml格式
kubectl run nginx-test --image=nginx --port=80 --dry-run=client -o yaml
kubectl create deployment nginx-deploy --image=nginx --port=80 --replicas=3 --dry-run=client -o yaml

//查看生成json格式
kubectl run nginx-test --image=nginx --port=80 --dry-run=client -o json
kubectl create deployment nginx-deploy --image=nginx --port=80 --replicas=3 --dry-run=client -o json

//使用yaml格式導(dǎo)出生成模板,并進(jìn)行修改以及刪除一些不必要的參數(shù)
kubectl run nginx-test --image=nginx --port=80 --dry-run=client -o yaml > nginx-test.yaml
kubectl create deployment nginx-deploy --image=nginx --port=80 --replicas=3 --dry-run=client -o yaml  > nginx-deploy.yaml

vim nginx-test.yaml
apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null     #刪除
  labels:
    run: nginx-test
  name: nginx-test
spec:
  containers:
  - image: nginx
    name: nginx-test
    ports:
    - containerPort: 80
    resources: {}             #刪除
  dnsPolicy: ClusterFirst
  restartPolicy: Always
status: {}                    #刪除


//將現(xiàn)有的資源生成模板導(dǎo)出
kubectl get svc nginx-service -o yaml

//保存到文件中
kubectl get svc nginx-service -o yaml > my-svc.yaml

//查看字段幫助信息,可一層層的查看相關(guān)資源對(duì)象的幫助信息
kubectl explain deployments.spec.template.spec.containers
或
kubectl explain pods.spec.containers


//寫(xiě)yaml太累怎么辦?
●用 --dry-run 命令生成
kubectl run my-deploy --image=nginx --dry-run=client -o yaml > my-deploy.yaml

●用get命令導(dǎo)出
kubectl get svc nginx-service -o yaml > my-svc.yaml
或
kubectl edit svc nginx-service  #復(fù)制配置,再粘貼到新文件

//yaml文件的學(xué)習(xí)方法:1)多看別人(官方)寫(xiě)的,能讀懂
(2)能照著現(xiàn)場(chǎng)的文件改著用
(3)遇到不懂的,善用kubectl explain ... 命令查

Linux6.34 Kubernetes yaml文件詳解,kubernetes,容器,云原生
Linux6.34 Kubernetes yaml文件詳解,kubernetes,容器,云原生
Linux6.34 Kubernetes yaml文件詳解,kubernetes,容器,云原生Linux6.34 Kubernetes yaml文件詳解,kubernetes,容器,云原生
Linux6.34 Kubernetes yaml文件詳解,kubernetes,容器,云原生Linux6.34 Kubernetes yaml文件詳解,kubernetes,容器,云原生Linux6.34 Kubernetes yaml文件詳解,kubernetes,容器,云原生Linux6.34 Kubernetes yaml文件詳解,kubernetes,容器,云原生Linux6.34 Kubernetes yaml文件詳解,kubernetes,容器,云原生Linux6.34 Kubernetes yaml文件詳解,kubernetes,容器,云原生Linux6.34 Kubernetes yaml文件詳解,kubernetes,容器,云原生Linux6.34 Kubernetes yaml文件詳解,kubernetes,容器,云原生Linux6.34 Kubernetes yaml文件詳解,kubernetes,容器,云原生Linux6.34 Kubernetes yaml文件詳解,kubernetes,容器,云原生Linux6.34 Kubernetes yaml文件詳解,kubernetes,容器,云原生Linux6.34 Kubernetes yaml文件詳解,kubernetes,容器,云原生Linux6.34 Kubernetes yaml文件詳解,kubernetes,容器,云原生Linux6.34 Kubernetes yaml文件詳解,kubernetes,容器,云原生Linux6.34 Kubernetes yaml文件詳解,kubernetes,容器,云原生Linux6.34 Kubernetes yaml文件詳解,kubernetes,容器,云原生Linux6.34 Kubernetes yaml文件詳解,kubernetes,容器,云原生文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-635953.html

到了這里,關(guān)于Linux6.34 Kubernetes yaml文件詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Linux6.39 Kubernetes Pod控制器

    Linux6.39 Kubernetes Pod控制器

    第三章 LINUX Kubernetes Pod控制器 一、Pod控制器及其功用 Pod控制器,又稱之為工作負(fù)載(workload),是用于實(shí)現(xiàn)管理pod的中間層,確保pod資源符合預(yù)期的狀態(tài),pod的資源出現(xiàn)故障時(shí),會(huì)嘗試進(jìn)行重啟,當(dāng)根據(jù)重啟策略無(wú)效,則會(huì)重新新建pod的資源 二.pod控制器有多種類(lèi)型 1.Replic

    2024年02月12日
    瀏覽(45)
  • Kubernetes yaml文件

    目錄 yaml文件 Pod yaml文件詳解 deployment.yaml文件詳解 Service yaml文件詳解 deployment.yaml文件詳解 Service yaml文件詳解

    2024年02月06日
    瀏覽(13)
  • 【Kubernetes】yaml文件格式

    目錄 YAML 語(yǔ)法格式: 查看 api 資源版本標(biāo)簽 寫(xiě)一個(gè)yaml文件demo 創(chuàng)建資源對(duì)象 查看創(chuàng)建的pod資源 創(chuàng)建service服務(wù)對(duì)外提供訪問(wèn)并測(cè)試 創(chuàng)建資源對(duì)象 查看創(chuàng)建的service 在瀏覽器輸入 nodeIP:nodePort 即可訪問(wèn) kubectl run --dry-run=client 打印相應(yīng)的 API 對(duì)象而不執(zhí)行創(chuàng)建 查看生成yaml格式 查

    2024年02月13日
    瀏覽(14)
  • 云原生Kubernetes:Yaml文件編寫(xiě)

    云原生Kubernetes:Yaml文件編寫(xiě)

    目錄 一、理論 1.Kubernetes與yaml文件 2.deployment、rc、rs之間yaml文件的對(duì)比 3.Deployment類(lèi)型編寫(xiě)redis服務(wù) 二、實(shí)驗(yàn) 1.Kubernetes與yaml文件 2.Deployment類(lèi)型編寫(xiě)redis服務(wù) 三、問(wèn)題 1.聲明式生成yaml文件報(bào)錯(cuò) 2.上下文格式配置錯(cuò)誤 3.kubectl create 和 kubectl apply區(qū)別 四、總結(jié) (1)Kubernetes支持管

    2024年02月09日
    瀏覽(10)
  • k8s(Kubernetes)中yaml文件快速閱讀理解

    k8s(Kubernetes)中yaml文件快速閱讀理解

    簡(jiǎn)言 ????????k8s yaml中文件內(nèi)容一般有kind類(lèi)型之分,每種類(lèi)型有不同的功能(一般用---符號(hào)隔開(kāi)) 常見(jiàn)的kind類(lèi)型: ????????(1)Endpoints:Endpoints可以把外部的鏈接到k8s系統(tǒng)中(可以理解為引用外部資源,如將一個(gè)外部mysql連接到k8s中) ????????(2)Service:部署一

    2024年02月21日
    瀏覽(18)
  • Kubernetes中Ingress、Ingress Controller、IngressClass的產(chǎn)生緣由、YAML描述及使用詳解

    Kubernetes中Ingress、Ingress Controller、IngressClass的產(chǎn)生緣由、YAML描述及使用詳解

    本文深入探討了Kubernetes中Ingress、Ingress Controller、IngressClass的產(chǎn)生緣由及作用,詳細(xì)介紹了它們?cè)诠芾砑哼M(jìn)出流量中的重要性。通過(guò)對(duì)Ingress和Ingress Class的YAML描述和使用方法的解釋,展示了如何配置和管理這些對(duì)象以實(shí)現(xiàn)流量路由和負(fù)載均衡。

    2024年02月09日
    瀏覽(36)
  • 十一. Kubernetes 容器 container 設(shè)置詳解

    十一. Kubernetes 容器 container 設(shè)置詳解

    pod是k8s的基本單位,用k8s部署的應(yīng)用運(yùn)行在container容器中, 容器運(yùn)行在pod中,pod又運(yùn)行在k8s的節(jié)點(diǎn)上,一個(gè)pod內(nèi)部可以啟動(dòng)多個(gè)container容器,所以pod又稱為容器組(pod內(nèi)部運(yùn)行的docker容器,使用docker容器啟動(dòng)服務(wù)時(shí)一個(gè)容器只能啟動(dòng)一個(gè)服務(wù),使用k8s后,pod是k8s的基本單位一個(gè)pod中可以運(yùn)

    2024年02月08日
    瀏覽(22)
  • Kubernetes配置 Pods 和容器—將 Docker Compose 文件轉(zhuǎn)換為 Kubernetes 資源

    你必須擁有一個(gè) Kubernetes 的集群,同時(shí)你必須配置 kubectl 命令行工具與你的集群通信。 建議在至少有兩個(gè)不作為控制平面主機(jī)的節(jié)點(diǎn)的集群上運(yùn)行本教程。 我們有很多種方式安裝 Kompose。首選方式是從最新的 GitHub 發(fā)布頁(yè)面下載二進(jìn)制文件。 Kompose 通過(guò) GitHub?安裝 只需幾步,

    2024年02月12日
    瀏覽(57)
  • 容器化進(jìn)階Kubernetes(K8S)詳解

    容器化進(jìn)階Kubernetes(K8S)詳解

    1.1.1 Kubernetes是什么及作用 Kubernetes(K8S)是Google在2014年發(fā)布的一個(gè)開(kāi)源項(xiàng)目,用于自動(dòng)化容器化應(yīng)用程序的部署、擴(kuò)展和管理。 Kubernetes通常結(jié)合docker容器工作,并且整合多個(gè)運(yùn)行著docker容器的主機(jī)集群。 官網(wǎng)地址?Kubernetes 中文社區(qū) Kubernetes(k8s)中文文檔 目錄_Kubernetes中文社

    2024年02月05日
    瀏覽(35)
  • 【探索 Kubernetes|容器基礎(chǔ)進(jìn)階篇 系列 3】容器進(jìn)程的文件系統(tǒng)

    【探索 Kubernetes|容器基礎(chǔ)進(jìn)階篇 系列 3】容器進(jìn)程的文件系統(tǒng)

    【云原生-深入理解Kubernetes-1】容器的本質(zhì)是進(jìn)程 【云原生-深入理解Kubernetes-2】容器 Linux Cgroups 限制 大家好,我是秋意零。 ?? CSDN作者主頁(yè) ?? 博客主頁(yè) ?? 簡(jiǎn)介 ?? 普通本科生在讀 在校期間參與眾多計(jì)算機(jī)相關(guān)比賽,如:?? “省賽”、“國(guó)賽” ,斬獲多項(xiàng)獎(jiǎng)項(xiàng)榮譽(yù)證書(shū)

    2024年02月09日
    瀏覽(32)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包