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

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

這篇具有很好參考價值的文章主要介紹了k8s(Kubernetes)中yaml文件快速閱讀理解。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

簡言


????????k8s yaml中文件內(nèi)容一般有kind類型之分,每種類型有不同的功能(一般用---符號隔開)

k8s(Kubernetes)中yaml文件快速閱讀理解,云原生,kubernetes,容器,云原生

常見的kind類型:

????????(1)Endpoints:Endpoints可以把外部的鏈接到k8s系統(tǒng)中(可以理解為引用外部資源,如將一個外部mysql連接到k8s中)

????????(2)Service:部署一個內(nèi)部虛擬IP,其他deployment可以鏈接。(可以簡單理解為K8S的端口映射,如外部3444端口映射到pod應(yīng)用中80端口)

????????(3)Secrets:用于存儲和管理一些敏感數(shù)據(jù),比如密碼,token,密鑰等敏感信息。(可以理解為ssh中的密鑰)

????????(4)Deployment:部署一個Pod,內(nèi)部只能鏈接service,無法互相鏈接。(可以簡單理解為一個pod應(yīng)用的部署工具,即使部署的應(yīng)用掛了還能重啟,但只能鏈接service服務(wù))

備注:

(1)metadata一般每個類型中會帶有metadata.name即表示該類型生成的名字,如

1? ? metadata:

2? ? ? ? ?name: suncat

(2)spec,資源詳細定義,后面一般會帶有該類型的詳細信息。

如Service類型中定義接口的信息

1? ?spec:

2? ? ? ?ports:

3? ? ? ? ???- port: 3306

4? ? ? ? ? ? ? ? targetPort: 3306

5? ? ? ? ? ? ? ? ?protocol: TCP

6? ? ? ? ? ? ? ? ?name: http

下面分別對下面幾種kind類型來進行講解:

一、Endpoints


先來看個需求:

????????我有個一個外部的mysql,不是使用本機的k8s部署的。但是現(xiàn)在我的應(yīng)用程序想用它。那這時候,我改怎么使用它呢?畢竟k8s中的pod大部分只能通過service來鏈接。

這時候Endpoints就出現(xiàn)了,他是可以把外部的鏈接到k8s系統(tǒng)中,如:

k8s(Kubernetes)中yaml文件快速閱讀理解,云原生,kubernetes,容器,云原生

? ? ? ? (1)首先我們看到,我們定義了名為suncat-endpoints的Endpoints,同時往suncat-endpoints配置了代理IP以及服務(wù)的端口。

? ? ? ? (2)接著我們看下一個,以---分隔符隔開的另一個類型Service,定義了一個名為suncat-endpoints的Service,同時往該Service中配置內(nèi)部端口映射到Pod暴露出的端口port: 3306,以及對外暴露的端口號targetPort: 3306

? ? ? ? 總結(jié):通過配置Endpoints以及Service,Endpoints將k8s的端口鏈接到外部mysql端口,而Service將k8s中內(nèi)部的端口映射到k8s端口,以此就完成了pod應(yīng)用訪問外部鏈接。

二、Service


先來看個需求:

????????我們K8S里啟動了一個pod應(yīng)用,并里面運行了端口為8848的前端頁面。這時候,我外部怎么訪問K8S內(nèi)部pod應(yīng)用這個端口為8848的前端頁面?

????????這時候就需要定義Service類型了,使pod應(yīng)用端口8848映射到K8S特定端口中,外部應(yīng)用訪問K8S特定端口即可訪問前端頁面

樣例:

k8s(Kubernetes)中yaml文件快速閱讀理解,云原生,kubernetes,容器,云原生

????????首先我們看到,定義了一個名為suncat-service的Service類型,他的職責時將port: 8848端口映射到nodePort: 38011對外暴露端口,并且他的管理的對應(yīng)的應(yīng)用時suncat-app應(yīng)用

????????也就是說,將pod應(yīng)用名為suncat-app中端口為8848的端口映射到對外暴露端口38011,只要外部服務(wù)訪問該服務(wù)器IP:38011,即可區(qū)訪問k8s中suncat-app應(yīng)用的8848端口

三、Secrets

????????這個類型比較有意思,更多是用作于類似密鑰的形式。

????????(估計是不想明文記錄賬號密碼等信息,但大部分加密都是Base64加密。所以說,我覺得有點像是防君子不防小人)

Secret有三種類型:

(1)Opaque:

????????????????base64 編碼格式的 Secret,用來存儲密碼、密鑰等;但數(shù)據(jù)也可以通過base64 –decode解碼得到原始數(shù)據(jù),所有加密性很弱。

(2)Service Account:

????????用來訪問Kubernetes API,由Kubernetes自動創(chuàng)建,并且會自動掛載到Pod的的/run/secrets/kubernetes.io/serviceaccount 目錄中。

(3)kubernetes.io/dockerconfigjson :

????????用來存儲私有docker registry的認證信息。

下面分別講解一下:

