快速安装

介绍openshift的快速安装方法。

不知道为什么openshift在国内热度这么低,那些要做自己容器云的公司,不知道有openshift项目的存在么?完全满足我的需求。

docker负责应用的隔离打包,k8s提供集群管理和容器的编排服务,而openshfit则负责整个应用的生命周期:

  • 源码管理,CI&CD能力
  • 多租户管理, 支持LDAP和Oauth
  • 集成监控日志于web console

先说下自接触到openshift项目就遇到的一个困惑,就是openshift origin/enterprise /online/dedicated/ocp之间的关系: orgin相当于Fedora, 其他的相当于RHEL

接下来谈下我用自己的笔记本实践的过程与感受:

  1. 快速安装

本人日常基于ubuntu16.04办公,所以用oc直接上, oc相当于kubectl

这里直接下载oc客户端,或者自行编译, 编译结果在_output目录下

git clone --depth=1 https://github.com/openshift/origin.git
cd origin && make
mv _output/local/bin/linux/amd64/oc  /usr/local/bin

启动openshift, 默认开启监控并初始安装自最新版本,当前是v1.5.0-alpha.2

oc cluster up --metrics=true  --version=latest --insecure-skip-tls-verify=true --public-hostname=air13

过程中会拉取所需镜像, 我这里显示比较多,之前已经做了些实验

➜  ~ docker images | grep openshift | awk '{print $1}'
openshift/node
openshift/origin-sti-builder
openshift/origin-docker-builder
openshift/origin-deployer
openshift/origin-gitserver
openshift/origin-docker-registry
openshift/origin-haproxy-router
openshift/origin
openshift/hello-openshift
openshift/openvswitch
openshift/origin-pod
openshift/origin-metrics-cassandra
openshift/origin-metrics-hawkular-metrics
openshift/origin-metrics-heapster
openshift/origin-metrics-deployer
openshift/mysql-55-centos7
openshift/origin-logging-curator
openshift/origin-logging-fluentd
openshift/origin-logging-deployment
openshift/origin-logging-elasticsearch
openshift/origin-logging-kibana
openshift/origin-logging-auth-proxy

启动后,会打印如下信息

OpenShift server started.
The server is accessible via web console at:
    https://air13:8443

The metrics service is available at:
    https://metrics-openshift-infra.192.168.31.49.xip.io

You are logged in as:
    User:     developer
    Password: developer

To login as administrator:
    oc login -u system:admin

打开浏览器,访问https://air13:8443,默认用developer登录,其实现在任意用户任意密码都可以的。

web console里是空空如野的,可以临时授权developer用户操作所有项目

oc adm policy add-cluster-role-to-user cluster-admin developer

2.技巧总结

  • 命令行自动补全, 其实kubectl也可以如此

source <(oc completion bash)

  • 默认监控占用的资源太大了,可以如下降低资源占用,当然也可以web操作限制资源利用率

    oc env rc hawkular-cassandra-1 MAX_HEAP_SIZE=1024M -n openshift-infra
    #重建下变量才会生效
    oc scale rc hawkular-cassandra-1 --replicas 0 -n openshift-infra
    oc scale rc hawkular-cassandra-1 --replicas 1 -n openshift-infra
    

    因为是rc,所以直接杀掉没关系,要不env不生效

  • 自己编译离线文档

    # 下载源文件
    git clone --depth=1 https://github.com/openshift/openshift-docs.git
    # 编译
    cd openshift-docs && asciibinder build
    # 结果会存放在 _preview下,
    cd _preview && python -m SimpleHTTPServer
    #打开浏览器访问127.0.0.1:8000
    

    推荐此人blog,有几篇干货

3.后面会重点说下权限/资源管理和整个app开发的流程