0%

GPU加速云原生应用,开启高性能计算新纪元

GPU与Kubernetes的组合,正开启云计算一个崭新的高性能计算时代。

结合Kubernetes弹性调度与GPU强大算力,各类人工智能、科学计算等工作负载,将迎来前所未有的性能提升、资源效率和故障容错能力。让我们一起乘坐这辆高速计算之车,开启云原生应用的新纪元!

Kubernetes Service与Ingress

srevice概念

kubernetes Pod是短暂的,它们会被创建,也会死掉,并且是不可被复活的。

ReplicationControllers动态的创建和销毁Pods(比如规模扩大或者缩小,或者执行动态更新)。每个Pod都有自己的IP,这些IP随着时间的变换,也不能持续依赖,这样就引发一个问题:如果一些Pods(后台、后端)提供了一些功能共其他Pod使用(前台),再Kubernetes集群中是如何让这些前台能够持续的追踪到这些后台的。

Kubernetes 控制器

控制器类型

  • ReplicaSet(RS):代用户创建指定数量的pod副本数量,确保pod副本数量符合预期状态,并且支持滚动式自动扩容和缩容功能。

安装要求

安装概要:

1、准备节点和私有镜像仓库

2、同步镜像到私有镜像仓库

3、部署k8s集群

4、安装rancher

操作系统 和 容器运行时 要求

  • rancher可以兼容当前任何流行的Linux发行版。
  • 对于需要运行k3s或RKE Kubernetes 集群的节点需要使用 Docker。对于RancherD 安装来说,不需要Docker。
  • rancher需要安装在支持的k8s版本上。参考 Support matrix | SUSE 了解rancher版本支持哪些Kubernetes版本。
  • 为了防止客户端和服务端之间因为时间不同步而发生的证书验证错误,建议安装NTP来同步时钟
  • 一些Linux发行版的默认防火墙规则可能会屏蔽掉Helm的通信。建议直接关闭防火墙,如需开启,可以尝试参考 防火墙放行端口 进行开放端口。

RKE要求

RKE可以兼容所有Docker版本。RKE 版本与 Kubernetes版本相关。

Kubernetes Pod资源管理

Pod基本概念

  • 最小部署单元
  • 一组容器的集合
  • 一个Pod中的容器共享网络命名空间
  • Pod是短暂的

image-20211119135510009

Pod是一个或多个容器;同一个Pod中的容器共享存储、网络、以及怎样运行这些容器的生命。Pod中的内容总是并置在一起的,接受统一调度,在共享的上下文(包括一组命名空间,控制组等)中运行。

Kubernetes 资源基础管理

资源对象

K8S API 是管理各种资源对象的唯一入口,它提供了RESTful风格的CRUD(create、read、update、

delete)接口用于查询和修改集群状态,并将结果存储于集群状态存储etcd中。API server也是更新etcd

Kubernetes简介

Kubernetes 是 google 在2014年开源的一个容器集群管理系统,简称K8S。 K8S用于容器化应用程序的部署,扩展和管理。 K8S提供了容器编排,资源调度,弹性伸缩,部署管理,服务发现等一系列功能。 Kubernetes目标是让部署容器化应用简单高效。

Rancher & Azure AD

Rancher是一款开源的容器管理平台,可让组织在多个环境中部署、管理和扩展容器化应用程序。Azure Active Directory(Azure AD)是一项基于云的身份和访问管理服务,可提供对应用程序和资源的安全访问。

harbor部署搭建

harbor部署分为在线和离线两种方式,需要docker和docker-compose的支持

环境说明

本次使用系统为CentOS 7.9

事先准备好 docker-ce 和 docker-compose