Opaque:這種一般是加密一些賬號密碼,然后作為環(huán)境變量中使用

例子:

k8s(Kubernetes)中yaml文件快速閱讀理解,云原生,kubernetes,容器,云原生

????????首先我們看到,定義了一個名為suncat_secret_userinfo的Secret類型,屬于Secret下的Opaque種類,它所帶key-value鍵值數(shù)據(jù)有兩個分別是“name: c3VuY2F0”和“age: MjY=”。

????????可能這樣看有點不是很理解name是什么值、age是什么值,我們不妨將他們的值用Base64解密一下。

字段 原值 Base64解密后的值
name c3VuY2F0 suncat
age MjY= 26

????????可以看到”name“的值為“suncat”,“age”的值是“26”

創(chuàng)建的secret的使用方法有掛載和環(huán)境變量兩種,以下只介紹在環(huán)境變量中的使用方法:

k8s(Kubernetes)中yaml文件快速閱讀理解,云原生,kubernetes,容器,云原生

kubernetes.io/dockerconfigjson:一般是用來拉鏡像的密鑰。比如自己搭建的harbor,有些鏡像肯定不是公開的,是私密的。這時候拉取鏡像就需要密碼,需要密鑰。

例子:

k8s(Kubernetes)中yaml文件快速閱讀理解,云原生,kubernetes,容器,云原生

????????首先我們看到,定義了一個名為suncat-harbor-secret的Secret類型,屬于Secret下的kubernetes.io/dockerconfigjson種類,它所帶的dockerconfigjson數(shù)據(jù)是一個由base64加密的json數(shù)據(jù)

????????我們將

eyJhdXRocyI6eyIxOTIuMTY4LjAuMTo4MDkwIjp7InVzZXJuYW1lIjoic3VuY2F0IiwicGFzc3dvcmQiOiIxMjM0NTYiLCJhdXRoIjoiYzNWdVkyRjBPakV5TXpRMU5nPT0ifX19

????????進行base64解密:

{"auths":{"192.168.0.1:8090":{"username":"suncat","password":"123456","auth":"c3VuY2F0OjEyMzQ1Ng=="}}}

我們把格式弄得漂亮一點再看看

k8s(Kubernetes)中yaml文件快速閱讀理解,云原生,kubernetes,容器,云原生

????????我們可以看出,這是一個驗證的信息,192.168.0.1:8090值的是harbor倉庫的地址,而username后的值“suncat”是登錄賬號,password后的值“123456”是登錄密碼

????????而auth后的值"c3VuY2F0OjEyMzQ1Ng=="則又是一個base64加密的值,它用于校驗。我們將其解密后得到suncat:123456,也就是賬號跟密碼

備注:

創(chuàng)建k8s集群的kubernetes.io/dockerconfigjson種類的secret

k8s(Kubernetes)中yaml文件快速閱讀理解,云原生,kubernetes,容器,云原生

四、Deployment


先來看一下需求:

????????我們希望在k8s上部署一個應(yīng)用,如果該應(yīng)用掛了還能重啟。如果單單創(chuàng)建一個pod類型是不夠的,應(yīng)為該pod應(yīng)用掛了,就不會重啟了。

????????如果創(chuàng)建一個Deployment類型,可以創(chuàng)建管理該pod應(yīng)用,掛了都會給你重啟。

k8s(Kubernetes)中yaml文件快速閱讀理解,云原生,kubernetes,容器,云原生

以上內(nèi)容有點多,我們慢慢講解:

????????(1)首先,我們定義了名為suncat-deployment的Deployment,并且該Deployment所管理的app應(yīng)用的標簽是suncat-app,副本數(shù)為1。

????????(2)然后在數(shù)據(jù)定義里定義了一個定義業(yè)務(wù)模板template??梢钥闯?,在業(yè)務(wù)模板里定義了一個名為suncat-app的pod應(yīng)用。

????????(3)同時該業(yè)務(wù)模板還定義了該suncat-app應(yīng)用的容器名,同樣也名為suncat-app,而該容器所拉取的鏡像來源于registry.k8s.suncat:4444/suncat/testapp:1.0。

????????這時候就會有人問,如果該拉取鏡像的地址是非公開的,需要密碼的。那該怎么辦呢?

????????還記得上面說到的類型Secrets下的kubernetes.io/dockerconfigjson種類么,這東西就是用來作密鑰拉鏡像的,只需要在imagePullSecrets下配置一個事先創(chuàng)建好的、名為suncat-harbor-secret的密鑰即可拉取鏡像

????????(4)就是配置一些該pod的端口為8848,拉取方式imagePullPolicy為Always總是拉取pull

????????(5)這個的話,就是配置該pod的正常請求cpu和內(nèi)存,以及最大限制的cpu和內(nèi)存。當然你不設(shè)置也所謂。

????????在該配置中,我設(shè)置該pod正常請求的cpu為0.5(半核)以及內(nèi)存為200M,最大限制的cpu為1核、以及內(nèi)存為400M

