OpenShift(01-1) 声明式资源管理
资源清单k8s 集群中的应用通常由多个资源对象组成,每个资源对象都有自己的定义和配置。k8s 提供2种方式来定义和配置资源对象第1种是命令式,就是通过k8s提供的命令 kubectl 对资源对象进操作。 第2种式声明式,把资源对象的特征按要求记录在资源清单文件中,这个文件是 YAML 或 JSON 格式。然后通过 kubectl 命令来操作资源对象。 除了测试,大部分都是用资源清单 创建资源清单文件资源清单文件的内容很多。一个基础的资源清单内容如下 123456789---apiVersion: v1 # 资源对象版本Kind: Pod # 资源对象类型metadata: # 元数据 name: nginx # 资源对象名称spec: # 资源对象配置 containers: # 容器列表 - name: nginx # 容器名称 image: nginx:1.14.2 # 镜像名称 这么多的内容,手敲很麻烦,k8s 可以由命令来生产资源清单配置 12345kubectl create deployment hello-openshift -o yaml \ ...
OpenShift(01-2) 练习 资源清单
练习内容:资源清单 从存储在 Git 服务器中的 YAML 文件的资源清单来部署和更新应用。 目标 从存储在 GitLab 存储库中的 YAML 文件的资源清单部署应用。 检查新清单中是否存在潜在的更新问题。 从新的 YAML 清单更新应用部署。 必要时,强制重新部署容器集。 步骤登录到 workstaion 中,以student 用户来准备试验环境 启动实验创建实验材料 123456[student@workstation ~]$ lab start declarative-manifests SUCCESS Waiting for clusterSUCCESS Remove declarative-manifests projectSUCCESS Copy exercise filesSUCCESS Create git repositorySUCCESS Prepare git repository 第一次开始实验时会创建集群,需要用命令观察集群创建状态 12[student@workstation ~]$ ssh lab@utility 登录集群, 创建项目1...
OpenShift(02) Kustomize使用
kustomize上一节我们通过资源清单来创建资源实际工作中,在使用 Kubernetes 时,多个团队会使用开发、暂存、测试和生产等多个环境来部署应用。这些环境在配置上也许有细微差异。如果要给每个环境都创建一个资源清单,那会很麻烦。kustomize 就可以解决这个问题。kustomize 是一个开源的配置管理工具,可以对应用配置和组件进行声明式更改,并保留原始的基础 YAML 文件.我们可以把资源对象的清单文件放在一个目录中,然后用 kustomize 复制这些文件并做修改。 kubectl 和 oc 命令已经集成了 kustomize 命令 kustomize 目录结构kustomize 的结构如下所示: 在图中我们可以看到 base 和 overlay 两部分base 是我们的基础配置文件,理解为默认,模板都可以。overlay 是我们以 base 为基础,二次修改的。 在 overlay 目录下,又有我们根据不同环境创建的目录。这就是大概的目录结构 Base (基础)基础⽬录中包含⽤于创建配置映射、部署、服务、机密和路由资源的 YAML ⽂件。他们都是通用的资源...
Kubernetes(一) 概述
Kubernetes 简介Kubernetes 是 Google 容器管理技术 Borg 的开源版本。用来管理容器化应用。解决容器化应用部署、运行、扩展、监控、故障恢复等功能。实现容器集群的自动化部署、自动扩缩容、自动维护等功能。 Kubernetes 集群架构核心架构 Master:Kubernetes 集群的控制节点,负责集群的配置、管理、调度、监控、升级等功能。 Node:Kubernetes 集群的运行节点,负责运行容器化应用。 image:镜像仓库,存放镜像文件。 Master 核心组件 kube-apiserver:APIServer 组件,提供 RESTful API 接口,负责接收、处理、验证、授权用户请求,并返回结果。 kube-controller-manager:ControllerManager 组件,控制管理器,负责集群的维护、监控、调度、升级等功能。 kube-scheduler:Kubernetes 调度器,负责将 Pod 分配给 Node。 etcd:Kubernetes 集群数据存储,负责保存集群配置、状态、事件等信息。 Node 核...
