色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

探討使用YAML文件定義Kubernetes應用程序

馬哥Linux運維 ? 來源:CSDN ? 2023-04-20 10:03 ? 次閱讀

Kubernetes已經占據如何管理集容器化應用程序的核心位置。因此,存在許多定義Kubernetes應用程序的約定文件格式,包括YAML、JSON、INI等。 這使得我們需要考慮應用程序的最佳策略是什么。此外,我們還必須考慮如何根據所選擇的文件結構(特別是安全性)路徑來驗證應用程序配置。 本文,我們將探討使用YAML文件定義Kubernetes應用程序,以及可以采取的各種步驟來有效地驗證這些配置定義。

Yaml定義K8s配置

與JSON和INI相比,YAML更加緊湊和可讀。例如,如果我們要定義一個可以在端口80上可達的pod,那么YAML、JSON和INI中的配置將如下表所示。

17ad738c-df08-11ed-bfe3-dac502259ad0.png

很明顯,YAML簡化了我們定義Kubernetes應用程序的方式,特別是考慮到一個普通應用程序可能涉及幾十個配置文件。此外,YAML的緊湊特性允許您將對象分組在一起,從而減少所需的文件數量。 然而,在定義Kubernetes配置文件時存在重大挑戰,特別是在嵌入manifest文件之間的約束和關系時。

例如,我們如何確保按照最佳實踐配置內存限制? 在滿足邊界情況時,缺乏驗證不僅會導致應用程序出現意外行為,而且還會暴露出主要的安全漏洞。因此,我們有必要考慮基于yaml配置文件的驗證策略,這就是我們將在下面幾節中深入研究的內容。 驗證內容 應該對YAML文件執行三個級別的驗證。這些級別確保根據YAML文件的實際有效性執行驗證,直到是否滿足安全實踐。

第一級別是結構驗證,這是在Kubernetes配置文件上執行的基礎級別驗證。它只需要驗證YAML文件,以確保沒有語法錯誤。這一點可以在編寫配置文件時由IDE進行驗證。

第二層是語義驗證。這確保YAML文件的內容轉換為所需的Kubernetes資源,從而驗證Kubernetes應用程序本身。

最后,第三層也是最深層的驗證是安全驗證,以確保所定義的Kubernetes應用程序不存在任何漏洞。我們可能已經成功地編寫了YAML配置,也成功地實現了所需的Kubernetes資源和連接,但這并不能確保我們的Kubernetes應用程序是很安全的,并遵循最佳實踐。

最后兩個驗證都是Kubernetes配置驗證,而且不僅僅是在YAML格式驗證方面。因為和應用程序相關,需要特殊驗證。執行這種驗證需要Kubernetes領域的深入和專業知識,我們將簡要介紹如何使用Kubernetes領域專家開發的工具輕松處理它們。

例如,鎖定hostPath掛載權限可以確保具有可寫hostPath卷的集群中的容器不會被攻擊者訪問,因為他們可能會獲得底層主機上的持久性。這不符合安全最佳實踐,為了避免這個問題,我們應該始終確保hostPath屬性下的readOnly部分設置為true。 另一個例子是只在必要時才授予pods 主機網絡訪問權。所有有權限的pod應該被列入白名單。對主機網絡的不必要訪問增加了潛在的攻擊范圍。

因此,從上面的兩個例子可以看出,即使我們的配置文件通過了結構和語義驗證,導致我們的Kubernetes資源被成功編排,安全和功能漏洞可能仍然存在。因此,我們必須考慮如何最好地捕獲這些漏洞,然后在生產環境中提醒存在對后果。安全驗證是實現此目的的方法。

校驗Yaml的最佳實踐

