开发手册 欢迎您!
软件开发者资料库

OpenShift - Docker和Kubernetes

OpenShift Docker和Kubernetes - 从简单和简单的步骤学习OpenShift,从基本到高级概念,包括概述,类型,架构,环境设置,基本概念,入门,构建自动化,CLI操作,集群,应用程序扩展,管理,Docker和Kubernetes,安全。

OpenShift建立在Docker和Kubernetes之上.所有容器都建立在Docker集群之上,基本上是Linux机器上的Kubernetes服务,使用Kubernetes编排功能.

在这个过程中,我们构建了Kubernetes master来控制所有节点并将容器部署到所有节点. Kubernetes的主要功能是使用不同类型的配置文件来控制OpenShift集群和部署流程.与Kubernetes一样,我们使用kubctl与使用OC命令行实用程序在集群节点上构建和部署容器的方式相同.

以下是用于创建不同类型的不同类型的配置文件集群中的对象种类.

  • 图片

  • POD

  • 服务

  • 复制控制器

  • 副本集

  • 部署

图像

Kubernetes(Docker)图像是Containerized Infrastructure的关键构建块.截至目前,Kubernetes仅支持 Docker 图像. pod中的每个容器都在其中运行Docker镜像.

apiVersion: v1kind: podmetadata:   name: Tesing_for_Image_pull -----------> 1   spec:   containers:- name: neo4j-server ------------------------> 2image: ----------> 3imagePullPolicy: Always ------------->4command: ["echo", "SUCCESS"] -------------------> 5

POD

pod是容器的集合及其在Kubernetes集群节点内的存储.可以在其中创建具有多个容器的pod.以下是将数据库容器和Web界面容器保存在同一个窗格中的示例.

apiVersion: v1kind: Podmetadata:   name: Tomcatspec:   containers:   - name: Tomcat      image: tomcat: 8.0      ports:- containerPort: 7500imagePullPolicy: Always

服务

可以将服务定义为逻辑一组豆荚.它可以定义为pod顶部的抽象,提供单个IP地址和DNS名称,通过它可以访问pod.使用Service,可以非常轻松地管理负载平衡配置.它可以帮助POD轻松扩展.

apiVersion: v1kind: Servicemetadata:   name: Tutorial_point_servicespec:   ports:   - port: 8080      targetPort: 31999

复制控制器

复制控制器是Kubernetes的主要功能之一,它负责管理pod生命周期.它负责确保在任何时间点运行指定数量的pod副本.

apiVersion: v1kind: ReplicationControllermetadata:   name: Tomcat-ReplicationControllerspec:   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/v1beta1kind: ReplicaSetmetadata:   name: Tomcat-ReplicaSetspec:   replicas: 3   selector:      matchLables:      tier: Backend   matchExpression:      - { key: tier, operation: In, values: [Backend]}      app: App   component: neo4jspec:   containers:   - name: Tomcat-image: tomcat: 8.0   ports:containerPort: 7474

部署

升级部署和更高版本的复制控制器.它们管理副本集的部署,副本集也是复制控制器的升级版本.他们有能力更新副本集,他们也能够回滚到以前的版本.

apiVersion: extensions/v1beta1 --------------------->1kind: Deployment --------------------------> 2metadata:   name: Tomcat-ReplicaSetspec:   replicas: 3   template:      metadata:lables:   app: Tomcat-ReplicaSet   tier: Backendspec:   containers:name: Tomcat-   image: tomcat: 8.0   ports:   - containerPort: 7474

所有配置文件都可用于创建各自的Kubernetes对象.

$ Kubectl create –f .yaml

以下命令可用于了解详细信息和说明Kubernetes对象.

对于POD

$ Kubectl get pod $ kubectl delete pod $ kubectl describe pod 

对于复制控制器

$ Kubectl get rc $ kubectl delete rc $ kubectl describe rc 

服务

$ Kubectl get svc $ kubectl delete svc $ kubectl describe svc 

有关如何使用Docker和Kubernetes的更多详细信息,请使用以下链接访问我们的Kubernetes教程 kubernetes .