fabric8
Mar 12, 2018
Technology
什么是fabric8
fabric8是一个开源集成开发平台,为基于Kubernetes和Jenkins的微服务提供持续发布。可以认为它是一个对Java友好的开源微服务管理平台.
fabric8也可以被视为是一个微服务DevOps平台。Fabric8提供了一个完全集成的开源微服务平台,可在任何的Kubernetes和OpenShift环境中开箱即用。
参考:
https://jimmysong.io/posts/fabric8-introduction/
搭建过程(ArchLinux)
安装必要的包:
$ sudo pacman -S libvirt qemu dnsmasq ebtables
将自己的用户添加到kvm
和libvirt
用户组:
$ sudo usemod -a -G kvm,libvirt <username>
更新/etc/libvirt/qemu.conf
中关于libvirt的配置:
$ sudo sed -r 's/group=".+"/group="kvm"/1' /etc/libvirt/qemu.conf > /etc/libvirt/qemu.conf
更新当前的session,以适配用户组改动:
$ newgrp libvirt
此外,我们需要在yaourt仓库中安装对应的包以使用dockermachine对于kvm的驱动:
$ sudo pacman -S docker-machine-kvm2 docker-machine
$ yaourt docker-machine-kvm
安装minishift:
$ yaourt minishift
$ minishift start --memory=7000 --cpus=4 --disk-size=50g
启动完毕后,可以检查对应的CPU/内存/磁盘信息等。
安装fabric8 on minishift(我用的是on-my-zsh):
$ echo 'export PATH=$PATH:~/.fabric8/bin' >> ~/.zshrc
$ source ~/.zshrc
配置GitHub Client ID/密码, 参考:
URL可以填写为:
http://keycloak-fabric8.{minishift ipv4 value}.nip.io/auth/realms/fabric8/broker/github/endpoint
homepage的URL可以填写为https://fabric8.io
.
由上面得到的clientID和client secret可以被引入到环境变量中:
$ export GITHUB_OAUTH_CLIENT_ID=123
$ export GITHUB_OAUTH_CLIENT_SECRET=123abc
之后:
$ gofabric8 start --minishift --package=system --namespace fabric8
经过漫长的等待(需要翻墙), fabric8环境将就绪,用来登录的用户名/密码分别为"developer/developer”
fabric 8 playing
以system:admin登录,查看工作空间:
$ oc login -u system:admin -n default
Logged into "https://192.168.42.131:8443" as "system:admin" using existing credentials.
You have access to the following projects and can switch between them with 'oc project <projectname>':
* default
developer
developer-che
developer-jenkins
developer-run
developer-stage
fabric8
kube-public
kube-system
myproject
openshift
openshift-infra
openshift-node
Using project "default".
可以看到,fabric8的namespaces已经被创建出来。