OpenShift Origin v1.3.0-rc1をoc cluster up
VagrantでVMセットアップする部分は前回のFedora 24でoc cluster upを利用してOpenShift Originをセットアップするを参照。
DOWNLOAD_URL=https://github.com/openshift/origin/releases/download/v1.3.0-rc1/openshift-origin-client-tools-v1.3.0-rc1-ac0bb1bf6a629e0c262f04636b8cf2916b16098c-linux-64bit.tar.gz FILENAME=$(basename $DOWNLOAD_URL) PATHNAME=${FILENAME%%\.tar\.gz} sudo dnf install git 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 $DOWNLOAD_URL sudo tar xf $FILENAME --strip=1 -C /usr/bin $PATHNAME/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 --metrics mkdir ~/.kube/ sudo cat /var/lib/origin/openshift.local.config/master/admin.kubeconfig > ~/.kube/config
NexusをDockerで動作させる
Nexusは基本的にOpenShift上で動作させて使ってるんだけど、自分の場合はOpenShift環境が複数あってNexusも作って壊して、みたいなことが多いという特殊な状態なので、別の環境にマスターとなるミラーがあったほうが良さそうだなぁ、ということで自分の汎用サーバにしているRHEL 7 VMでNexusを動かすことにした。
データボリュームはホストマウントでsystemdのUnitファイル書いておしまい。
sudo mkdir /sonatype-work && sudo chmod 777 /sonatype-work sudo sh -c "cat << EOM > /etc/systemd/system/nexus.service [Unit] Description=Nexus on Docker Requires=docker.service After=docker.service [Service] Type=simple ExecStartPre=-/usr/bin/docker stop nexus ExecStartPre=-/usr/bin/docker rm nexus ExecStartPre=/usr/bin/docker pull sonatype/nexus ExecStart=/usr/bin/docker run --name nexus -p 8081:8081 -v /sonatype-work:/sonatype-work:Z sonatype/nexus [Install] WantedBy=multi-user.target EOM" sudo systemctl start nexus && sudo systemctl enable nexus
Bose QuietComfort 35を買った
Bose QuietComfort 15を使っていて今年の3月にアンオフィシャルのイヤーパッドに交換していたのだけど、やはり安物なのかすぐ皮が割れてダメになってしまった。経験上オフィシャルのイヤーパッドは2年強持つけど5000円くらいするし、QC15はもう7年前の製品なのでこのタイミングでお金かかる補修も微妙だし本体ごと買い換えるかなー、ということで今年6月に発売されていたBose QuietComfort 35をポチった。ヨドバシのポイントが結構あったのも使いたかったしね。6時間でおうちに届いた。
Nexus 6はペアリングして問題なく利用できた。
Fedora 24はペアリングできたように見えるけどヘッドフォンとして認識していない。調べてみると、LinuxのbluezはLEでのペアリングをサポートしておらず、LEが有効になったままペアリングするとダメなので一度bredrにしてペアリングして設定を戻す、という作業が必要とのこと。ペアリングを除けばLEはLinux 3.4/bluez 5からサポートされているということらしい。
http://unix.stackexchange.com/questions/292189/pairing-bose-qc-35-over-bluetooth-on-fedora
Soundを開いてBose QuietComfort 35を選択。Profileには"High Fidelity Playback (A2DP Sink)"と"Headset Head Unit (HSP/HFP)"という2つのProfileがあり、前者はふつうに高音質だが後者は非常に低音質になる。ただし、後者じゃないとマイクが認識しない。InputでQC35を選択すると自動的に後者のプロファイルになるようだ。
調べてみるとこれはBluetoothの仕様で、A2DPは片方向トラフィックなのでマイクは明らかに機能しないとのこと。音楽聞くときとビデオカンファレンスするとき、それぞれ設定で切り替えないといけないのは面倒だなぁ。
WildFly 10.1.0.Final リリースしました
WildFly 10.1.0.Finalがリリースされました。WildFlyのサイトからダウンロードできます。
リリースノートはこちら。今回のハイライトはデフォルトでのHTTP/2のサポートです。
HTTP/2をサポートするには、TLSの拡張であるALPNをサポートする必要があるのですが、JavaのTLS実装にALPNのサポートが追加されるのはまだリリースされていないJava 9です。
Jettyにはalpn-boot.jarというbootclasspathを利用してTLS実装を差し替えるというhackライブラリがあるのですが、利用するJavaのバージョンに依存があり、バージョン毎に対応するalpn-boot.jarを利用しないと動作しないという欠点があります。そこで、WidFlyのWebサーバであるUndertowでは、ALPNをサポートする別のhackを実装して、今回のリリースとなりました。
Got 13 seconds?? All you need to learn HTTP/2 on #WildFly 10.1 #theeasylife #javaee #jboss https://t.co/Mx5hF2EPfA pic.twitter.com/K4X3Bkmugz
— Jason Greene (@jtgreene) August 20, 2016
ChromeでF12を押して、Networkタブを開き、表示項目を右クリックしてProtocolを追加するとHTTP/2であるかどうかを上のツイートのように確認できます。
OpenShift Origin 1.3.0 v1.3.0-alpha.3をoc cluster up
前回のFedora 24でoc cluster upを利用してOpenShift Originをセットアップするのalpha3バージョンです。コマンドのメモだけ。
sudo dnf install git 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.3/openshift-origin-client-tools-v1.3.0-alpha.3-7998ae4-linux-64bit.tar.gz sudo tar xf openshift-origin-client-tools-v1.3.0-alpha.3-7998ae4-linux-64bit.tar.gz --strip=1 -C /usr/bin openshift-origin-client-tools-v1.3.0-alpha.3-7998ae4-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 mkdir ~/.kube/ sudo cat /var/lib/origin/openshift.local.config/master/admin.kubeconfig > ~/.kube/config
Fedora 24インストール
Fedora 24がリリースされたのでいつも通りWorkstationを半自動クリーンインストール。会社のThinkPad T440s、おうちのDell XPS 13 9350とThinkPad X1 Carbon 2012。
Fedora 23でいつも通りliveusb-creator
を使ったらUSBメモリの内容が初期化されてしまった。Fedora 23でliveusb-creator
が破壊的な変更をするようになってしまったようだ。How to create and use Live USBに従ってliveusb-creator
ではなくCUIのlivecd-tools
を使って書き込めばいままで通りのUSBメモリが維持できる。
セットアップの流れは以下のような感じ。
- sudo visudo
- USBメモリから$HOMEの
.git
を取得してgit reset --hard
- $HOME以下の設定ファイルや自前スクリプト群が復元する
- sudo dnf update -y
- gsettings修正スクリプト実行
- gitからいくつかcloneするスクリプト実行
- いくつかパッケージをインストールするスクリプト実行
- USBメモリからアーカイブ類のバックアップを復元するスクリプト実行
- Emacsでpackage-install
- ack
- twittering-mode
- helm
- go-mode
- Emacsのsemiとwanderlustインストール
- こいつらはmake install
- chromeとbluejeansのrpmのインストール
- Firefox syncのセットアップ
- Firefox about:config
- browser.showQuitWarning = true
- middlemouse.contentLoadURL = false
- browser.urlbar.trimURLs = false
- 会社のCA証明書、Wireless、VPNセットアップ
追加でインストールしているパッケージは現状こんな感じ。過去インストールしていたもののうちいくつかは会社のサーバやDockerイメージに追い出した。
git autofs nfs-utils sshfs ack man-pages hexchat java-1.8.0-openjdk\* emacs emacs-apel flim w3m emacs-w3m aspell-en libreoffice-writer libreoffice-calc libreoffice-impress sysstat tcpdump strace wireshark-gnome zlib-devel docker spice-xpi libvirt vagrant vagrant-libvirt virt-manager virt-install gimp rpm-build rpmdevtools golang
セットアップはだいたい30分で終わる。
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