docker 实践(十二)ks8 初体验
一、体验k8s官网地址:https://kubernetes.io/docs/tutorials/hello-minikube/
1.1.启动
minikube start 查看信息:
kubectl cluster-infohttp://s1.运维网.com/images/20190116/1547618952803937.png
kubectl get nodeshttp://s1.运维网.com/images/20190116/1547618960960350.png
1.2.部署应用
kubectl run kubernetes-bootcamp \
--image=docker.io/jocatalin/kubernetes-bootcamp:v1 \
--port=8080http://s1.运维网.com/images/20190116/1547619081961483.png
查看当前的 Pod:
http://s1.运维网.com/images/20190116/1547619091456803.png
1.3.端口映射访问
kubectl expose deployment/kubernetes-bootcamp \
--type="NodePort" \
--port 8080http://s1.运维网.com/images/20190116/1547619111892841.png
查看端口映射:
kubectl get serviceshttp://s1.运维网.com/images/20190116/1547619120725129.png
访问应用:
curl minikube:31584http://s1.运维网.com/images/20190116/1547619140935665.png
2.scale应用
默认只会运行一个副本,可以通过scale来设置数量
2.1.查看当前副本
kubectl get deploymentshttp://s1.运维网.com/images/20190116/1547619211859496.png
2.2.增加副本为3:
kubectl scale deployments/kubernetes-bootcamp --replicas=3http://s1.运维网.com/images/20190116/1547619224954773.png
kubectl get deploymentshttp://s1.运维网.com/images/20190116/1547619230983957.png
查看当前pods数:
kubectl get podshttp://s1.运维网.com/images/20190116/1547619239805848.png
访问应用可以看到被不同的pod接受:
http://s1.运维网.com/images/20190116/1547619246380816.png
减少副本:
kubectl scale deployments/kubernetes-bootcamp --replicas=2http://s1.运维网.com/images/20190116/1547619254285432.png
有一个副本正在终止,过一段时间就会被回收
http://s1.运维网.com/images/20190116/1547619262576797.png
3.更新
3.1.将image从v1升级到v2
kubectl set image deployments/kubernetes-bootcamp kubernetes-bootcamp=jocatalin/kubernetes-bootcamp:v2http://s1.运维网.com/images/20190116/1547619285421121.png
v1版本的pod逐个被删除:
http://s1.运维网.com/images/20190116/1547619293655467.png
访问应用查看版本:
http://s1.运维网.com/images/20190116/1547619302651714.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。
页:
[1]