日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
預(yù)提交Hooks的DevOps工程師要知道如何控制Kubernetes資源

審校 | 孫淑娟

專(zhuān)注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)延長(zhǎng)免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千余家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

一般來(lái)說(shuō),企業(yè)都希望在人力、基礎(chǔ)設(shè)施、流程等各個(gè)層面提高生產(chǎn)力。通常情況下,生產(chǎn)力是由增加自動(dòng)化流程來(lái)推動(dòng)和提高生產(chǎn)速度。這種自動(dòng)化需要對(duì)歷史上使用的概念進(jìn)行演變、調(diào)整甚至完全轉(zhuǎn)變。這其中包括安全策略的實(shí)施和控制。

事實(shí)上,自從基于敏捷性和靈活性的新工作方法(例如DevOps)出現(xiàn)以來(lái),一些安全概念不得不適應(yīng)基礎(chǔ)設(shè)施組件的開(kāi)發(fā)和管理步伐。如今,最佳安全實(shí)踐之一是在集成鏈中盡早移動(dòng)這些控制點(diǎn),以便盡快檢測(cè)到任何值得關(guān)注的異常情況。

為什么需要左移安全性?

“左移”這一術(shù)語(yǔ)是由DevSecOps方法引入的,旨在加強(qiáng)開(kāi)發(fā)、安全、運(yùn)營(yíng)團(tuán)隊(duì)之間的協(xié)作。其思想是通過(guò)將安全性和測(cè)試過(guò)程移到軟件開(kāi)發(fā)生命周期(SDLC)的傳統(tǒng)線(xiàn)性表示的左側(cè),從開(kāi)發(fā)周期的開(kāi)始就要保證應(yīng)用程序的安全性。

多年來(lái),這種方法被公認(rèn)為是最佳的開(kāi)發(fā)實(shí)踐,并且自從DevOps方法出現(xiàn)以來(lái),由于其使用和配置的簡(jiǎn)單性以及在復(fù)雜項(xiàng)目(例如基礎(chǔ)設(shè)施)上的團(tuán)隊(duì)協(xié)作方面的驚人優(yōu)勢(shì)而被廣泛使用Terraform、Ansible或Kubernetes進(jìn)行管理。

左移安全性:入門(mén)的最佳實(shí)踐

在YAML定義文件開(kāi)發(fā)級(jí)別以及在其內(nèi)容和配置級(jí)別強(qiáng)制使用標(biāo)準(zhǔn)有助于它們的閱讀、采用和維護(hù)——這是當(dāng)今任何項(xiàng)目都應(yīng)該尋求實(shí)現(xiàn)的三個(gè)概念。

將安全性左移的目的是設(shè)計(jì)具有集成安全最佳實(shí)踐的軟件,并在開(kāi)發(fā)過(guò)程中盡早檢測(cè)和解決潛在的安全問(wèn)題和漏洞。這使得解決安全問(wèn)題變得更容易、更快、更實(shí)惠。

如何左移

預(yù)提交(Pre-commit)是一個(gè)開(kāi)源命令行工具,它是工具集的一部分,用于通過(guò)在每次提交后添加自動(dòng)控制點(diǎn)來(lái)轉(zhuǎn)移某些安全方面。

這使得在集成管道中盡早檢測(cè)和控制任何異常,并在其投入生產(chǎn)之前進(jìn)行糾正成為可能。

為此,需要三個(gè)實(shí)施步驟:

  • 必須在機(jī)器上安裝預(yù)提交。
  • 必須在Git項(xiàng)目的根目錄下創(chuàng)建一個(gè)名為“.pre-commit-config.yaml”的配置文件,并使用鉤子(Hooks)進(jìn)行配置。
  • Git項(xiàng)目需要在本地配置,以便在每次提交時(shí)自動(dòng)執(zhí)行命令。

重要注意事項(xiàng)

人們可能在以上內(nèi)容已經(jīng)了解到,預(yù)提交(Pre-commit)命令和Git項(xiàng)目必須在本地配置為自動(dòng)運(yùn)行。這并不是可以從遠(yuǎn)程源控制器強(qiáng)制執(zhí)行的配置。這需要在啟動(dòng)階段進(jìn)行項(xiàng)目配置步驟,以確保其應(yīng)用。因此,需要文件來(lái)傳播信息并確保其采用。

