检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
创建节点 前提条件 已创建至少一个集群。 您需要新建一个密钥对,用于远程登录节点时的身份认证。 若使用密码登录节点,请跳过此操作。创建方法请参见创建密钥对。 约束与限制 创建节点过程中依赖OBS等周边服务,因此节点所在子网的DNS配置不可修改。 集群开启IPv4/IPv6双栈时,所选节点子网不允许开启
容器 容器与Docker 容器技术起源于Linux,是一种内核虚拟化技术,提供轻量级的虚拟化,以便隔离进程和资源。尽管容器技术已经出现很久,却是随着Docker的出现而变得广为人知。Docker是第一个使容器能在不同机器之间移植的系统。它不仅简化了打包应用的流程,也简化了打包应用的库和依赖
容器与Kubernetes 容器 Kubernetes 使用Kubectl命令操作集群
Pod、Label和Namespace Pod:Kubernetes中的最小调度对象 存活探针(Liveness Probe) Label:组织Pod的利器 Namespace:资源分组
Pod的编排与调度 无状态负载(Deployment) 有状态负载(StatefulSet) 普通任务(Job)和定时任务(CronJob) 守护进程集(DaemonSet) 亲和与反亲和调度
负载均衡器基础属性 负载均衡器类型 路由对接的负载均衡器类型,支持对接共享型ELB实例和独享型ELB实例,并且支持自动创建ELB实例 参数名 取值范围 默认值 是否允许修改 作用范围 k8s annotation: kubernetes.io/elb.class 支持elbv3局点
负载均衡器基础属性 负载均衡器类型 服务对接的负载均衡器类型,支持对接共享型ELB实例和独享型ELB实例,并且支持自动创建ELB实例 参数名 取值范围 默认值 是否允许修改 作用范围 k8s annotation: kubernetes.io/elb.class 支持elbv3局点
持久化存储 Volume PV、PVC和StorageClass
RBAC RBAC资源 Kubernetes中完成授权工作的就是RBAC机制,RBAC授权规则是通过四种资源来进行配置。 Role:角色,其实是定义一组对Kubernetes资源(命名空间级别)的访问规则。 RoleBinding:角色绑定,定义了用户和角色的关系。 ClusterRole
容器网络 Kubernetes本身并不负责网络通信,但提供了容器网络接口CNI(Container Network Interface),具体的网络通信交由CNI插件来实现。开源的CNI插件非常多,像Flannel、Calico等。针对Kubernetes网络,CCE为不同网络模型的集群提供不同的网络插件实现
NetworkPolicy NetworkPolicy是Kubernetes设计用来限制Pod访问的对象,相当于从应用的层面构建了一道防火墙,进一步保证了网络安全。NetworkPolicy支持的能力取决于集群的网络插件的能力。 默认情况下,如果命名空间中不存在任何策略,则所有进出该命名空间中的
ServiceAccount Kubernetes中所有的访问,无论外部内部,都会通过API Server处理,访问Kubernetes资源前需要经过认证与授权。 Authentication:用于识别用户身份的认证,Kubernetes分外部服务账号和内部服务账号,采取不同的认证机制
Secret Secret是一种加密存储的资源对象,您可以将认证信息、证书、私钥等保存在Secret中,而不需要把这些敏感数据暴露到镜像或者Pod定义中,从而更加安全和灵活。 Secret与ConfigMap非常像,都是key-value键值对形式,使用方式也相同,不同的是Secret
Service 直接访问Pod的问题 Pod创建完成后,如何访问Pod呢?直接访问Pod会有如下几个问题: Pod会随时被Deployment这样的控制器删除重建,那访问Pod的结果就会变得不可预知。 Pod的IP地址是在Pod启动后才被分配,在启动前并不知道Pod的IP地址。 应用往往都是由多个运行相同镜像的一组
Ingress 为什么需要Ingress Service是基于四层TCP和UDP协议转发的,而Ingress可以基于七层的HTTP和HTTPS协议转发,可以通过域名和路径做到更细粒度的划分,如下图所示。 图1 Ingress-Service Ingress工作机制 要想使用Ingress
集群网络模型选择及各模型区别 自研高性能商业版容器网络插件,支持容器隧道网络、VPC网络、云原生网络2.0网络模型: 集群创建成功后,网络模型不可更改,请谨慎选择。 容器隧道网络(Overlay):基于底层VPC网络构建了独立的VXLAN隧道化容器网络,适用于一般场景。VXLAN是将以太网报文封装成
ConfigMap ConfigMap是一种用于存储应用所需配置信息的资源类型,用于保存配置数据的键值对,可以用来保存单个属性,也可以用来保存配置文件。 通过ConfigMap可以方便地做到配置解耦,使得不同环境有不同的配置。 创建ConfigMap 下面示例创建了一个名为configmap-test
Volume 容器中的文件在磁盘上是临时存放的,当容器重建时,容器中的文件将会丢失,另外当在一个Pod中同时运行多个容器时,常常需要在这些容器之间共享文件,这也是容器不好解决的问题。 Kubernetes抽象出了Volume来解决这两个问题,也就是存储卷,Kubernetes的Volume
Namespace:资源分组 为什么需要Namespace Label虽然好,但只用Label的话,那Label会非常多,有时候会有重叠,而且每次查询之类的动作都带一堆Label非常不方便。Kubernetes提供了Namespace来做资源组织和划分,使用多Namespace可以将包含很多组件的系统分成不同的组
就绪探针(Readiness Probe) 一个新Pod创建后,Service就能立即选择到它,并会把请求转发给Pod,那问题就来了,通常一个Pod启动是需要时间的,如果Pod还没准备好(可能需要时间来加载配置或数据,或者可能需要执行一个预热程序之类),这时把请求转给Pod的话,Pod