備注:

1、imagePullPolicy拉取方式參數(shù)詳情有哪些?

????????(1)Always:總是拉取pull

????????(2)IfNotPresent:默認值,本地有則使?本地鏡像,不拉取

????????(3)Never:只使?本地鏡像,從不拉取文章來源地址http://www.zghlxwxcb.cn/news/detail-833081.html

到了這里,關(guān)于k8s(Kubernetes)中yaml文件快速閱讀理解的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 人人都會Kubernetes(一):告別手寫K8s yaml,運維效率提升500%

    人人都會Kubernetes(一):告別手寫K8s yaml,運維效率提升500%

    隨著云計算的迅速發(fā)展,容器化技術(shù)已成為構(gòu)建和運行分布式應(yīng)用程序的關(guān)鍵。而Kubernetes作為容器編排領(lǐng)域的佼佼者,已經(jīng)成為了云原生應(yīng)用的標準。它不僅簡化了應(yīng)用程序的部署和管理,而且為開發(fā)者和運維人員提供了一套全面的工具集,從容器編排、自動擴縮容、服務(wù)發(fā)

    2024年01月22日
    瀏覽(22)
  • [ K8S ] yaml文件講解

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

    2024年02月13日
    瀏覽(114)
  • K8S---yaml文件詳解

    K8S---yaml文件詳解

    目錄 一、K8S支持的文件格式 1、yaml和json的主要區(qū)別 2、YAML語言格式 二、YAML 1、查看 API 資源版本標簽 2、編寫資源配置清單 2.1 編寫 nginx-test.yaml 資源配置清單 2.2 創(chuàng)建資源對象 2.3 查看創(chuàng)建的pod資源 3、創(chuàng)建service服務(wù)對外提供訪問并測試 3.1 編寫nginx-svc-test.yaml文件 3.2 創(chuàng)建資

    2024年02月12日
    瀏覽(87)
  • K8S:Yaml文件詳解

    K8S:Yaml文件詳解

    目錄 一.Yaml文件詳解 1.Yaml文件格式 2.YAML 語法格式 二.Yaml文件編寫及相關(guān)概念 1.查看 api 資源版本標簽 2.yaml編寫案例 (2)Deployment類型編寫nginx服務(wù) (3)k8s集群中的port介紹 (5)快速編寫yaml文件 (6)案例:自主式創(chuàng)建service并關(guān)聯(lián)上面的pod (7)Pod yaml文件詳解 (8)deploymen

    2024年02月08日
    瀏覽(91)
  • K8s中yaml文件詳解

    文章目錄 目錄 一、YAML基礎(chǔ) 二、說明 三、使用YAML創(chuàng)建Pod 附上一個具體的yaml解釋文件: YAML是專門用來寫配置文件的語言,非常簡潔和強大,使用比json更方便。它實質(zhì)上是一種通用的數(shù)據(jù)串行化格式。 YAML語法規(guī)則: 1.1 YAML Maps Map顧名思義指的是字典,即一個Key:Value 的鍵值

    2024年02月15日
    瀏覽(107)
  • K8S之yaml文件詳解

    K8S之yaml文件詳解

    文章目錄 一、概述 二、YAML文件優(yōu)點 三、YAML與 JSON 和 XML 的關(guān)系 四、YAML 文件的結(jié)構(gòu) 五、YAML 在 Kubernetes 中的使用 六、YAML文件模板生成/導(dǎo)出 一、概述? Kubernetes只支持YAML和JSON格式創(chuàng)建資源對象 JSON格式用于接口之間消息的傳遞,YAML格式用于配置和管理 YAML是專門用來寫配置

    2024年02月02日
    瀏覽(112)
  • k8s之YAML文件書寫秘笈

    k8s之YAML文件書寫秘笈

    ? ? ? ? ? ? ?在kubernetes的江湖里,一直流傳YAML的傳說,它是Yet Another Markup Language的英文縮寫,用來配置k8s里的各類資源.。通常,你可以選擇YAML或JSON來完成聲明式的配置文件,這種方式便于復(fù)用和保存,但命令式的方式有一定的局限性,僅有部分kubernetes資源可以使用命令

    2024年01月18日
    瀏覽(20)
  • K8S:Yaml文件詳解及編寫示例

    K8S:Yaml文件詳解及編寫示例

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

    2024年02月04日
    瀏覽(23)
  • K8S學(xué)習筆記-01(yaml文件編寫)

    原創(chuàng)文檔編寫不易,未經(jīng)許可請勿轉(zhuǎn)載。文檔中有疑問的可以郵件聯(lián)系我。 郵箱:yinwanit@163.com 記錄k8s中yaml文件編寫相關(guān)內(nèi)容。 k8s官網(wǎng)文檔庫:https://kubernetes.io/docs/home/ kubelet 命令參考:https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands k8s中yaml文件結(jié)尾需以.yml或.yaml結(jié)

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

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

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

    2024年02月12日
    瀏覽(94)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包