成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

預提交Hooks的DevOps工程師要知道如何控制Kubernetes資源

譯文
開發 前端
盡早把控源代碼的質量是一種很好的做法,因此人們需要了解如何將相同的原理應用于Kubernetes。

譯者 | 李睿

審校 | 孫淑娟

一般來說,企業都希望在人力、基礎設施、流程等各個層面提高生產力。通常情況下,生產力是由增加自動化流程來推動和提高生產速度。這種自動化需要對歷史上使用的概念進行演變、調整甚至完全轉變。這其中包括安全策略的實施和控制。

事實上,自從基于敏捷性和靈活性的新工作方法(例如DevOps)出現以來,一些安全概念不得不適應基礎設施組件的開發和管理步伐。如今,最佳安全實踐之一是在集成鏈中盡早移動這些控制點,以便盡快檢測到任何值得關注的異常情況。

為什么需要左移安全性?

“左移”這一術語是由DevSecOps方法引入的,旨在加強開發、安全、運營團隊之間的協作。其思想是通過將安全性和測試過程移到軟件開發生命周期(SDLC)的傳統線性表示的左側,從開發周期的開始就要保證應用程序的安全性。

多年來,這種方法被公認為是最佳的開發實踐,并且自從DevOps方法出現以來,由于其使用和配置的簡單性以及在復雜項目(例如基礎設施)上的團隊協作方面的驚人優勢而被廣泛使用Terraform、Ansible或Kubernetes進行管理。

左移安全性:入門的最佳實踐

在YAML定義文件開發級別以及在其內容和配置級別強制使用標準有助于它們的閱讀、采用和維護——這是當今任何項目都應該尋求實現的三個概念。

將安全性左移的目的是設計具有集成安全最佳實踐的軟件,并在開發過程中盡早檢測和解決潛在的安全問題和漏洞。這使得解決安全問題變得更容易、更快、更實惠。

如何左移

預提交(Pre-commit)是一個開源命令行工具,它是工具集的一部分,用于通過在每次提交后添加自動控制點來轉移某些安全方面。

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

為此,需要三個實施步驟:

  • 必須在機器上安裝預提交。
  • 必須在Git項目的根目錄下創建一個名為“.pre-commit-config.yaml”的配置文件,并使用鉤子(Hooks)進行配置。
  • Git項目需要在本地配置,以便在每次提交時自動執行命令。

重要注意事項

人們可能在以上內容已經了解到,預提交(Pre-commit)命令和Git項目必須在本地配置為自動運行。這并不是可以從遠程源控制器強制執行的配置。這需要在啟動階段進行項目配置步驟,以確保其應用。因此,需要文件來傳播信息并確保其采用。

然而根據場景,可以通過開發環境配置腳本(在本例中為所有團隊成員的筆記本電腦)來自動化其使用,甚至可以創建、共享和鼓勵團隊使用公共容器鏡像必要的開發工具。這種做法有很多優點——特別是在新人的入職方面,因為它最大限度地減少了配置開發環境所需的操作。

但是,如果這不適用或看起來太復雜,則始終可以將這些控件進一步向下移動到集成鏈中,從而在部署之前自動使用它們。

可以使用哪些Hooks來控制Kubernetes資源?

以下列出了一組免費的Hooks,可以通過Pre-commit輕松安裝和使用。這個列表顯然可以根據場景由其他Hooks補充。為了便于閱讀,可以將列表縮減為Kubernetes生態系統。

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

  • Check-merge-conflict:在提交任何內容之前檢查合并沖突。
  • 拖尾空白:以清除無用空白中的代碼。
  • Checkov:根據最佳開發實踐和自定義規則檢查Kubernetes定義文件的合規性。
  • K8svalidate:根據使用的Kubernetes版本檢查Kubernetes定義文件的合規性。
  • Detect-secrets:可檢測任何敏感數據,并避免將其存儲在代碼中。

大多數這些Hooks也適用于其他場景。根據項目的性質,可以添加其他幾個Hooks來控制文件的格式及其內容。但是,需要保留一份簡短的清單,以盡量減少這些對其工作效率的影響。

以下是一個Pre-commit配置文件,用于在Kubernetes項目中快速測試這些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

復制此文件的內容,并將其粘貼到項目根文件夾中名為“.pre-commit-config.yaml”的文件中。然后運行pre-commit命令得到結果。

成功的預提交Hooks示例

下一步是什么?

本文列出了一組每天對管理一個或多個Kubernetes集群的人們有用的預提交Hooks。當然,還有很多其他的Hook以適應不同的環境。例如,DevOps工程師會對控制Prometheus配置甚至格式化規則或Vagrant文件控制等的擴展感興趣。

而如今有必要衡量這些Hooks的積累對人們的生產力及其收益的影響。

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


責任編輯:華軒 來源: 51CTO
相關推薦

2018-04-04 09:35:01

前端JavaScript面試題

2020-09-29 13:10:28

DevOps自動化技能

2018-04-26 05:48:56

2023-12-28 17:50:00

前端開發

2018-03-20 13:04:55

GDPR數據科學數據保護

2020-05-21 08:47:11

工程師開發技術

2025-03-26 08:00:00

代碼Git鉤子

2021-07-29 11:14:03

DevOpsLinux工程師

2023-04-11 15:14:57

2023-07-12 16:03:13

Kubernetes開發容器

2025-05-07 08:45:00

CLI工具PlotDevOps

2015-08-17 09:27:51

全棧工程師Devops工具周期表

2020-12-02 09:54:01

DevOps運維工程師

2011-11-16 09:47:47

JavaScript

2023-08-21 19:24:34

DevOpsKubernetes性能

2024-03-05 11:30:00

Kubernetes管理前端

2019-01-28 06:13:11

數據工程師數據科學家數據分析

2020-05-07 10:14:00

企業架構師CIOIT網絡

2021-12-09 11:30:46

CSS技術前端

2018-03-02 09:10:51

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91在线综合 | 天堂国产 | 黄色亚洲网站 | 在线视频一区二区 | 国产精品夜间视频香蕉 | 久久91精品国产一区二区三区 | 日日艹夜夜艹 | 日韩av成人在线观看 | www.com久久久 | 色接久久| 男女视频免费 | 蜜桃特黄a∨片免费观看 | 久久手机在线视频 | 中文视频在线 | 可以在线看的黄色网址 | 91视频在线 | 精品乱码一区二区 | 久久精品网 | 久久精品国产亚洲 | 国产91九色| 欧洲成人免费视频 | 国产精品乱码一区二区三区 | 国产成人99久久亚洲综合精品 | 二区精品| 国产成人jvid在线播放 | 中国免费黄色片 | 在线看一区二区三区 | 国产资源网 | 久久久久国色av免费观看性色 | 91精品免费视频 | 久久久久久久久91 | 日朝毛片 | 精品国产青草久久久久福利 | 成人一区在线观看 | 紧缚调教一区二区三区视频 | 欧美在线亚洲 | 黄色成人在线观看 | 国产精品久久久久久久久免费 | 热99视频| 一区二区精品 | 国产一区亚洲 |