最全 云原生 docker k8微服务容器化实战 k8 微服务

1hua · · 48 次点击 · · 开始浏览    

 

 

一、Docker微服务容器化

  1. Docker基础
  2. Docker是Linux容器的一种封装,提供简单易用的容器使用接口,是目前最流行的Linux容器解决方案。
  3. Docker将应用程序与该程序的依赖打包在一个文件里面,运行这个文件就会生成一个虚拟容器,程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。
  4. Docker的核心概念包括Docker镜像(只读,包含需要运行的文件,用于创建container)、Docker容器(Docker的运行组件,启动一个镜像就是一个容器,容器是一个隔离环境)以及Docker hub/registry(共享和管理Docker镜像的平台)。
  5. 服务Docker化

    获课:keyouit.xyz/707/

    获取ZY↑↑方打开链接↑↑

  6. 以user-service和user-edge-service为例,需要编写Dockerfile文件来定义镜像的创建过程。
  7. Dockerfile中通常包括源镜像、工作目录设置、文件复制、端口暴露以及运行命令等指令。
  8. 通过编写build.sh脚本来构建镜像,执行如docker build -t mic-user-service -f Dockerfile .的命令。
  9. 容器管理
  10. 编写start.sh脚本来管理容器的启动、停止和删除等操作。
  11. 例如,可以使用docker run命令来启动容器,并映射宿主机的端口到容器的端口。
  12. 使用docker stop和docker rm命令来停止和删除容器。

二、K8s微服务容器化

  1. Kubernetes基础
  2. Kubernetes(k8s)是自动化容器操作的开源平台,用于部署、调度和节点集群间扩展容器。
  3. Kubernetes提供了自动化容器的部署和复制、容器规模扩展、容器组织成组及负载均衡、应用程序容器新版本升级以及容器弹性等特性。
  4. Kubernetes核心概念
  5. ETCD组件:用于保存集群所有的网络配置和对象的状态信息。
  6. Master节点组件:包括kube-apiserver(资源操作的唯一入口)、kube-controller-manager(资源自动化控制中心)、kube-scheduler(Pod调度器)以及kube-dns(服务发现)。
  7. Node节点组件:包括Pod(运行部署应用或服务的最小单元)、kubelet(Pod生命周期管理)以及kube-proxy(Service通信与负载均衡机制的重要组件)。
  8. K8s微服务部署
  9. 在Kubernetes中部署微服务通常涉及创建Deployment、Service等资源对象。
  10. Deployment用于定义Pod的部署策略,如副本数量、滚动更新等。
  11. Service用于定义Pod的访问方式,如负载均衡、服务发现等。

三、实战案例

  1. 使用docker-compose编排容器
  2. docker-compose是一个用于定义和运行多容器Docker应用的工具。
  3. 通过编写docker-compose.yml文件来配置应用的服务,然后使用docker-compose up命令即可一键启动所有服务。
  4. 在docker-compose.yml文件中可以定义多个服务,并指定它们的镜像、端口映射、环境变量等配置。
  5. Harbor私有仓库管理
  6. Harbor是VMware公司开源的企业级Docker Registry项目,提供了图形管理UI、基于角色的访问控制、AD/LDAP集成以及审计日志等企业用户需求的功能。
  7. Harbor的每个组件都是以Docker容器的形式构建的,可以使用docker-compose来部署。
  8. Harbor支持镜像复制、删除和垃圾回收等操作,并提供了RESTful API供管理员操控。

综上所述,云原生中的Docker与K8s微服务容器化实战涉及多个方面,包括Docker基础、服务Docker化、容器管理、Kubernetes基础、Kubernetes核心概念以及实战案例等。通过掌握这些知识和技能,可以更好地进行微服务架构的设计和实现。

48 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传