读书笔记:《Kubernetes:快速入门》
微服务:单体应用:应用的每一个功能都被捆绑在一起,不利于部署,升级,扩缩容微服务应用:应用的每一个功能拆分为自己的小型应用云原生:按需扩缩容自我修复滚动更新在任何 K8s 集群上运行编排器:将微服务聚集在一起,组成一个应用,并提供云原生功能。
·
1. K8s 简介
- 微服务:
- 单体应用:应用的每一个功能都被捆绑在一起,不利于部署,升级,扩缩容
- 微服务应用:应用的每一个功能拆分为自己的小型应用
- 云原生:
- 按需扩缩容
- 自我修复
- 滚动更新
- 在任何 K8s 集群上运行
- 编排器:
- 将微服务聚集在一起,组成一个应用,并提供云原生功能
2. 为什么需要 K8s
K8s 源自 Google 的 Borg 和 Omega。
K8s 将基础设施抽象化和商品化,是云的操作系统。
云的抽象化改变了 AWS 云的垄断地位,只要可以在 K8s 云上运行的应用,是不是在 AWS 云上运行就没有区别。
K8s 的优点:
- 可以在不同的云之间部署和切换;
- 可以在多个云上部署;
- 可以在云和本地之间切换。
3. K8s 集群
K8s 集群一般不会跨越多云,也不会跨越本地和云,这主要是受到网络速度的制约。
- 主节点:运行控制面板服务
- 工作节点:运行用户应用
- Kubelet:与控制面板通信
- 容器运行时:启动和停止容器
- Kubectl:管理 K8s 集群
- K8s 即服务:
- AWS:KES
- Azure:AKS
- DO:DOKS
- GCP:GKE
- Linode:LKE(最简单)
4. 获取 K8s
- Docker Desktop
- Linode Kubernetes Engine
- kubectl 连接集群配置:.kube/kubeconfig
5. 应用 K8s
K8s 放弃 Docker 作为其容器运行时的支持,但是 Docker 创建的容器化应用在 K8s 仍然支持,因为都是基于开放容器协议(OCI)标准的容器镜像。
- 构建容器镜像/容器化应用:docker image build
- 托管容器镜像到远端仓库:docker image push
- 查看集群:kubectl get nodes
- 查看集群配置:kubectl config get-contexts
- 部署 Pod:kubectl apply -f pod.yaml
- 查看 Pod:kubectl describe pod <pod_name>
- 部署 Service【连接到 Pod】:kubectl apply -f svc.yaml
- 本地集群:NodePort
- 云端集群:LoadBalancer
- 部署 Deploy:kubectl apply -f deploy.yaml
- 自我修复
- 扩缩容:replicas
- 滚动更新:RollingUpdate
更多推荐
已为社区贡献1条内容
所有评论(0)