Contents
OpenShift v3 brings many architectural changes and introduces new concepts and components. It is built around the applications running in Docker containers, scheduling and management support provided by the Kubernetes project, and augmented deployment, orchestration, and routing functionality on top.
官网:https://manage.openshift.com/
简介
- Starter Plan:1 Project, 1GiB Memory, 1GiB Storage; project resources sleep after 30 minutes of inactivity, and must sleep 18 hours in a 72 hour period.
- Docker应用运行权限受限,最好以No Root运行;
- Starter Plan提供两个节点,US-East对应的泛域名
*.1d35.starter-us-east-1.openshiftapps.com
;US-West对应的泛域名*.7e14.starter-us-west-2.openshiftapps.com
; - 应用地址命名原则:
Route名-Project名.泛域名
,如dferg-yfdr.1d35.starter-us-east-1.openshiftapps.com
使用
这里以wangyi2005/goproxy-vps镜像为例,介绍使用方法。
签发证书
对节点泛域名,签发证书。不想自签的可以跳过这一步,使用下面我提供的签发内容。
1 2 |
openssl genrsa -out cakey.pem 2048 openssl req -new -x509 -key cakey.pem -out cacert.pem -days 3655 |
运行之后,得到私钥cakey.pem和证书cacert.pem。
设置配置文件
将两个pem文件内容,按照https://raw.githubusercontent.com/yulahuyed/goproxy-vps/master/openshift-us-east格式,替换server_name和pem部分。
server_name即应用地址,根据命名原则可以预先知晓。
pem部分即私钥+证书。不想签发证书的,可以直接使用上面对*.1d35.starter-us-east-1.openshiftapps.com的签发内容。
将修改好的配置文件上传至可以直接读取文件内容的网站上,比如github和pastebin。
部署应用
设置环境变量:CONFIG_FILE_URL=https://raw.githubusercontent.com/yulahuyed/goproxy-vps/master/openshift-us-east
点击Create,创建应用。
创建外部连接
Applications–>Routes–>Create Route
根据预先在配置文件中设定的应用地址,创建Route Name,Service选择刚才创建的应用,勾选Secure route,TLS Termination选择Passthrough
点击Create,创建外部连接。
等待Route和Deployment,创建完成,就可以得到HTTPS代理(应用地址:443)。
测试应用:goproxy-enwfjwjef.7e14.starter-us-west-2.openshiftapps.com:443
客户端设置
FireFox
使用FoxyProxy插件。设置时勾选SSL Proxy,点击OK,会弹出是否验证证书,点击YES,确认证书安装。
Chrome
使用Proxy SwitchyOmega插件。无需证书确认即可使用。
IOS
https://shui.azurewebsites.net/2017/11/02/configure-https-proxy-on-ios/
Android
尝试Postern(no root?)、Drony(no root)、ProxyDroid(root?)
防休眠
72小时内必须休眠18小时,不知道是连续还是累计的。
如果是连续的,可以注册两个账号交替使用。
如果是累计的,即每天要休眠6个小时。可以利用Online cron services,在白天工作时间(7:00-24:00),进行小于半小时访问一次的请求,来实现防休眠的目的。
这里以https://www.easycron.com/为例,easycron会根据用户登陆地区自动设置时区,不正确的话再右上角Timezone处修改。
更多优化,可见:
http://shui.azurewebsites.net/2017/10/31/the-digital-garage/
Tips:
- Starter Plan的应用,半个小时没有访问会自动休眠,有访问请求,会自动快速唤醒;
- 容器内用户权限为Root,都会提醒”Image runs as the root user which might not be permitted by your cluster administrator”。wangyi2005/goproxy-vps镜像提醒没有关系,可以正常部署。
- OpenShift创建Deployment有时快有时慢,同时创建两个确保能尽快完成创建。
- Route创建更慢,有时足够一觉起床小圆圈还在转的了
- 如果不知道Route命名规则,可以先创建一个应用,不填写环境变量,然后创建Route,知道Route之后签发证书,然后修改Deployments配置,会自动创建一个新版本应用。
请教这个方法是否支持websocket?我的vps没有国内流量,只有国外的,是否能用cdn加速?
goproxy使用的HTTPS,如果需要使用websocket,可以部署v2ray,这个也写了,详见
http://shui.azurewebsites.net/2017/12/10/v2ray-with-openshift-container-platform/
如果是全站CDN加速,不论websocket还是HTTP(s)都会有加速的效果。
有VPS,建议建TCP,websocket和HTTP(s)没有TCP的稳定。
部署完了 无法连接
Application is not available
可能openshift用的人多,偶尔会出现route无法正确指向pod的情况。可以在deployment中创建新版本应用。
初次部署,建议先在digital-garage试试
https://shui.azurewebsites.net/2017/10/31/the-digital-garage/
72小时内必须休眠18小时,即每天要休眠6个小时,可以设置定时任务,使应用在凌晨一点到早上7点休眠
博主,请问这里应该怎样设置呢?不太懂openshift
谢谢
已更新防睡眠操作
收到,非常谢谢
目前正在等待创建Route的完成