预购商品
书目分类
特别推荐
本書提供了通過GitOps使用Kubernetes的實用教程,內容涵蓋GitOps的實踐、技術和工具,它們可以簡化Kubernetes來更快地交付企業級軟體,而不影響安全性。通過閱讀本書,你將瞭解GitOps在靈活的配置管理、監控、健壯性、多環境支持和安全性等方面的好處,並掌握以獨特的GitOps方式進行管理的技巧。學完本書,你將能夠實現和管理一個可伸縮的持續交付管道,這使得跟蹤更改、回滾錯誤以及清晰地驗證和審計容器部署變得容易。
推薦序 前言 致謝 關於作者 第一部分 背景 第1章 為什麼需要GitOps2 1.1GitOps的演進2 1.1.1傳統Ops3 1.1.2DevOps4 1.1.3GitOps5 1.2GitOps帶給開發者的好處7 1.2.1基礎設施即代碼7 1.2.2自服務8 1.2.3代碼審查9 1.2.4Git拉取請求9 1.3GitOps帶給運維的好處10 1.3.1聲明式10 1.3.2可觀測性12 1.3.3可審計性和合規性13 1.3.4災難恢復15 1.4總結15 第2章 Kubernetes與GitOps17 2.1Kubernetes介紹17 2.1.1Kubernetes是什麼18 2.1.2其他容器編排系統19 2.1.3Kubernetes架構19 2.1.4部署應用到Kubernetes21 2.2聲明式物件管理與命令式 物件管理26 2.3控制器架構32 2.3.1控制器委派32 2.3.2控制器模式32 2.3.3NGINXOperator34 2.4Kubernetes和GitOps的關係38 2.5CI/CD入門38 2.5.1基本的GitOpsOperator38 2.5.2持續集成流水線41 2.6總結44 第二部分 模式和流程 第3章 環境管理48 3.1環境管理簡介48 3.1.1環境的組成49 3.1.2命名空間管理51 3.1.3網路隔離55 3.1.4非生產集群和生產集群58 3.2Git策略59 3.2.1單分支(多目錄)60 3.2.2多分支60 3.2.3多代碼庫與單一代碼庫61 3.3配置管理61 3.3.1Helm62 3.3.2Kustomize65 3.3.3Jsonnet69 3.3.4小結72 3.4持久環境與臨時環境73 3.5總結73 第4章 流水線75 4.1CI/CD流水線中的階段75 4.1.1GitOps持續集成76 4.1.2GitOps持續交付82 4.2推動晉級工作86 4.2.1代碼、清單和應用配置86 4.2.2代碼和鏡像晉級86 4.2.3環境晉級88 4.2.4匯總89 4.3其他流水線90 4.3.1回滾91 4.3.2合規流水線93 4.4總結95 第5章 部署策略96 5.1Deployment基礎知識96 5.1.1為什麼ReplicaSet不適合 GitOps97 5.1.2Deployment如何與ReplicaSet 一起工作100 5.1.3流量路由107 5.1.4在minikube中配置其他 策略108 5.2藍綠部署109 5.2.1使用Deployment實現藍綠 部署109 5.2.2使用ArgoRollouts實現藍綠 部署115 5.3金絲雀部署119 5.3.1使用Deployment實現 金絲雀部署120 5.3.2使用ArgoRollouts實現 金絲雀部署124 5.4漸進式交付125 5.5總結132 第6章 存取控制與安全133 6.1存取控制介紹133 6.1.1什麼是存取控制134 6.1.2確保什麼134 6.1.3GitOps的存取控制137 6.2訪問139 6.2.1Git倉庫訪問139 6.2.2KubernetesRBAC146 6.2.3鏡像倉庫訪問151 6.3模式153 6.3.1接近訪問153 6.3.2部署倉庫訪問153 6.3.3僅限代碼訪問155 6.4安全考量155 6.4.1防止從不受信任的鏡像倉庫 拉取鏡像155 6.4.2Git倉庫中的集群級資源156 6.5總結156 第7章 Secret158 7.1KubernetesSecret158 7.1.1為什麼使用Secret159 7.1.2如何使用Secret159 7.2GitOps與Secret162 7.2.1不加密162 7.2.2分散式Git倉庫162 7.2.3沒有細細微性的(檔級) 存取控制162 7.2.4不安全的存儲163 7.2.5完整的提交歷史163 7.3Secret管理策略163 7.3.1在Git中存儲Secret163 7.3.2燒制Secret到容器鏡像163 7.3.3帶外管理165 7.3.4外部機密管理系統165 7.3.5在Git中加密Secret166 7.3.6策略的對比167 7.4工具168 7.4.1HashiCorpVault168 7.4.2VaultAgentSidecarInjector171 7.4.3SealedSecrets175 7.4.4KustomizeSecretgenerator 外掛程式179 7.5總結182 第8章 可觀測性183 8.1什麼是可觀測性184 8.1.1事件日誌184 8.1.2度量指標188 8.1.3追蹤190 8.1.4視覺化195 8.1.5GitOps中可觀測性的 重要性197 8.2應用程式健康狀況197 8.2.1資源狀況198 8.2.2就緒探針和存活探針202 8.2.3應用程式監控和告警203 8.3GitOps的可觀測性204 8.3.1GitOps度量指標204 8.3.2應用程式同步狀態205 8.3.3配置漂移209 8.3.4GitOps變更日誌210 8.4總結213 第三部分 工具 第9章 ArgoCD216 9.1ArgoCD是什麼216
客服公告
热门活动
订阅电子报