K8S适用场景及功能 1. 多台机器集群管理和配置(单机,直接docker + docker-compose) 2. Kubernetes 可以为你提供集中式的管理集群机器和应用,加机器、版本升级、版本回滚,那都是一个命令就搞定的事,不停机的灰度更新,确保高可用、高性能、高扩展。 Kubernetes 集群架构 master 主节点
简介 AppGallery Connect认证服务提供了云侧服务和SDK,可以帮助开发者为应用快速构建安全可靠的用户认证系统,以便应用可以对用户进行身份认证。AppGallery Connect认证服务支持多种认证方式,并与其他Serverless服务紧密集成,开发者可以通过简单的规则定义来保护用户的数据安全。 开
简介 通过集成华为AppGallery Connect认证服务提供的Auth Service SDK,开发者可以对接包括华为帐号、微信、Facebook、Twitter在内的多种第三方用户认证系统,并将认证凭据上报给华为AppGallery Connect认证服务云侧。在下次登录时应用便可直接通过认证服务获取用户的个人基本信息
pod 概述 Pod 是 K8S 系统中可以创建和管理的最小单元,是资源对象模型中由用户创建或部署的最小资源对象模型,也是在 K8S 上运行容器化应用的资源对象,其它的资源对象都是用来支撑或者扩展 Pod 对象功能的,比如控制器对象是用来管控 Pod 对象的,Service 或者 Ingress 资源对象是用来暴
一、K8S结构说明 1.网络结构 2.组件结构 二、pod概念 自主式pod 管理器管理的pod RS、RC deployment HPA StatefullSet DaemonSet Job、Cronjob 服务发现 Pod协同 三、网络通信模式 网络通信模式说
Kubernetes核心技术Pod Pod概述 Pod是K8S系统中可以创建和管理的最小单元,是资源对象模型中由用户创建或部署的最小资源对象模型,也是在K8S上运行容器化应用的资源对象,其它的资源对象都是用来支撑或者扩展Pod对象功能的,比如控制器对象是用来管控Pod对象的,Service或者Ingress资源对象
Kubernetes核心技术-Controller 内容 什么是Controller Pod和Controller的关系 Deployment控制器应用场景 yaml文件字段说明 Deployment控制器部署应用 升级回滚 弹性伸缩 什么是Controller Controller是在集群上管理和运行容器的对象,Controller是实际存在的,Pod是虚拟机的 Pod和
Kubernetes核心技术Service 前言 前面我们了解到 Deployment 只是保证了支撑服务的微服务Pod的数量,但是没有解决如何访问这些服务的问题。一个Pod只是一个运行服务的实例,随时可能在一个节点上停止,在另一个节点以一个新的IP启动一个新的Pod,因此不能以确定的IP和端口号提供服务。 要
Kubernetes控制器Controller详解 Statefulset Statefulset主要是用来部署有状态应用 对于StatefulSet中的Pod,每个Pod挂载自己独立的存储,如果一个Pod出现故障,从其他节点启动一个同样名字的Pod,要挂载上原来Pod的存储继续以它的状态提供服务。 无状态应用 我们原来使用 deployment,部
本文主要介绍Kubernetes 的核心组件、架构、服务编排,以及在集群规模、网络&隔离、SideCar、高可用上的一些使用建议,尤其是在CICD中落地,什么是 GitOps. 通过此文可彻底了解 k8s 的整体核心技术以及如何应用在 DevOps 实践中。 荣辛是我的同事,阿里云过来的一位大佬,我也把他邀请
Kubernetes介绍 目录Kubernetes介绍什么是Kubernetes?为什么需要K8S?K8S 的特性Kubernetes 集群架构与组件集群架构Kubernetes的核心组件Master 组件Kube-apiserverKube-controller-managerKube-scheduler配置存储中心 — etcdNode组件KubeletKube-proxydocker 或者 rocketk8s创建po
StatefulSet资源控制器 一、statefulset介绍 StatefulSet 是为了解决有状态服务的问题而设计的资源控制器。 匹配 Pod name ( 网络标识 ) 的模式为:(statefulset名称)-(序号),比如上面的示例:web-0,web-1,web-2 StatefulSet 为每个 Pod 副本创建了一个 DNS 域名,这个域名的格式为:
Pod 的存储之volume 容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出现一些问题。首先,当容器崩溃时,kubelet 会重启它,但是容器中的文件将丢失——容器以干净的状态(镜像最初的状态)重新启动。其次,在Pod 中同时运行多个容器时,这些容器之间通常需要共享文件。
Pod 的 Service 介绍 一、Service 介绍 Kubernetes Service 定义了这样一种抽象: 一个 Pod 的逻辑分组,一种可以访问它们的策略,通常称为微服务。 这一组 Pod 能够被 Service 访问到,通常是通过 Label Selector 。 Service能够提供负载均衡的能力,但是在使用上有以下限制: 只提供4层
Pod 的存储之Configmap 一、Configmap介绍 ConfigMap 功能在 Kubernetes1.2 版本中引入,许多应用程序会从配置文件、命令行参数或环境变量中读取配置信息。ConfigMap API 给我们提供了向容器中注入配置信息的机制,ConfigMap 可以被用来保存单个属性,也可以用来保存整个配置文件或者
Pod 的存储之Secret 一、Secret 存在意义 Secret 解决了密码、token、密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者 Pod Spec中。Secret 可以以 Volume 或者环境变量的方式使用。 Secret 有三种类型: Service Account : 用来访问 Kubernetes API,由 Kubernete
Pod 的资源控制器类型 一、Pod 的资源控制器类型 什么是控制器呢?简单来说,控制器就好比是影视剧里面的剧本,演员会根据剧本所写的内容来针对不同的角色进行演绎,而我们的控制器就好比是剧本,Kubernetes 会根据我们所定义的规则,或者是按照我们写好的 “剧本” 来完成创建我们的 Pod 。
RC (ReplicationController )主要的作用就是用来确保容器应用的副本数始终保持在用户定义的副本数 。即如果有容器异常退出,会自动创建新的 Pod 来替代;而如果异常多出来的容器也会自动回收(已经成为过去时)。 Kubernetes 官方建议使用 RS(ReplicaSet ) 替代 RC (ReplicationController )
资源控制器之Deployment Deployment 为 Pod 和 ReplicaSet 提供了一个声明式定义(declarative)方法,用来替代以前的ReplicationController 来方便的管理应用。典型的应用场景包括: - 定义 Deployment 来创建 Pod 和 ReplicaSet - 滚动升级和回滚应用 - 扩容和缩容 Deployment
资源控制器之DaemonSet DaemonSet 确保全部(或者一些) Node上运行一个 Pod 的副本,当有 Node 加入集群时,也会为他们新增一个 Pod,当有 Node 从集群移除时,这些 Pod 也会被回收。删除 DaemonSet 将会删除它创建的所有 Pod 。 DaemonSet 应用示例: vim daemonset.yaml apiVersion: app
Job 与 Cronjob 一、Job Job 负责批处理任务,即仅执行一次的任务,它保证批处理任务的一个或多个 Pod 成功结束。 特殊说明: 1、spec.template 格式同 Pod 2、RestartPolicy 仅支持 Never 或 OnFailure 3、单个 Pod 时,默认 Pod 成功运行后 Job 即结束 4、spec.completions 标
Kubernetes节点与 Pod 亲和性 一、节点亲和性策略介绍 pod.spec.nodeAffinity preferredDuringSchedulingIgnoredDuringExecution:软策略 requiredDuringSchedulingIgnoredDuringExecution:硬策略 preferred:首选,较喜欢 required:需要,必修 键值运算关系: In:label 的值在某个
Kubernetes污点和容忍 一、Taint 和 Toleration介绍 节点亲和性,是 pod 的一种属性(偏好或硬性要求),它使 pod 被吸引到一类特定的节点。Taint 则相反,它使节点能够排斥一类特定的pod,Taint 和 toleration 相互配合,可以用来避免 pod 被分配到不合适的节点上。每个节点上都可以应用一个或
# 创建pod kubectl create deployment web --image=nginx # 查看pod列表 kubectl get pods -o wide # 暴露资源为service kubectl expose deployment web --port=80 --protocol=TCP --target-port=80 --name=nginx # 查看service列表 kubectl get svc # 查看服务描述信息,ser
1.Pod是 Kubernetes最重要的基本概念。 组成: Pod = Pause容器(根容器) + 一个或多个进门相关的用户业务容器 Kubernetes 为什么要设计 Pod 1.在一组容器作为一个单元的情况下,难以简单的对 “整体” 进行判断及有效的行动。如一个容器死亡了,可以判断为整体死亡吗?引入于业