《云原生开发实践》记录
《云原生开发实践》记录 本书会包含大量的实践内容,现阶段应着重看理论内容、实践内容暂且忽略,实践内容在理论补充完毕后用到哪块补哪块。 容器化 DOCKERFILE 的多阶段构建在部署阶段很有用,可以大幅减少镜像的体积。 Docker 可以自建网络,这样就可以把很多容器纳入到同一个网络下,实现容器间按容器名访问对方。 容器编排 对于一个中大型的应用,会有很多的容器组件。而有些容器如Redis、RabbitMQ、Kafka等需要紧密的配合,这时候就需要用到容器编排。 Docker Compose 组件用于实现本地单个节点上的容器编排,它会从 docker-compose.yaml 文件中读取所需的全部容器的定义,然后运行 docker-compose up 命令启动容器编排。Docker Swarm 可以管理多个节点上的容器,即管理 Docker 集群。 云原生软件生产流程 云计算的能力: 弱化了传统 IT 硬件概念,革命性地降低了企业在基础设施上的建设成本。 实现了弹性获取计算资源,用户可以按需使用。 云计算的成熟时云原生发展的基石,使云原生的许多概念得以落地。云原生应用一般有以下特点: 在应用的设计和开发阶段就为部署到云上做适配。 应用由多个松耦合的小模块构成而不是一个庞大的单体项目,即微服务架构。 通过容器来交付和发布应用,应用代码中会加入容器化需要的文件。 和传统的软件生产方式相比,云原生的优势主要在塔提高了应用发布和运维时的效率,显著降低了运维的复杂性。 云原生基础设施 Kubernetes Kubernetes 是开源的容器编排平台,支持集群环境下部署和管理容器化应用。目前已经是容器编排领域的事实标准,成为云原生的操作系统。Kubernetes 也叫 K8s ,8指中间的8个字母。K8s 2013年由 Google 开源,相比于 Docker Swarm K8s 提供更加复杂强大的功能。 K8s 集群中包含两种节点,一种是 Control Plane 节点(master 节点),另一种是 worker 节点。K8s 中的容器运行在 Pod 中,Pod 运行在 Node 中。每个集群默认至少有一个 Pod ,否则 Pod 无法调度和运行。Control Plane 是 K8s 的容器编排层,通过它提供的 API ,可以定义和部署容器及管理容器的整个生命周期。Control Plane 有以下组件:...