1 / 36
文档名称:

在vSphere with Tanzu平台中使用容器和Kubernetes入门.pdf

格式:pdf   大小:2,242KB   页数:36页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

在vSphere with Tanzu平台中使用容器和Kubernetes入门.pdf

上传人:科技星球 2022/11/27 文件大小:2.19 MB

下载得到文件列表

在vSphere with Tanzu平台中使用容器和Kubernetes入门.pdf

相关文档

文档介绍

文档介绍:该【在vSphere with Tanzu平台中使用容器和Kubernetes入门 】是由【科技星球】上传分享,文档一共【36】页,该文档可以免费在线阅读,需要了解更多关于【在vSphere with Tanzu平台中使用容器和Kubernetes入门 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:.
在vSpherewithTanzu平台中使用容器和
Kubernetes入门
技术创新,变革未来:.
容器和基础知识:.
容器和虚拟机抽象化的实用比较
应用
应用容器更轻松
应用依赖关系
配置管理
操作系统抽象化
操作系统和操作系统和
大量
应用依赖关系容器应主用机依操赖作关系系
后续工作通用

计算|网络|安全性|存储通用计算|网络|安全性|存储
HypervisorHypervisor
服务器服务器
©:.
容器构建和运行解析
打包
应用+依赖关系=
容器镜像仓库
移动性和一致性
正在运行的容器
FROMnginx:alpine
EXPOSE80
#dockerbuild
COPY./nginx/html#dockerrundemo-app
#dockerpush
Docker
引擎
虚拟机
容器镜像的
Dockerfile
存储库
©:.
容器的初始运行
正在运行的容器正在运行的容器正在运行的容器正在运行的容器
工具、库、软件工具、库、软件工具、库、软件工具、库、软件
这种容器调度模式:
Docker主机•需要手动操作
•容错有限
•难以扩展/升级等
$dockerruncontainer_web•与不相关服务的关联有限(LB、安全策略等)
我们需要的是针对以下几项的编排:
$dockerruncontainer_web
需要:
•容器正在运行的容器
容器编排器!
$dockerruncontainer_redis•主机
•网络
工具、库、软件
$dockerruncontainer_DB
©:.
将关注点转向应用
Kubernetes是一种开源系统,用于自动部署、扩展和管理容器化应用。
Kubernetes核心功能:
•声明式部署模式
•实时扩展应用
•滚动更新至新版应用
•自我修复、重新启动、更换和重新调度容器
•应用基础架构对应关系的API驱动型使用
“应用”
©:.
基础知识概要
Kubernetes集群=“预期状态管理”
•Kubernetes集群服务(带API)
节点=容器主机,带名为“Kubelet”的代理
应用部署文件=预期状态的配置文件
容器镜像=在Pod中运行的容器镜像(大约1:1)
副本数=必须运行的Pod数量
P1R1P2R1P2R1P1R1

KWorker节点
ContainerImage1虚拟机
ReplAipcpa_sY:.y3amlP1R1
P1R2P2R1
Kubernetes
ConCtoanitnaeirnIemraIgmea1ge2KWorker节点
控制平面节点虚拟机
API
RepRleipclaisc:as1:2
(控制平面与etcd节点)
P1R3P2R2P2R2P1R2
ContainerImage2
Replicas:2虚拟机KWorker节点
虚拟机
©:.
从容器迁移到
Kubernetes“Pod”
Pod是指由一个或多个容器组成的群组
(在英语中,Pod的意思可以是鲸鱼群或豌豆荚)
容器1容器2
“Sidecar”概念
•业务逻辑代码与系统服务代码
Pod内的容器共享IP地址和端口空间,并且
可以通过localhost找到对方工具、库、工具、库、
软件软件
Pod内的容器也共享相同的数据卷
Pod被认为不具备持久性

©:.
标签
Kubernetes“Pod”
标签是附加到Pod的键/值对,用于传达用户
定义的属性
然后,您可以使用选择器来选择具有特定标签容器1容器2
的Pod,并将其应用于各种属性服务或部署
可以在创建对象时附加标签,之后可以随时
添加和修改
工具、库、工具、库、
软件软件
tier=frontend
app=demo-app-ui
deployment=prod
©:.
集群内的逻辑分区,用于分隔多个团队或应用默认
namespace
对Namespace内资源的访问受控
kube-system
限制该Namespace的资源使用namespace
dev-team-a
namespace
dev-team-b
#kubectlcreatenamespacedev-team-bnamespace
namespace/dev-team-bcreated
#kubectlgetnamespacesapp-xyz
NAMESTATUSAGEnamespace
defaultActive9d
dev-team-bActive102s
kube-systemActive9d
Worker节点1Worker节点2Worker节点3
©:.
部署
自我修复、滚动更新、回滚、扩展等…
vmware-explore-app:v1

