在本地环境中设置OpenShift Origin v3的备忘录

由于试图在Docker中使用OpenShift本身的设置,遇到了各种问题,所以我决定记录下我的工作日志。

提供环境

1-1. 启动虚拟机

创建一个合适的实验环境使用Vagrant。Vagrantfile在这里。

启动虚拟机,通过SSH进入其中。从这里开始,所有操作都在虚拟环境中执行。

$ ls
Vagrantfile docker-compose.yml

$ vagrant up
$ vagrant ssh

这台虚拟机的IP地址是192.168.99.101。

1-2. 安装Docker

用 yum 正常地进行安装。顺便安装 docker-compose。

在启动Docker之前,要修改/etc/sysconfig/docker来允许不安全的注册表。
在OpenShift内部,有自己的Docker注册表,可以从那里构建和部署应用程序。
这次我们简单地修改为–insecure-registry 0.0.0.0/0来启动。

这些操作已在Vagrantfile中执行完毕。顺便提一下,本次使用的docker容器内OpenShift二进制版本是1.0.6。

2. 启动 OpenShift 容器

2-1. 开启容器

使用类似这样的docker-compose.yml文件进行启动。

$ cd /vagrant
$ ls
Vagrantfile docker-compose.yml

$ sudo docker-compose up -d

2-2. 尝试打开OpenShift的Web UI。

尝试在OpenShift上打开Web UI。

在(虚拟环境的)主机上打开http://openshift.192.168.99.101.xip.io:8443,并且如果能够成功登录,就可以了。
顺便提一下,管理员的ID和初始密码应该是admin:admin。

3. 开启用于OpenShift的Docker镜像仓库

为了简化操作,接下来在OpenShift容器中进行工作。

$ sudo docker ps  # コンテナのIDなどを確認
$ sudo docker exec -it vagrant_origin_1 /bin/bash

搭建Docker注册表。
如果不搭建它,应用程序的构建将会失败。

# oadm registry --create --credentials=openshift.local.config/master/openshift-registry.kubeconfig --config=openshift.local.config/master/admin.kubeconfig

4. 运行一个连接 OpenShift 内外的路由器。

# echo '{"kind":"ServiceAccount","apiVersion":"v1","metadata":{"name":"router"}}' | oc create -f -
# oc edit scc privileged
(users: の中に`- system:serviceaccount:default:router`を追加)
# oadm router router --credentials=openshift.local.config/master/openshift-router.kubeconfig --service-account=router

尝试部署一个适当的应用程序。

试着部署 https://github.com/openshift/nodejs-ex。

# oc login --username=admin --password=admin
# oc new-project my-project
# oc new-app openshift/nodejs-010-centos7~https://github.com/openshift/nodejs-ex.git

在Web UI(或者oc status)上可以看到类似于“正在构建”的页面。请稍等片刻直到完成。
在构建完成后,访问显示在Web UI上的地址(如172.17.0.7:8080),确认是否能得到响应。

6. 让外面可以看到

使应用程序能够直接从(虚拟环境的)主机端可见。

# oc expose service nodejs-ex --hostname=nodejs-ex.openshift.192.168.99.101.xip.io

如果主机端可以访问nodejs-ex.openshift.192.168.99.101.xip.io,那就没问题了。辛苦啦。

请参考

    • https://docs.openshift.org/latest/getting_started/administrators.html

 

    • https://github.com/openshift/origin/blob/master/examples/sample-app/README.md

 

    https://docs.openshift.com/enterprise/3.0/install_config/install/deploy_router.html
广告
将在 10 秒后关闭
bannerAds