第1章
1.1、Deployment 是Kubernetes的术语,可以理解为应用
1.2、另一个重要术语是Pod。Pod是容器的集合,通常会将紧密相关的一组容器放在一个Pod中,同一个Pod中有容器共享IP地址和Port空间,也就是说它们在一个network namespacce中。Pod是Kubernetes 调度的最小单位,同一个Pod中的容器始终被一起调度。
1.3、通过以下命令方式可以部署一个应用。
kubectl run kubernetes-bootcamp
> --image=docker.io/jocatalin/kubernetes-bootcamp:v1
> --port=8080
1.4、所有Pod只能在集群内部访问。在访问应用只能访问容器的8080端口。所以需要将容器的8080端口映射到节点端口上。
kubectl expose deployment/kubernetes-bootcamp
--type="NodePort"
--port 8080
执行命令kubectl get services 可以查看应用被映射到节点的那个端口
可以通过curl +主机+端口号(32325)进行测试访问。
1.5 scale应用
通过建立副本,实现多副本的轮询处理,这样就实现了负载均衡
kubectl scale deployments/kubernet-bootcamp --replicas=3
kubectl get pods
scale down 可以很方便的删除副本。kubectl scale deployments/kubernet-bootcamp --replicas=(副本总数-1)
1.6滚动更新
使用set image工具对版本进行升级操作。使用rollout undo 进行版本回滚
第2章
重要概念
Cluster 是计算、存储和网络资源的集合,Kubernetes 利用这些资源进行各种基于容器的应用
Master是Cluster的大脑,主要责任是调度。为了高可用,可以运行多个Master
Node的职责是运行容器应用。Node由Master管理,Node负责监控并汇报容器的状态