[OpenShift origin] gitlab-ce install

GitLab

Webhookを体験すべくGitLabをOpenShift上にインストールしたいと思います(^^♪
が、結論からいうとこれまた前途多難で今のところ成功していません。

一応GitLabのinstallationページにはOpenShiftの記載もありものの
OpenShift 3 is not yet deployed on RedHat's offered Online platform (openshift.com), so in order to test it, we will use an all-in-one Virtualbox image that is offered by the OpenShift developers and managed by Vagrant.

とあり、最新の状態ではありません…。

ちなみに現在テストしているOpenShift originのバージョンは
# oc version
oc v3.7.0+7ed6862
kubernetes v1.7.6+a08f5eeb62


とりあえずまずはinstallationの流れの通りやってみます。

# oc login
Authentication required for https://127.0.0.1:8443 (openshift)
Username: tak
Password:
Login successful.

You don't have any projects. You can try to create a new project, by running

oc new-project
# oc new-project gitlab
Now using project "gitlab" on server "https://127.0.0.1:8443".

You can add applications to this project with the 'new-app' command. For example, try:

oc new-app centos/ruby-22-centos7~https://github.com/openshift/ruby-ex.git

to build a new example application in Ruby.
# cd /tmp
# wget https://gitlab.com/gitlab-org/omnibus-gitlab/raw/master/docker/openshift-template.json
# oc create -f openshift-template.json -n openshift
Error from server (Forbidden): error when creating "openshift-template.json": User "tak" cannot create templates in the namespace "openshift": User "tak" cannot create templates in project "openshift" (post templates)

openshift projectはAdministratorのものなので怒られてしまいました。
Administratorユーザでやり直します。
# oc logout
Logged "tak" out on "https://127.0.0.1:8443"
# oc login -u system:admin
Logged into "https://127.0.0.1:8443" as "system:admin" using existing credentials.

You have access to the following projects and can switch between them with 'oc project ':

default
* gitlab
kube-public
kube-system
myproject
openshift
openshift-infra
openshift-node

Using project "gitlab".
# oc create -f openshift-template.json -n openshift
template "gitlab-ce" created

今度は成功しました!

ではGUIでOpenshift originへログインし状況を確認します。
Catalog欄にはGitLab、Projectにはgitlabが存在していることが分かります。
GitLab01.png

gitlabプロジェクトに入り、Browse CatalogからGitLabを選択します。
GitLab02.png

GitLab03.png

表示れるダイアログに初期値を入力しながら先へ進みます。
Gitlab instance hostnameには「gitlab.127.0.0.1.nip.io」とOpenshift標準のドメインに「gitlab」を付与したものを
GitLab Root User Passwordは8文字以上との事で、8文字で設定しました。
GitLab04.png

GitLab05-1.png

GitLab05-2.png

そうすると嬉しくなるメッセージが表示されています。
gitlab-ce has been created in gitlab successfully.
これで完成か…なんて思っていたら大間違いでした(笑)
Closeボタンをクリックしgitlabプロジェクトの具合を見に行きます。
GitLab06.png

GitLab07.png

順調に「gitlab-ce-postgresql, #1」のpodは起動しました。
GitLab08.png

「gitlab-ce-redis, #1」も順調に終わり後は本体である「gitlab-ce. #1」の完成を待てば…と思うが否や
Errorの無情な表示が
GitLab09.png

さて何がErrorなのか探りに行きます。
Applications》PodsでエラーとなっているpodをクリックしLogsをクリックします。
今回の場合は、「gitlab-ce-1-vbj7f」がそれにあたります。
GitLab10.png

GitLab11.png

GitLab12.png

GitLab13.png

Logs
Thank you for using GitLab Docker Image!
Current version: gitlab-ce=10.3.2-ce.0
Configure GitLab for your system by editing /etc/gitlab/gitlab.rb file
And restart this container to reload settings.
To do it use docker exec:
docker exec -it gitlab vim /etc/gitlab/gitlab.rb
docker restart gitlab
For a comprehensive list of configuration options please see the Omnibus GitLab readme
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md
If this container fails to start due to permission problems try to fix it by executing:
docker exec -it gitlab update-permissions
docker restart gitlab
Generating ssh_host_rsa_key...
No user exists for uid 1000080000


権限がないという事で怒られました…。そういえば最初のダイアログにそれっぽいメッセージがありましたね。
GitLab04.png
GitLab requires that the serviceaccount for the main GitLab app be added to the anyuid security context.
The service account ame is: -user

って事で権限をanyuidに追加します。
# oc login -u system:admin
Logged into "https://127.0.0.1:8443" as "system:admin" using existing credentials.

You have access to the following projects and can switch between them with 'oc project ':

default
* gitlab
kube-public
kube-system
myproject
openshift
openshift-infra
openshift-node

Using project "gitlab".
# oc adm policy add-scc-to-user anyuid system:serviceaccount:gitlab:gitlab-ce-user
scc "anyuid" added to: ["system:serviceaccount:gitlab:gitlab-ce-user"]


さあこれで1難去ったので再度チャレンジですね~
関連記事