一、体验k8s
官网地址:https://kubernetes.io/docs/tutorials/hello-minikube/
1.1.启动
minikube start
查看信息:
kubectl cluster-info
kubectl get nodes
1.2.部署应用
kubectl run kubernetes-bootcamp \ --image=docker.io/jocatalin/kubernetes-bootcamp:v1 \ --port=8080
查看当前的 Pod:
1.3.端口映射访问
kubectl expose deployment/kubernetes-bootcamp \ --type="NodePort" \ --port 8080
查看端口映射:
kubectl get services
访问应用:
curl minikube:31584
2.scale应用
默认只会运行一个副本,可以通过scale来设置数量
2.1.查看当前副本
kubectl get deployments
2.2.增加副本为3:
kubectl scale deployments/kubernetes-bootcamp --replicas=3
kubectl get deployments
查看当前pods数:
kubectl get pods
访问应用可以看到被不同的pod接受:
减少副本:
kubectl scale deployments/kubernetes-bootcamp --replicas=2
有一个副本正在终止,过一段时间就会被回收
3.更新
3.1.将image从v1升级到v2
kubectl set image deployments/kubernetes-bootcamp kubernetes-bootcamp=jocatalin/kubernetes-bootcamp:v2
v1版本的pod逐个被删除:
访问应用查看版本:
二、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。
转载于:https://blog.51cto.com/ckl893/2343322