考慮到結構驗證相當簡單,通常編程使用的IDE就集成了該功能。Kubernetes語義和安全驗證需要特殊處理,特別是在策略和工具方面。 我們考慮一些最佳實踐和策略,以實現YAML文件的全面驗證。 您可以執行一個試運行(kubectl apply -f - -dry-run='server ")來驗證語義結構,但這仍然是一個額外的步驟,可能會降低總體速度。

但是,試運行要求您能夠訪問Kubernetes集群。 這種方法的另一種選擇是Kubeval,這是一個實用工具,可以用來驗證配置文件語義,以確保它們滿足Kubernetes的對象定義需求。它可以是CI過程的一部分,并在本地執行掃描,從而確保在投入生產環境之前從語義上驗證配置文件。 還可以使用kuscape在CI中實現安全驗證。這是一個開源工具,確保您的Kubernetes應用程序定義遵循多種安全框架,如NSA-CISA或MITRE ATT&CK。通過使用kuscape CLI,您可以掃描所有YAML文件的安全漏洞,甚至獲得風險評分和風險趨勢。它充當YAML驗證器,其主要價值是安全驗證。

從DevOps到DevSecOps

你可以運行CI流水線中已經討論過的工具的組合,以實現結構、語義和安全驗證。然而,僅僅利用這些工具及其預定義的檢查是不夠的。 我們從DevOps中學到的一件事是,總是有一個可以采用的改進循環。這就是為什么隨著應用程序的發展和安全性需求的變化,你應該不斷地檢查安全性控制。 新的安全控件應該合并到安全驗證步驟中。kuscape是AMRO開發的開源平臺,它允許你定義自己的控件框架。盡管開箱即用的框架很健壯,但需要根據業務和Kubernetes資源的具體需求形成策略控制。

只有將安全檢驗嵌入到構建應用程序中,才能實現這種最佳實踐。多虧了像Kubeval和kuscape這樣的開源工具,開發團隊不斷考慮驗證,特別是安全驗證的障礙已經降低了。

總結

YAML配置文件使得構建Kubernetes應用程序非常簡單。然而,YAML在驗證方面確實有其局限性。因此,我們有必要了解所有驗證策略,以確保構建的Kubernetes應用程序是健康和安全的。 在任何IDE中使用YAML測試驗證YAML文件的結構都是相當簡單的,但是驗證Kubernetes資源對象定義的正確性以及圍繞它們的安全措施是很困難的。幸運的是,像kuscape這樣的工具彌補了這一差距,在整個應用程序生命周期中不斷考慮安全性。 由于安全性是構建容器應用程序的主要關注點之一,這里討論的驗證策略是朝著正確方向邁出的一步。





審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • JSON
    +關注

    關注

    0

    文章

    117

    瀏覽量

    6963
  • YAML
    +關注

    關注

    0

    文章

    21

    瀏覽量

    2322

原文標題:如何校驗K8S Yaml文件

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    如何使用Kubernetes實現零停機應用程序

    費力(實現 VRRP 解決方案、使用 monit 之類的應用程序監控重啟、負載均衡 haproxy 之類的)!
    的頭像 發表于 09-01 10:04 ?755次閱讀
    如何使用<b class='flag-5'>Kubernetes</b>實現零停機<b class='flag-5'>應用程序</b>

    Kubernetes之路 2 - 利用LXCFS提升容器資源可見性

    節點上安裝并啟動lxcfs,我們將用Kubernetes的方式,用利用容器和DaemonSet方式來運行 lxcfs FUSE文件系統。本文所有示例代碼可以通過以下地址從Github上獲得git
    發表于 04-17 14:05

    如何將udev規則和/或netplan config.yaml文件添加到Ubuntu devel rfs?

    ,或者我們是否需要按照“如何在 Flexbuid 中添加新的應用程序組件”來將文件復制到適當的位置,例如 /etc/netplan ?
    發表于 03-24 07:15

    xml和YAML文件的寫入_OpenCV3編程入門

    《OpenCV3編程入門》書本配套源代碼:xml和YAML文件的寫入
    發表于 06-06 15:20 ?6次下載

    xml和YAML文件的讀取_源代碼

    《OpenCV3編程入門》書本配套源代碼:xml和YAML文件的讀取
    發表于 06-06 15:20 ?6次下載

    OpenCV3編程入門-源碼例程全集-xml和YAML文件的寫入

    OpenCV3編程入門-源碼例程全集-xml和YAML文件的寫入
    發表于 09-18 16:38 ?0次下載

    怎么樣去開發自定義應用程序

    Atmel小貼士 如何開發自定義應用程序
    的頭像 發表于 07-11 00:05 ?2358次閱讀

    MIDI文件解析應用程序免費下載

    本文檔的主要內容詳細介紹的是MIDI文件解析應用程序免費下載,解析單音軌的MIDI二進制文件,獲取每個音符。
    發表于 05-24 08:00 ?9次下載
    MIDI<b class='flag-5'>文件</b>解析<b class='flag-5'>應用程序</b>免費下載

    首次部署 Kubernetes 應用程序需注意的“陷阱”

    根據我的個人經驗,大多數人似乎傾向于通過 Helm 或者手動方式將應用程序甩給 Kubernetes,之后就坐等每天輕松調用的美好生活。但在 GumGum 公司的實踐當中,我們體會到
    的頭像 發表于 10-08 14:43 ?1750次閱讀
    首次部署 <b class='flag-5'>Kubernetes</b> <b class='flag-5'>應用程序</b>需注意的“陷阱”

    新版本Portworx PX-Backup助力Kubernetes有狀態應用程序實現跨云數據保護與遷移

    最新Portworx調查顯示數據流動性和數據保護為Kubernetes有狀態應用程序管理的最大挑戰。
    的頭像 發表于 11-10 15:06 ?3735次閱讀
    新版本Portworx PX-Backup助力<b class='flag-5'>Kubernetes</b>有狀態<b class='flag-5'>應用程序</b>實現跨云數據保護與遷移

    KUBERNETES開源平臺的定義、工作原理及重要意義

    Kubernetes 是一個開源平臺,用于自動進行容器編排,即容器化應用程序的部署、擴展和管理。
    的頭像 發表于 06-10 12:00 ?1711次閱讀

    Kubernetes網絡模型的基礎知識

    Kubernetes 是為運行分布式集群而建立的,分布式系統的本質使得網絡成為 Kubernetes 的核心和必要組成部分,了解 Kubernetes 網絡模型可以使你能夠正確運行、監控和排查
    的頭像 發表于 07-20 09:46 ?1205次閱讀

    邊緣計算如何重新定義 IIoT 應用程序

    邊緣計算如何重新定義 IIoT 應用程序
    的頭像 發表于 01-03 09:45 ?759次閱讀
    邊緣計算如何重新<b class='flag-5'>定義</b> IIoT <b class='flag-5'>應用程序</b>

    springboot的核心配置文件有哪些

    的工作量。 Spring Boot的核心配置文件主要有以下幾個: application.properties:Spring Boot應用程序的主要配置文件。它使用Java的鍵值對格式來定義
    的頭像 發表于 12-03 15:30 ?1164次閱讀

    使用Jenkins和單個模板部署多個Kubernetes組件

    YAML模板文件(.tpl)來部署多個類似的Kubernetes組件,而不需要為每個組件提供單獨的模板文件
    的頭像 發表于 01-02 11:40 ?760次閱讀
    使用Jenkins和單個模板部署多個<b class='flag-5'>Kubernetes</b>組件
    主站蜘蛛池模板: 国内精品伊人久久久久| 国产午夜免费不卡精品理论片| 高清欧美videos sexo| 国内精品久久久久影院网站| 美女视频黄色的| 午夜熟女插插XX免费视频| 中文字幕精品在线观看| 成人影院午夜久久影院| 久久精品电影院| 涩涩爱涩涩电影网站| 在线 日韩 欧美 国产 社区| 国产超嫩一线天在线播放| 老头扒开粉缝亲我下面| 亚洲.日韩.欧美另类| thermo脱色摇床安卓下载| 久久福利影院| 学生妹被爆插到高潮无遮挡| XXXchinese国产HD| 久久这里只精品国产99re66| 亚洲AV电影天堂男人的天堂| 敌伦小芳的第一次| 内射白浆一区二区在线观看| 玉娇龙续集春雪瓶txt免费阅读 | 成人在线免费视频观看| 蜜芽视频在线观看视频免费播放| 亚洲男人的天堂久久精品麻豆| 国产精品久久久久影院色老大| 青青久久国产| CHINA中国东北GURMA| 挠黑色超薄丝袜脚心vk40分钟| 2019中文字幕乱码免费| 久久精品日本免费线| 夜里18款禁用的免费B站动漫| 国产成人久久精品激情| 特黄特色大片免费播放器9 | 国产AV亚洲一区精午夜麻豆| 千禧金瓶梅快播| 北原夏美 快播| 日本孕妇大胆孕交| 刮伦人妇A极一片| 亚洲成人精品|