1. 程式人生 > 資料庫 >sqli-labs 通關指南:Less 38 ~ 41

sqli-labs 通關指南:Less 38 ~ 41

一.docker和kubernetes

Docker是一個開源的應用容器引擎,開發者可以打包他們的應用及依賴到一個可移植的容器中,釋出到流行的Linux機器上,也可實現虛擬化

docker-compose用來管理單機上編排管理容器(定義和管理多個容器) # 管理單機容器

Kubernetes是一個開源的容器叢集管理系統,可以實現容器叢集的自動化部署、自動擴縮容、維護等功能。

二.Kubernetes是什麼

  • Kubernetes是Google在2014年開源的一款容器集群系統,簡稱k8s
  • Kubernetes用於容器化應用程式部署、擴充套件和管理,目標是讓容器化應用簡單高效
  • 官方網站:https://kubernetes.io/
  • 官方文件:https://kubernetes.io/zh/docs/home/

三.Kubernetes叢集架構與元件

Master元件

  • apiserver

    Kubernetes API:叢集統一入口,各個元件的協調者,以RESTful API提供介面服務,所有物件資源的增刪改查和監聽操作都交給apiserver處理後再提交etcd儲存

  • controller-manager

    處理叢集中常規的後臺任務,一個資源對應一個控制器。而controller-manager就是負責管理這些控制器的

    維護叢集的狀態。比如故障檢測、自動擴充套件、滾動更新等

  • scheduler

    負責資源排程,按照預定的排程策略將Pod排程到相應Node上

  • etcd

    分散式鍵值儲存系統。用於儲存叢集狀態資料,比如Pod。Service等物件資訊

Node元件

  • kubelet

    kubelet是Master在Node節點上的Agent,管理本機執行容器的生命週期。比如建立容器、Pod掛載資料卷、下載secret、獲取容器和節點狀態等工作。kubelet將每個Pod轉換成一組容器

  • kube-proxy

    在Node節點或實現Pod網路代理,維護網路規則和四層負載均衡工作

  • docker或rocket

    容器引擎:執行容器

四.快速部署一個Kubernetes叢集

部署K8s叢集的兩種方式

  • kubeadm

    kubeadm是一個工具,提供kubeadm init 和kubeadm join,用於快速部署Kubernetes叢集

    官方地址:https://kubernetes.io/docs/reference/setup-tools/kubeadm/

  • 二進位制

    推薦,從官方下載發行版的二進位制包,手動部署每個元件,組成Kubernetes叢集  

    下載地址:https://github.com/kubernetes/kubernetes/releases

使用kubeadm快速部署一個Kubernetes叢集