Openshift通过k8s集群部署web应用
开篇说明:本篇是openshift3.9集群环境具体的搭建过程可以参考我的博文:最新OpenShift 3.9 集群(Ansible)安装本篇是基于已有镜像进行部署的,如果如何通过docker push镜像到镜像仓库可以参考我的博文:OpenShift推送本地镜像到镜像仓库 一、新建pod文件:hellodocker-pod.yamlapiVersion: v1kind: Po...
开篇说明:本篇是openshift3.9集群环境具体的搭建过程可以参考我的博文:最新OpenShift 3.9 集群(Ansible)安装
本篇是基于已有镜像进行部署的,如果如何通过docker push镜像到镜像仓库可以参考我的博文:OpenShift推送本地镜像到镜像仓库
一、新建pod文件:hellodocker-pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: hellodocker-pod
labels:
name: hellodocker-pod
spec:
containers:
- name: hellodocker
image: docker-registry.default.svc:5000/hellodocker/hellodocker
ports:
- containerPort: 8080
说明:hellodocker-pod:pod即容器实例的名称;labels:容器实例对应的标签;image:启动容器的镜像;containerPort:容器虚拟出的端口
二、新建ReplicationController:hellodocker-rc.yaml文件如下:
apiVersion: v1
kind: ReplicationController ##表明这个是kubernetes的RC资源,这个是比较低级和基础的资源
metadata:
name: hellodocker-rc ##这个是RC资源的名字,全局唯一,可以通过kubectl get rc查看
spec:
replicas: 1 ##副本的数量
selector:
name: hellodocker-pod ##RC资源,选择label的标签
template:
metadata:
labels:
name: hellodocker-pod ##定义pod的资源label,很重要的一个属性,是被其他service、rc等资源选择标志
spec:
containers: ## 容器的属性
- name: hellodocker-pod
image: docker-registry.default.svc:5000/hellodocker/hellodocker ##docker的images
ports:
- containerPort: 8080
说明:selector:RC关联的pod实例
三、新建Service:hellodocker-service.yaml文件如下:
apiVersion: v1
kind: Service
metadata:
name: hellodocker-service
spec:
type: NodePort
ports:
- port: 8080
nodePort: 30001
selector:
name: hellodocker-pod
说明:nodePort:对外映射的端口,通过此端口访问,必须大于30000;selector:service关联的pod实例
四、将上述三个文件导入到 /home/k8s/project下
具体目录根据自己的实际情况创建
cd /home/k8s/project
五、启动部署服务
- 启动pod
kubectl create -f hellodocker-pod.yaml
查看pod状态
kubectl get pods
- 启动rc
kubectl create -f hellodocker-rc.yaml
- 启动service
kubectl create -f hellodocker-service.yaml
查看service状态
kubectl get service
六、登陆openshift集群web端查看当前服务
七:访问服务:
192.168.10.179:30001这是我的本地master的IP+nodePort
至此:Openshift通过k8s集群部署web应用已经完成!
更多推荐
所有评论(0)