- OpenShift 教程
- OpenShift - 首页
- OpenShift - 概述
- OpenShift - 类型
- OpenShift - 架构
- OpenShift - 环境设置
- OpenShift - 基本概念
- OpenShift - 入门
- OpenShift - 构建自动化
- OpenShift - CLI
- OpenShift - CLI 操作
- OpenShift - 集群
- OpenShift - 应用伸缩
- OpenShift - 管理
- OpenShift - Docker 和 Kubernetes
- OpenShift - 安全
- OpenShift 有用资源
- OpenShift - 快速指南
- OpenShift - 有用资源
- OpenShift - 讨论
OpenShift - Docker 和 Kubernetes
OpenShift 建立在 Docker 和 Kubernetes 之上。所有容器都构建在 Docker 集群之上,该集群本质上是在 Linux 机器上运行的 Kubernetes 服务,使用 Kubernetes 的编排功能。
在这个过程中,我们构建 Kubernetes 主节点,它控制所有节点并将容器部署到所有节点。Kubernetes 的主要功能是使用不同类型的配置文件来控制 OpenShift 集群和部署流程。与 Kubernetes 中使用 kubectl 的方式相同,我们使用 OC 命令行实用程序在集群节点上构建和部署容器。
以下是用于在集群中创建不同类型的对象的不同类型的配置文件。
- 镜像
- Pod
- 服务
- 复制控制器
- 副本集
- 部署
镜像
Kubernetes (Docker) 镜像是容器化基础设施的关键构建块。目前,Kubernetes 仅支持 **Docker** 镜像。Pod 中的每个容器在其内部都运行着其 Docker 镜像。
apiVersion: v1 kind: pod metadata: name: Tesing_for_Image_pull -----------> 1 spec: containers: - name: neo4j-server ------------------------> 2 image: <Name of the Docker image>----------> 3 imagePullPolicy: Always ------------->4 command: [“echo”, “SUCCESS”] -------------------> 5
Pod
Pod 是 Kubernetes 集群节点内容器及其存储的集合。可以在 Pod 中创建多个容器。以下是在同一个 Pod 中保留数据库容器和 Web 界面容器的示例。
apiVersion: v1 kind: Pod metadata: name: Tomcat spec: containers: - name: Tomcat image: tomcat: 8.0 ports: - containerPort: 7500 imagePullPolicy: Always
服务
服务可以定义为 Pod 的逻辑集合。它可以定义为 Pod 之上的抽象层,提供单个 IP 地址和 DNS 名称,通过这些地址和名称可以访问 Pod。使用服务,可以非常轻松地管理负载均衡配置。它有助于 Pod 非常轻松地进行扩展。
apiVersion: v1 kind: Service metadata: name: Tutorial_point_service spec: ports: - port: 8080 targetPort: 31999
复制控制器
复制控制器是 Kubernetes 的关键特性之一,负责管理 Pod 的生命周期。它负责确保在任何时间点都运行指定数量的 Pod 副本。
apiVersion: v1 kind: ReplicationController metadata: name: Tomcat-ReplicationController spec: replicas: 3 template: metadata: name: Tomcat-ReplicationController labels: app: App component: neo4j spec: containers: - name: Tomcat image: tomcat: 8.0 ports: - containerPort: 7474
副本集
副本集确保应运行多少个 Pod 副本。它可以被视为复制控制器的替代品。
apiVersion: extensions/v1beta1 kind: ReplicaSet metadata: name: Tomcat-ReplicaSet spec: replicas: 3 selector: matchLables: tier: Backend matchExpression: - { key: tier, operation: In, values: [Backend]} app: App component: neo4j spec: containers: - name: Tomcat- image: tomcat: 8.0 ports: containerPort: 7474
部署
部署是复制控制器的升级和更高版本。它们管理副本集的部署,副本集也是复制控制器的升级版本。它们具有更新副本集的功能,并且还能够回滚到以前的版本。
apiVersion: extensions/v1beta1 --------------------->1 kind: Deployment --------------------------> 2 metadata: name: Tomcat-ReplicaSet spec: replicas: 3 template: metadata: lables: app: Tomcat-ReplicaSet tier: Backend spec: containers: name: Tomcat- image: tomcat: 8.0 ports: - containerPort: 7474
所有配置文件都可以用来创建其各自的 Kubernetes 对象。
$ Kubectl create –f <file name>.yaml
可以使用以下命令来了解 Kubernetes 对象的详细信息和描述。
对于 Pod
$ Kubectl get pod <pod name> $ kubectl delete pod <pod name> $ kubectl describe pod <pod name>
对于复制控制器
$ Kubectl get rc <rc name> $ kubectl delete rc <rc name> $ kubectl describe rc <rc name>
对于服务
$ Kubectl get svc <svc name> $ kubectl delete svc <svc name> $ kubectl describe svc <svc name>
有关如何使用 Docker 和 Kubernetes 的更多详细信息,请访问我们的 Kubernetes 教程,链接如下:kubernetes。