docker 實踐(十二)k8s 初體驗

一、體驗k8s

官網地址:https://kubernetes.io/docs/tutorials/hello-minikube/


1.1.啓動

minikube start

查看信息:

kubectl cluster-info

1116.png

kubectl get nodes

1115.png


1.2.部署應用

kubectl run kubernetes-bootcamp \
--image=docker.io/jocatalin/kubernetes-bootcamp:v1 \
--port=8080

1111.png


查看當前的 Pod:

1112.png

1.3.端口映射訪問

kubectl expose deployment/kubernetes-bootcamp \
--type="NodePort" \
--port 8080

1113.png


查看端口映射:

kubectl get services

1114.png

訪問應用:

curl minikube:31584

1117.png


2.scale應用

默認只會運行一個副本,可以通過scale來設置數量

2.1.查看當前副本

kubectl get deployments

1118.png


2.2.增加副本爲3:

kubectl scale deployments/kubernetes-bootcamp --replicas=3

1119.png


kubectl get deployments

1120.png


查看當前pods數:

kubectl get pods

1121.png


訪問應用可以看到被不同的pod接受:

1122.png


減少副本:

kubectl scale deployments/kubernetes-bootcamp --replicas=2

1123.png


有一個副本正在終止,過一段時間就會被回收

1124.png

3.更新

3.1.將image從v1升級到v2

kubectl set image deployments/kubernetes-bootcamp kubernetes-bootcamp=jocatalin/kubernetes-bootcamp:v2

1125.png


v1版本的pod逐個被刪除:

1126.png


訪問應用查看版本:

1127.png


二、Kubernetes的概念簡單說明

Cluster: 是存儲網絡資源集合

Master: 調度應用,可以部署多個

Node: 運行容器應用,由master管理

Pod:包含一個或多個容器,可以被整體調度到一個Node上,抽象的一個單元集合。

Controller: Kubernetes 通過Controller 來管理Pod。常用的Controller如: Deployment、ReplicaSet、DaemonSet、StatefuleSet、Job 等

Deployment :創建 Deployment 來部署應用,可以管理 Pod 的多個副本。

ReplicaSet :實現Pod 的多副本管理。

DaemonSet :用於每個 Node 最多隻運行一個 Pod 副本的場景。

StatefuleSet:保證 Pod 的每個副本在整個生命週期中名稱是不變。

Job :用於運行結束就刪除的應用。

Service:  定義了外界訪問一組特定 Pod 的方式。

Namespace: 可以將一個物理的 Cluster 邏輯上劃分成多個虛擬 Cluster。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章