📅  最后修改于: 2020-10-31 13:57:24             🧑  作者: Mango
OpenShift建立在Docker和Kubernetes之上。所有容器都使用kubernetes编排功能在Docker集群之上构建,而Docker集群基本上是Linux机器之上的Kubernetes服务。
在此过程中,我们构建了Kubernetes主节点,该主节点控制所有节点并将容器部署到所有节点。 Kubernetes的主要函数是使用另一种配置文件来控制OpenShift集群和部署流程。与在Kubernetes中一样,我们使用kuctctl的方式与使用OC命令行实用程序在集群节点上构建和部署容器的方式相同。
以下是用于在集群中创建不同种类的对象的不同种类的配置文件。
Kubernetes(Docker)映像是Containerized Infrastructure的关键构建块。到目前为止,Kubernetes仅支持Docker映像。容器中的每个容器都在其中运行其Docker映像。
apiVersion: v1
kind: pod
metadata:
name: Tesing_for_Image_pull -----------> 1
spec:
containers:
- name: neo4j-server ------------------------> 2
image: ----------> 3
imagePullPolicy: Always ------------->4
command: [“echo”, “SUCCESS”] -------------------> 5
Pod是容器的集合及其在Kubernetes集群的节点内的存储。可以创建一个带有多个容器的容器。以下是将数据库容器和Web界面容器保持在同一容器中的示例。
apiVersion: v1
kind: Pod
metadata:
name: Tomcat
spec:
containers:
- name: Tomcat
image: tomcat: 8.0
ports:
- containerPort: 7500
imagePullPolicy: Always
可以将服务定义为Pod的逻辑集合。可以将其定义为Pod顶部的抽象,它提供可访问Pod的单个IP地址和DNS名称。使用服务,可以非常轻松地管理负载平衡配置。它可以帮助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 .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教程。