[TOC]
## Kubernetes介紹
Kubernetes是一個開源的,用于管理云平臺中多個主機上的容器化的應用,Kubernetes的目標是讓部署容器化的應用簡單并且高效(powerful),Kubernetes提供了應用部署,規劃,更新,維護的一種機制。
Kubernetes一個核心的特點就是能夠自主的管理容器來保證云平臺中的容器按照用戶的期望狀態運行著,管理員可以加載一個微型服務,讓規劃器來找到合適的位置,同時,Kubernetes也系統提升工具以及人性化方面,讓用戶能夠方便的部署自己的應用。
Kubernetes主要能幫助我們完成:
- 服務發現和負載均衡
Kubernetes 可以使用 DNS 名稱或自己的 IP 地址公開容器,如果進入容器的流量很大, Kubernetes 可以負載均衡并分配網絡流量,從而使部署穩定。
- 存儲編排
Kubernetes 允許你自動掛載你選擇的存儲系統,比如本地存儲,類似Docker的數據卷。
- 自動部署和回滾
你可以使用 Kubernetes 描述已部署容器的所需狀態,它可以以受控的速率將實際狀態 更改為期望狀態。Kubernetes 會自動幫你根據情況部署創建新容器,并刪除現有容器給新容器提供資源。
- 自動完成裝箱計算
Kubernetes 允許你設置每個容器的資源,比如CPU和內存。
- 自我修復
Kubernetes 重新啟動失敗的容器、替換容器、殺死不響應用戶定義的容器,并運行狀況檢查的容器。
- 秘鑰與配置管理
Kubernetes 允許你存儲和管理敏感信息,例如密碼、OAuth 令牌和 ssh 密鑰。你可以在不重建容器鏡像的情況下部署和更新密鑰和應用程序配置,也無需在堆棧配置中暴露密鑰。
## Kubernetes架構
Kubernetes 搭建需要至少兩個節點,一個Master負責管理,一個Slave搭建在工作服務器上負責分配。
| kubernetes架構 |
| :----------------------------------------------------------: |
|  |
從圖中可以看到各個組件的基本功能:
- API Server:作為K8s通訊的核心組件,K8s內部交互以及接收發送指令的組件。
- controller-manager:作為K8s的核心組件,主要做資源調度,根據集群情況分配資源
- etcd:一個key-value的數據庫,存儲存儲集群的狀態信息
- scheduler:負責調度每個工作節點
- cloud-controller-manager:負責調度其他云服務產品
- kubelet:管理Pods上面的容器。
- kube-proxy:負責處理其他Slave或客戶端的請求。
- Pod:可以簡單理解為就是k8s上運行的容器
- DevOps介紹
- 持續集成流程
- git工作流實踐
- 新人準備git環境
- git工作流最佳實踐
- jenkins基礎入門
- jenkins簡介
- jenkins安裝(docker)
- 源碼拉取
- maven構建
- 應用發布
- 結合gitlab版本管理
- jenkins-docker部署
- harbor鏡像發布
- jenkins集成SonarQube
- SonarQube代碼檢測
- 集成SonarQube
- jenkins-pipeline
- 構建pipeline任務
- pipeline基礎結構
- pipeline核心語法
- jenkinsfile構建
- 完整案例
- 整合釘釘發送通知
- 腳本使用憑證信息
- jenkins結合k8s使用
- k8s架構及基礎概念
- k8s操作命令
- jenkins部署k8s
- 附錄(其他未完成)
- jenkins高可用服務搭建
- gitlab-docker環境搭建
- 開發人員安裝git
- JDK與maven
- docker安裝gitlab
- docker安裝
- docker-compose安裝
- harbor安裝
- SonarQube安裝
- 2.暫時沒寫的內容
- 構建結果郵件發送
- 已有項目上傳gitlab