nekop's blog

OpenShift / JBoss / WildFly / Infinispanの中の人 http://twitter.com/nekop

Fedora 24でoc cluster upを利用してOpenShift Originをセットアップする

超簡単バージョン。数行のコマンドでOpenShift Originのセットアップがおしまいだ。バージョンはOrigin v1.3.0-alpha.2。

この例ではVagrantで手元のFedora 24のVMを利用しているけど、どのクラウド上でも、OSもCentOSでもAmazon LinuxでもDockerの新しいの入ってればたぶん動きます。

  • Vagrantfile
Vagrant.configure(2) do |config|
  config.vm.box = "fedora/24-cloud-base"
  config.vm.provider "libvirt" do |libvirt|
    libvirt.driver = "kvm"
    libvirt.memory = 2048
    libvirt.cpus = 4
  end
end
  • セットアップ
vagrant up
vagrant ssh
sudo dnf install docker -y
sudo sh -c "echo INSECURE_REGISTRY='--insecure-registry 172.30.0.0/16' >> /etc/sysconfig/docker"
sudo systemctl start docker
sudo systemctl enable docker
curl -LO https://github.com/openshift/origin/releases/download/v1.3.0-alpha.2/openshift-origin-client-tools-v1.3.0-alpha.2-983578e-linux-64bit.tar.gz
sudo tar xf openshift-origin-client-tools-v1.3.0-alpha.2-983578e-linux-64bit.tar.gz  --strip=1 -C /usr/bin openshift-origin-client-tools-v1.3.0-alpha.2-983578e-linux-64bit/oc
sudo curl -L https://raw.githubusercontent.com/openshift/origin/master/contrib/completions/bash/oc -o /etc/bash_completion.d/oc
. /etc/bash_completion.d/oc
sudo oc cluster up
  • oc cluster upのログ
$ sudo oc cluster up
-- Checking Docker client ... OK
-- Checking for existing OpenShift container ... OK
-- Checking for openshift/origin:latest image ... OK
-- Checking Docker daemon configuration ... OK
-- Checking for available ports ... OK
-- Checking type of volume mount ... 
   Using nsenter mounter for OpenShift volumes
-- Checking Docker version ... OK
-- Creating volume share ... OK
-- Finding server IP ... 
   Using 192.168.121.163 as the server IP
-- Starting OpenShift container ... 
   Creating initial OpenShift configuration
   Starting OpenShift using container 'origin'
   Waiting for API server to start listening
   OpenShift server started
-- Installing registry ... OK
-- Installing router ... OK
-- Importing image streams ... OK
-- Importing templates ... OK
-- Login to server ... OK
-- Creating initial project "myproject" ... OK
-- Server Information ... 
   OpenShift server started.
   The server is accessible via web console at:
       https://192.168.121.163:8443

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

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

ついでにログイン面倒なのでデフォルトでsystem:adminでログイン状態にしておく。

mkdir ~/.kube/
sudo cat /var/lib/origin/openshift.local.config/master/admin.kubeconfig > ~/.kube/config

origin containerはhost networkの:53をLISTENして名前解決できるようにしているのですが、VMを利用せずに素でセットアップしたFedora 24 Workstationなどで上で同じことをした場合、Docker containerからのDNS queryをfirewallがはじいてしまうのでpodが動作しません。以下のコマンドで許可する必要があります。また、:53が既にふさがってる場合なども動作しません。dnsmasqやlibvirtdでdnsmasqが動作している場合などは止めておく必要があります。

sudo firewall-cmd --add-service=dns
sudo firewall-cmd --runtime-to-permanent