正在运行的Pod正在运行的Pod
工具、库、软件工具、库、软件
app:demo-app-uiapp:demo-app-ui
tier:frontendtier:frontend
©:.
定义和暴露东西向服务
正在运行的Pod正在运行的Pod
工具、库、软件工具、库、软件
需要根据元数据识别和跟踪Pod,
app:demo-app-uiapp:demo-app-ui
为它们提供连接和服务发现(DNS、
tier:frontendtier:frontend
Env变量)。

ClusterIP(默认)在集群内部IP上
公开服务。
服务选择器:app=demo-app-ui,tier=frontend
ClusterIP=
正在运行的Pod
工具、库、软件
app:demo-app-ui
tier:backend-db
©:.
:80
定义和暴露南北向服务
正在运行的Pod正在运行的Pod
工具、库、软件工具、库、软件
类型:LoadBalancer用于使用云
控制器管理器配置云服务提供商的app:demo-app-uiapp:demo-app-ui
负载均衡器。tier:frontendtier:frontend

服务选择器:app=demo-app-ui,tier=frontend
ClusterIP=
正在运行的Pod
工具、库、软件
app:demo-app-ui
tier:backend-db
©:.
技术概述
©:.
面向开发人员和运维人员的统一基础架构
vSpherewithTanzu
vSpherewithTanzu
Namespace
数据库和分析AI/ML关键业务对时间
要求严格
DevOps人员TanzuKubernetesGridServicevSphere管理员
©:.
前现代化应用时代构建的请求单系统
可能会影响开发人员敏捷性
帮助请求单搜索
常规请求表
请求人:地点
KevinAnytown
说明:
DevOps人员vSphere管理员
|
负责编写应用代码负责确保可用性
测试应用确保安全性
部署应用拖放或浏览到要附加的文件交付服务质量
支持应用成本控制
提交
©:.
为开发人员充分赋能,为基础架构管理员提供保障
使用最适合每个人的工具
~
kind:KubernetesCluster
apiVersion:
metadata:
name:OnlineBankingCluster
Spec:
topology:
workers:
count:3
class:mediumDevOps人员vSphere管理员
distribution:
自助监管
©:.
为开发人员充分赋能,为管理员提供保障
使用最适合每个人的工具
~
kind:KubernetesCluster
apiVersion:
metadata:
name:OnlineBankingCluster
Spec:
topology:
workers:
count:3
class:mediumDevOps人员vSphere管理员
distribution:
自助监管
©:.
管理员现在使用管理应用
vApp+资源池=Namespace
每个Namespace
都有自己的资源池
资源隔离(含配额)
Namespace中的
所有工作负载均使用
配额
•TanzuKubernetes
集群
•vSpherePod
•虚拟机
©:.
即管理单元
借助策略管理应用
Namespace
优先级:高
服务质量预留的虚拟CPU:128
TKG集群虚拟机应用
预留的内存:1TB
Kubernetes
原生应用
加密所有持久性数据
安全性控制平面
禁止除443以外的所有端口
数据库
节点节点节点
可用性容许的故障数:2
无服务器
应用管理员组中的用户:功能功能
访问控制
运维组中的写入用户:只读
©:.
面向开发人员的集群自助管理
TanzuKubernetesGridService
3
部署应用
12
kubectl
定义网络createtkc
安全规则等TanzuKubernetesGridService
vSpherewith
主管集群TanzuServices
vSphere管理员DevOps人员
SDDC
©:.
自动负载均衡器置备
网络服务
12
kubectl
定义网络create
安全规则等网络服务ingress
vSpherewith
主管集群TanzuServices
vSphere管理员DevOps人员
SDDC
©:.
在和中集成云原生存储
存储服务
12
kubectl
定义网络createpvc
安全规则等存储服务
存储服务
主管集群
vSphere管理员DevOps人员
SDDC
©:.
集群
©:.
集群自助管理
TanzuKubernetesGridService
全自助式Kubernetes
~apiVersion:
kind:TanzuKubernetesClusterTKG集群生命周期管理
metadata:
上游Kubernetes二进制
name:tkg-demo-cluster-01
文件
spec:
topology:全面控制TKG集群
controlPlane:
•扩展
count:1
class:guaranteed-medium•升级
workers:
•自动HA设置
count:3
class:best-effort-xlarge无需具备vSphere知识!
distribution:
version:
©:.
扩展和更新集群
TanzuKubernetesGridService
编辑正在运行的集群规范
~apiVersion:
计数和/或类,并保存以
kind:TanzuKubernetesCluster应用更新
metadata:
name:tkg-demo-cluster-01CAPW和虚拟机服务将
按照指示缩减或扩展集群
spec:
topology:获取可用的Tanzu
controlPlane:Kubernetes版本
count:1->3
编辑正在运行的集群规范
class:guaranteed-medium->large
并单独应用更新
workers:
count:3->5CAPW和虚拟机服务将
class:best-effort-xlarge->guaranteed执行滚动升级
distribution:
version:->
©:.
通过部署虚拟机
©:.
采用现代方法管理虚拟机
借助KubernetesAPI,通过虚拟机服务置备虚拟机
12
定义许可的kubectl
虚拟机镜像createvm
虚拟机服务
和类
vSpherewith
主管集群TanzuServices
vSphere管理员DevOps人员
SDDC
©:.
采用现代方法管理虚拟机
借助KubernetesAPI,通过虚拟机服务置备虚拟机
自助管理虚拟机
~#cloud-config
chpasswd:从经过IT部门批准的
list:|目录部署
centos:VMware1!
由开发人员控制的完整
expire:false生命周期管理
##在操作系统上创建docker用户组
groups:利用标准vSphere工具
进行备份
-docker
users:
##为操作系统创建默认用户
-default
##添加允许登录到虚拟机的SSH密钥,以便自定义在上面创建的centos用户
##在本例中,它是我的笔记本电脑的SSH公钥
-name:centos
©:.
虚拟机服务
其他虚拟机服务设置
~ssh-authorized-keys:
-ssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAABgQDCrLZWtAmTd4F4ZEAW2/9DvTV9DsZyFHUNAI96HCF3kxCc7fQfzZzbyeKOFMqECnne
Des1cnI/T5ZvUkCMjS0dvWgXVqw1brQRmPfG2OKZTjVdbZIiq7HoJuWxDJf81JfjdcjQBpq4vX77P6MEzJqUYM3ltwvEo7SR5L0b/
4nWQsCXlkBOefRbij0iZOr7G//kuSH0oIAmcfVwzQG9S1aI8tseZo+x83tEbd4bO7xNQP75rIu5mFFQ9q+r0bWnSdCkTq1Ktn2Dk2
Vb4qD7J7g7QISMTeT5GjwlNk9Hxs1SUDK1KnMpSFv8cnWyT6LfnfI1ILw3tuD25o7BMbLRXgEewvWj5HLYBitGBY7hZ6klWlyAdK
KfzrGS6uViJLsfZ6ydwIMrs5/w2IpJR/q5FJF17wY/3dOMY5/t/l47hZNuTO3hlWjsIt2w1YBGQnaxvqEKQy3krXMLgRNKcl2HgMmkv
rR0wtabIO94JnCQyViKD3m8vC6EPjgIvWtBaN2TP7M=******@mylesg-
##将centos用户添加到sudo组,并允许其在不需要密码的情况下将问题上报给sudo
sudo:ALL=(ALL)NOPASSWD:ALL
groups:sudo,docker
##将用户的默认shell设置为bash
shell:/bin/bash
##在虚拟机中置备的默认网络接口上启用DHCP
network:
version:2
ethernets:
ens192:
dhcp4:true
©:.
工作负载管理的未来
©:.
管理员无需调整工具
vSphere管理员使用其vCenter
vCenter
vSphere管理员
ESXiESXiESXi
SpherelethostdSpherelethostdSpherelethostd
主管集群
ESXi集群
©:.
人员无需调整工具
DevOps人员可与类似于Kubernetes的常用API进行交互
vCenter
vSphere管理员
ESXiESXiESXi
SpherelethostdSpherelethostdSpherelethostd
主管集群Kubectl
createPVC
DevOps人员
ESXi集群
©:.
受到支持集成的并且天然安全的平台
vSpherewithTanzu
vSpherewithTanzu
Namespace
AI/ML对时间
数据库和分析关键业务
要求严格
TanzuKubernetes
GridServicevSphere
Pod服务镜像仓库服务虚拟机服务网络服务存储服务
DevOps人员vSphere管理员
©:.
THANKYOUFORYOURGUIDANCE
谢谢您的指导