配置主机名
hostname set-hostname master.example.com
安装Docker
yum install -y docker
启动并设置开机自启动Docker
systemctl start docker
systemctl enable docker
镜像加速,配置/etc/sysconfig/docker
为DOCKER_OPTS变量追加参数–registry-mirror=https://docker.mirrors.ustc.edu.cn
添加如下参数:
OPTION='--selinux-enbaled --log-driver=joutnald --registry-mirror=https://docker.mirrors.ustc.edu.cn'
重启Docker使其生效
systemctl restart docker
测试Docker是否正常工作
运行一个hello-openshift镜像,用go语言编写 如若一切正常 容器将成功启动 并监听8080 8888 port
docker run -it openshift/hello-openshift
下载Openshift origin安装包
wget https://github.com/openshift/origin/releases/download/v1.4.1/openshift-origin-server-v1.4.1-3f9807a-linux-64bit.tar.gz
安装及启动OpenShift Origin
cd /opt/
tar -zxvf openshift-origin-server-v1.4.1-3f9807a-linux-64bit.tar.gz
ln- s openshift-origin-server-v1.4.1-3f9807a-linux-64bit /opt/openshift
将Openshift相关命令追加至系统PATH变量中
编辑/etc/profile
vi /etc/profile
PATH=$PATH:/opt/openshift/
执行source命令使其配置生效
sources /etc/profile
测试shell能否找到openshift命令
openshift version
Kubernetets版本为:1.3.0
etcd 2.3.0+git
cd /opt/openshift
openshift start
登录Openshift origin控制台
firefox https://master.example.com:8443
username dev
password dev
运行一个容器应用
创建项目(priject对象)
项目是openshift中的战役中资源组织方式 配额管理和网络隔离的基本单位户
NEW Project—>输入项目名hellp-world—>输入展示名—>hello world—>Create
部署Docker镜像
Openshift是以原生的docker作为平台的容器引擎
Docker是允许容器一root用户身份执行容器内的程序
Openshift不允许容器以root身份执行容器内的程序
Image Name—>输入openshift/hellpo-openshift—>点击放大按钮 16页
curl 172.17.0.3:8080
Hello OpenShift!
Openshift命令行工具
oc是具有权限管控的 需要先通过oc login 以dev用户身份登录
oc version
oc login -u dev https://192.168.172.167:8443
创建一个新项目hello-world-oc
oc new-project hello-world-oc
查看当前项目容器的列表
oc get pod
以集群管理员(system:admin)登录
mkdir -p ~/.kube
cp /opt/openshift/openshift.local.config/master/admin.kuberconffig ~/.kube/config
cp: overwrite '/root/.kube/config'? y
通过oc login命令登录
oc login -u system:admin
查看当前用户名
ocwhoami
查看节点信息
oc get node
添加Router
添加Router组建 router是外界访问集群内容器应用的入口 集群外部的请求都会到达router 并有router分发到具体
切换到default
oc project default
Service Account(系统账号)是Openshift中专门供程序和组建使用的账号
oadm polict add-scc-to-user privileged system:serviceaccountLdefault:router
创建Router
oadm router router --replicas=1 --service-account=router
oc 面向一般用户 oadm面向集群管理员 可进行 集群的管理和配置
oc get pad -n default
查看Haproxy是否在监听主机的80.443端口
ss- ltm |egrep -w *80|443*
添加Registry
部署集群内部的Docker Registry 内部的Docker镜像仓库
S2I 工作是辅助将应用的源代码转换成可以部署的Docker镜像
切换刀片default
oc project default
部署Registry
oadm registry config=/opt/openshift/openshift.local.config/master/admin . kubeconfig service-account=registry
查看Registry是否处于运行状态
由于部署的Registry没有启用HTTPS 所以修改Docker配置文件
Docker以非HTTPS方式连接Resistry
vi /etc/sysconfig/Docker
为OPTION变量值追加–insecure-registryt=https://172.30.0.0/16.
OPTIONS= ’ --selinux-enabled --log-driver=journald --registry-mirror=https://docker.mirrors .ustc . edu . cn --工nsecure-registry=l72.30 . 0.0/16'
重启Docker服务 配置生效
systemctl restart docker
添加Image Stream
切换openshift
oc project OpenShift
导入Image Stream
curl https://raw.githubusercontent.com/openshift/origin/v1.3.0/examples/imager-sterams/image-streams-centos7.json|oc create -f --n OpenShift
列出刚刚到导入Image Stream对象
oc get is -n OpenShift
添加Template
Template 特性 可以多模块 满足外部依赖 根据实际需求 配置传递不同参数
切换到openshift
oc project OpenShift
部署Cake和MySQL
oc create -f https://raw.githubusercontent.com/openshift/origin/v1.3.0/examples.quickstarts/cakephp-mysql.json -n openshift
查看导入模板信息
oc get template -n OpenShift
查看详细内容
oc get template cakeup-mysql-example -o json -n openshift
刷新openshift web控制台的服务目录界面->过滤器中输入cake->即可看到刚导入的模板
导入系统
oc create -f https://raw.githubusercontwent.com/nichochen/openshift-book-source/master/template/wildly-basic-s2i.template.json -n OpenShift
部署CakePHP及MySQK数据库
登陆Openshift Web控制台->New project->项目名:hellp-world-php->create->Template->Application hostname:php.apps.exmaple.com->Create->Continue overview->View log