下载链接:https://leif.fun/downloads/books/k8s/每天 5 分钟玩转 Kubernetes.pdf
百度云:链接:https://pan.baidu.com/s/1eUJzQVGFMXuMXM3SwGjcFw 密码:47bp
2019 年 09 月 24 日
第 1 章 先把 Kubernetes 跑起来
1.2 创建 kubernetes 集群
查看集群信息
kubectl cluster-info
1.3 部署应用
Deployment:可以理解为应用
Pod:是容器的集合,通常会将紧密相关的一组容器放到一个 pod 中,同一个 pod 中的所有容器共享 IP 地址和 Port 空间,也就是说他们在一个 network namespace 中。
是 K8S 调度的最小单位,同一个 pod 中的容器始终被一起调度。
查看当前 pod
kubectl get pods
1.4 访问应用
查看应用被映射到节点的哪个端口
kubectl get services
service:暂时理解为端口映射
1.5 scale 应用
查看副本数
kubectl get deployments
增加副本数(扩容)
kubectl scale deployments/kubernetes-bootcamp --replicas=3
通过 kubectl get pods
可以看到当前 Pod 增加到了三个
使用 curl
命令访问应用可以看到负载均衡的效果
删除一个副本(缩容)
kubectl scale deployments/kubernetes-bootcamp --replicas=2
1.6 滚动更新
将 v1 升级到 v2
kubectl set image deployments/kubernetes-bootcamp kubernetes-bootcamp=jocatlin/kubernetes-bootcamp:v2
可以看出 v1 的 pod 被诸葛删除,同时启用了新的 v2 pod
将 v2 降级到 v1
kubectl rollout undo deployments/kubernetes-bootcamp
2019 年 09 月 25 日
第 2 章 重要概念
1.Cluster: 是计算、存储和网络资源的集合
2.Master: 是 Cluster 的大脑,主要负责调度,可以运行多个 Master 来实现高可用
3.Node:职责是运行容器应用。Node 由 Master 管理,Node 负责监控并汇报容器的状态,同时根据 Master 的要求管理容器的生命周期。如果 Cluster 只有一个主机,那么它既是 Master 也是 Node。
4.Pod:是 K8S 的最小工作单元。每个 Pod 包含一个或多个容器。Pod 中的容器会作为一个整体被 Master 调度到一个 Node 上运行。
5.Controller:K8S 通过 Controller 来管理 Pod。Controller 中定义了 Pod 的部署特性,比如有几个副本、在什么样的 Node 上运行等。K8S 提供了多种 Controller:
-
Deployment:可以管理 Pod 的多个副本并确保 Pod 按照期望的状态运行
-
ReplicaSet:实现了 Pod 的多副本管理。使用 Deployment 会自动创建 ReplicaSet,Deployment 通过 ReplicaSet 来管理 Pod 的多个副本,一般不直接使用 ReplicaSet。
-
DaemonSet:用于每隔 Node 最多只运行一个 Pod 副本的场景。DaemonSet 通常用于运行 daemon。
-
StatefuleSet:能够保证 Pod 的每个副本在整个生命周期中是不变的,而其他 Controller 不提供这个功能。当某个 Pod 发生故障需要删除并重新启动时,Pod 的名称会发生变化,同时 StatefuleSet 会保证副本按照固定顺序启动、更新或者删除。
-
Job:用于运行结束就删除的应用,而其他 Controller 中的 Pod 通常是长期持续运行。
6.Service:K8S Service 定义了外界访问一组特定 Pod 的方式。Service 有自己的 IP 和端口,Service 为 Pod 提供了负载均衡。K8S 运行容器(Pod)与访问容器(Pod)这两个任分别由 Controller 和 Service 执行
7.Namespace:可以将物理的 Cluster 逻辑上划分成多个虚拟 Cluster,每个 Cluster 就是一个 Namespace、不同的 Namespace 里的资源是完全隔离的。K8S 默认创建了两个 Namespace。
-
default:创建资源时如果不指定,将被放到这个 Namespace 中
-
kube-system:K8S 自己创建的系统资源将放到这个 Namespace 中。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于