Openshift教程

OpenShift Docker 和 Kubernetes

OpenShift 构建在 Docker 和 Kubernetes 之上。所有容器都建立在 Docker 集群之上,Docker 集群基本上是 Linux 机器之上的 Kubernetes 服务,使用 Kubernetes 编排功能。
在这个过程中,我们构建了 Kubernetes master,它控制所有节点并将容器部署到所有节点。 Kubernetes 的主要功能是使用不同类型的配置文件来控制 OpenShift 集群和部署流程。与在 Kubernetes 中一样,我们使用 kubctl 的方式与使用 OC 命令行实用程序在集群节点上构建和部署容器的方式相同。
以下是用于在集群中创建不同类型对象的不同类型的配置文件。
Images POD Service Replication Controller Replica set Deployment

Images

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。以下是将数据库容器和 Web 界面容器保存在同一个 Pod 中的示例。
apiVersion: v1
kind: Pod
metadata:
   name: Tomcat
spec:
   containers:
  -name: Tomcat
      image: tomcat: 8.0
      ports:
-containerPort: 7500
imagePullPolicy: Always

Service

服务可以定义为一组逻辑上的 pod。它可以定义为 pod 之上的抽象,提供单个 IP 地址和 DNS 名称,可以通过它访问 pod。使用 Service,可以非常轻松地管理负载平衡配置。它可以帮助 POD 轻松扩展。
apiVersion: v1
kind: Service
metadata:
   name: Tutorial_point_service
spec:
   ports:
  -port: 8080
      targetPort: 31999

Replication Controller

Replication Controller 是 Kube 的关键特性之一rnetes,负责管理 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

Replica set

副本集确保应该运行多少个 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

Deployment

部署已升级和更高版本的复制控制器。他们管理副本集的部署,这也是复制控制器的升级版本。它们具有更新副本集的能力,也能够回滚到以前的版本。
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。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4