然而根據(jù)場(chǎng)景,可以通過(guò)開(kāi)發(fā)環(huán)境配置腳本(在本例中為所有團(tuán)隊(duì)成員的筆記本電腦)來(lái)自動(dòng)化其使用,甚至可以創(chuàng)建、共享和鼓勵(lì)團(tuán)隊(duì)使用公共容器鏡像必要的開(kāi)發(fā)工具。這種做法有很多優(yōu)點(diǎn)——特別是在新人的入職方面,因?yàn)樗畲笙薅鹊販p少了配置開(kāi)發(fā)環(huán)境所需的操作。

但是,如果這不適用或看起來(lái)太復(fù)雜,則始終可以將這些控件進(jìn)一步向下移動(dòng)到集成鏈中,從而在部署之前自動(dòng)使用它們。

可以使用哪些Hooks來(lái)控制Kubernetes資源?

以下列出了一組免費(fèi)的Hooks,可以通過(guò)Pre-commit輕松安裝和使用。這個(gè)列表顯然可以根據(jù)場(chǎng)景由其他Hooks補(bǔ)充。為了便于閱讀,可以將列表縮減為Kubernetes生態(tài)系統(tǒng)。

以下是用于在集成管道中盡快檢查Kubernetes資源的開(kāi)發(fā)和維護(hù)的預(yù)提交(Pre-commit)擴(kuò)展列表:

  • Check-merge-conflict:在提交任何內(nèi)容之前檢查合并沖突。
  • 拖尾空白:以清除無(wú)用空白中的代碼。
  • Checkov:根據(jù)最佳開(kāi)發(fā)實(shí)踐和自定義規(guī)則檢查Kubernetes定義文件的合規(guī)性。
  • K8svalidate:根據(jù)使用的Kubernetes版本檢查Kubernetes定義文件的合規(guī)性。
  • Detect-secrets:可檢測(cè)任何敏感數(shù)據(jù),并避免將其存儲(chǔ)在代碼中。

大多數(shù)這些Hooks也適用于其他場(chǎng)景。根據(jù)項(xiàng)目的性質(zhì),可以添加其他幾個(gè)Hooks來(lái)控制文件的格式及其內(nèi)容。但是,需要保留一份簡(jiǎn)短的清單,以盡量減少這些對(duì)其工作效率的影響。

以下是一個(gè)Pre-commit配置文件,用于在Kubernetes項(xiàng)目中快速測(cè)試這些Hooks:

YAML

1 ---
2 repos:
3 - repo: https://github.com/adrienverge/yamllint.git
4 rev: v1.17.0
5 hooks:
6 - id: yamllint
7 args: [-c=.yamllint]
8 - repo: https://github.com/pre-commit/pre-commit-hooks
9 rev: v4.1.0
10 hooks:
11 - id: check-merge-conflict
12 - id: trailing-whitespace
13 - id: check-added-large-files
14 - id: end-of-file-fixer
15 - repo: https://github.com/bridgecrewio/checkov.git
16 rev: 2.0.975
17 hooks:
18 - id: checkov
19 args: [-d .]
20 - repo: https://github.com/Agilicus/pre-commit-hook-k8svalidate.git
21 rev: v0.0.8
22 hooks:
23 - id: k8svalidate
24 files: .yaml$
25 - repo: https://github.com/Yelp/detect-secrets
26 rev: v1.2.0
27 hooks:
28 - id: detect-secrets

復(fù)制此文件的內(nèi)容,并將其粘貼到項(xiàng)目根文件夾中名為“.pre-commit-config.yaml”的文件中。然后運(yùn)行pre-commit命令得到結(jié)果。

成功的預(yù)提交Hooks示例

下一步是什么?

本文列出了一組每天對(duì)管理一個(gè)或多個(gè)Kubernetes集群的人們有用的預(yù)提交Hooks。當(dāng)然,還有很多其他的Hook以適應(yīng)不同的環(huán)境。例如,DevOps工程師會(huì)對(duì)控制Prometheus配置甚至格式化規(guī)則或Vagrant文件控制等的擴(kuò)展感興趣。

而如今有必要衡量這些Hooks的積累對(duì)人們的生產(chǎn)力及其收益的影響。

原文標(biāo)題:??Pre-Commit Hooks DevOps Engineer Should Know To Control Kubernetes??,作者:Nicolas Giron


文章名稱(chēng):預(yù)提交Hooks的DevOps工程師要知道如何控制Kubernetes資源
網(wǎng)頁(yè)路徑:http://www.5511xx.com/article/cdiieeo.html