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

【云原生】Yaml文件詳解

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

一、YAML 語法格式

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

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

1.1查看 api 資源版本標(biāo)簽

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

1.2 寫一個(gè)yaml文件demo

mkdir /opt/demo
cd demo/

vim nginx-deployment.yaml
apiVersion: apps/v1		#指定api版本標(biāo)簽
kind: Deployment		#定義資源的類型/角色,deployment為副本控制器,此處資源類型可以是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
nginx-deployment-d55b94fd-29qk2   1/1     Running   0          7m9s   172.17.36.4   192.168.80.12   <none>
nginx-deployment-d55b94fd-9j42r   1/1     Running   0          7m9s   172.17.36.3   192.168.80.12   <none>
nginx-deployment-d55b94fd-ksl6l   1/1     Running   0          7m9s   172.17.26.3   192.168.80.11   <none>

//在瀏覽器輸入 nodeIP:nodePort 即可訪問
http://192.168.80.11:35680
http://192.168.80.12:35680

1.3 詳解k8s中的port

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

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

●targetPort
targetPort 是 Pod 的端口,從 port 或 nodePort 來的流量經(jīng)過 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

//寫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)多看別人(官方)寫的,能讀懂
(2)能照著現(xiàn)場(chǎng)的文件改著用
(3)遇到不懂的,善用kubectl
explain … 命令查文章來源地址http://www.zghlxwxcb.cn/news/detail-634076.html

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

本文來自互聯(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)文章

  • 【云原生-深入理解 Kubernetes 系列 3】深入理解容器進(jìn)程的文件系統(tǒng)

    【云原生-深入理解 Kubernetes 系列 3】深入理解容器進(jìn)程的文件系統(tǒng)

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

    2024年02月06日
    瀏覽(53)
  • Kubernetes yaml文件

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

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

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

    2024年02月13日
    瀏覽(14)
  • 【云原生】Kubernetes臨時(shí)容器

    特性狀態(tài): Kubernetes v1.25 [stable] 本頁面概述了臨時(shí)容器:一種特殊的容器,該容器在現(xiàn)有 Pod 中臨時(shí)運(yùn)行,以便完成用戶發(fā)起的操作,例如故障排查。 你會(huì)使用臨時(shí)容器來檢查服務(wù),而不是用它來構(gòu)建應(yīng)用程序 Pod 是 Kubernetes 應(yīng)用程序的基本構(gòu)建塊。 由于 Pod 是一次性且可替

    2024年02月15日
    瀏覽(57)
  • 【云原生】容器編排工具Kubernetes

    【云原生】容器編排工具Kubernetes

    目錄 一、 K8S介紹 官網(wǎng)地址: 1.1docker編排與k8s編排相比 1.2特性 1.3功能 二、K8S重要組件 2.1核心組件 (1)Kube-apiserver (2)Kube-controller-manager (3)Kube-scheduler (4)Node ①kubelet ②kube-proxy ③docker (5)etcd 2.2Kubernetes工作原理 三、Pod 3.1 Pod控制器 (1)Deployment (2)ReplicaSet (3)

    2024年02月09日
    瀏覽(32)
  • 【云原生】Kubernetes容器編排工具

    【云原生】Kubernetes容器編排工具

    目錄 1. K8S介紹 1.1 k8s的由來 下載地址 1.2 docker編排與k8s編排相比 1.3 傳統(tǒng)后端部署與k8s 的對(duì)比 傳統(tǒng)部署 k8s部署? ?2. k8s的集群架構(gòu)與組件 (1) Kube-apiserver (2)Kube-controller-manager? (3)Kube-scheduler?? 2.2?k8s的配置存儲(chǔ)中心 2.3? k8s的Node 組件? ?(1)Kubelet? ?(2)Kube-Proxy?

    2024年02月10日
    瀏覽(23)
  • 云原生、容器化、Kubernetes、微服務(wù)

    作者:禪與計(jì)算機(jī)程序設(shè)計(jì)藝術(shù) 云原生(Cloud Native)是一個(gè)開放且社區(qū)驅(qū)動(dòng)的項(xiàng)目,它定義了一組架構(gòu)原則、最佳實(shí)踐和工具集,這些原則、實(shí)踐和工具圍繞業(yè)務(wù)需求和工程實(shí)踐而設(shè)計(jì),可用于開發(fā)人員在構(gòu)建和運(yùn)行分布式系統(tǒng)時(shí)更加順暢地交付可靠的軟件。云原生可以幫助

    2024年02月07日
    瀏覽(28)
  • 【云原生】kubernetes中容器的資源限制

    【云原生】kubernetes中容器的資源限制

    目錄 1 metrics-server 2 指定內(nèi)存請(qǐng)求和限制 3 指定 CPU 請(qǐng)求和限制 資源限制 在k8s中對(duì)于容器資源限制主要分為以下兩類: 內(nèi)存資源限制: 內(nèi)存 請(qǐng)求 (request)和內(nèi)存 限制 (limit)分配給一個(gè)容器。 我們保障容器擁有它請(qǐng)求數(shù)量的內(nèi)存,但不允許使用超過限制數(shù)量的內(nèi)存。 官網(wǎng)參

    2024年02月14日
    瀏覽(24)
  • 云原生Kubernetes:CRI 容器運(yùn)行時(shí)接口

    云原生Kubernetes:CRI 容器運(yùn)行時(shí)接口

    目錄 一、理論 1.?CRI 2.容器運(yùn)行時(shí)層級(jí) 3.容器運(yùn)行時(shí)比較 二、總結(jié) (1)概念 ? ? ? Kubernetes Node (kubelet) 的主要功能就是啟動(dòng)和停止容器的組件,我們 稱之為容器運(yùn)行時(shí)( Container Runtime) ,其中最知名的就是 Docker 。為了 更具擴(kuò)展性, Kubernetes 1.5 版本開始就加入了容器運(yùn)行

    2024年02月09日
    瀏覽(27)
  • 云原生(第四篇)-k8s yaml文件

    云原生(第四篇)-k8s yaml文件

    Kubernetes 支持 YAML 和 JSON 格式管理資源對(duì)象 JSON 格式:主要用于 api 接口之間消息的傳遞 YAML 格式:用于配置和管理,YAML 是一種簡(jiǎn)潔的非標(biāo)記性語言,內(nèi)容格式人性化,較易讀 YAML 語法格式: ●大小寫敏感 ●使用縮進(jìn)表示層級(jí)關(guān)系 ●不支持Tab鍵制表符縮進(jìn),只使用空格縮進(jìn)

    2024年02月12日
    瀏覽(95)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包