nekop's blog

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

OpenShiftのImageStream

OpenShift 全部俺 Advent Calendar 2017 OpenShiftにはKubernetesに無いImageStreamというオブジェクトがあります。ImageStreamは内部的にタグに対応するDockerレジストリを管理し、それに追加で機能を提供します。ImageStreamは大きく以下の三つの機能を提…

OpenShiftやKubernetes上でJavaを動かす際の注意

OpenShift 全部俺 Advent Calendar 2017 OpenShiftやKubernetes上でリソース制限を設定したコンテナでJavaを動かすとき、デフォルト設定のままだとパフォーマンスが悪くなったり、oom-killerに殺されたりします。これはコンテナのcgroupsの制限をJavaが考慮…

OpenShiftのRouteとRouter

OpenShift 全部俺 Advent Calendar 2017 OpenShiftにはKubernetesで言うところのIngress, Ingress ControllerであるRouteとRouterが標準で利用できます。Kubernetes 1.0のころにはIngressが無かったので、独自に実装されました。 https://docs.openshift.org…

OpenShiftでStatefulSetを使ってみる

OpenShift 全部俺 Advent Calendar 2017 今までは普通のデプロイメントを利用していましたが、今回はちょっと特殊な性格を持つStatefulSetを使ってみましょう。StatefulSetのレプリカは連番のsuffixが付与され、スケール時の順序制御があったりvolumeClaimTe…

OpenShiftのs2iイメージをカスタマイズする

OpenShift 全部俺 Advent Calendar 2017 昨日は忘年会でした。全部俺 Advent Calendarがすごく大変そう、と言われましたが各エントリ20分程度で書いていますし、そうなるように内容を調整しています。例えば昨日のエントリは17時くらいに同僚に何書いて欲し…

OpenShiftのRBACを完全に理解する

OpenShift 全部俺 Advent Calendar 2017 よくわかりにくいと言われがちなOpenShift / KubernetesのRBACについて書いてみましょう。RBACは元々OpenShiftで実装され、それを元にKubernetes側へ実装された経緯があり、OpenShiftのclusterroleというリソースオブ…

OpenShiftのPipelineビルドで利用するイメージをカスタマイズする

OpenShift 全部俺 Advent Calendar 2017 Google Home買いました。日本語設定でいろいろやってみて、3歳児が「おーけーぐるぐる、てべりをちゅけてください、おねがいします!」と話しかけてるのを一通り楽しんでから英語設定にスイッチして使ってます。これ…

OpenShiftでJenkins Pipelineビルドを利用する

OpenShift 全部俺 Advent Calendar 2017 OpenShiftにはソースコードからビルドするs2iビルド、Dockerfileを利用してビルドするDockerビルドの他にJenkinsを利用したPipelineビルドというのがあります。s2iビルドやDockerビルドはコンテナイメージを生成してp…

OpenShiftでPVの中身を別のPVへ移行する

OpenShift 全部俺 Advent Calendar 2017 OpenShiftやKubernetesでPVを作って使ってたらPVが一杯になってしまったので大きなサイズのPVへ移行したい、であるとか、HDDのPVを使ってたけどSSDのPVに変えよう、というようなデータ移行のユースケースが発生します…

OpenShiftでDockerfileやバイナリビルド利用してコンテナをビルドする

OpenShift 全部俺 Advent Calendar 2017 昨日はギョウザパーティでした。基本のs2iビルドではソースコードからビルドしましたが、今回はDockerfileを利用します。 ソースコードと同じようにDockerfileが置いてあるGit URLを指定すると同じようにビルドできる…

OpenShift Container Platform 3.7をシングルノードでインストールする

OpenShift 全部俺 Advent Calendar 2017 商用版のOpenShift Container Platform 3.7をシングルノードでインストールしてみます。 利用する/etc/ansible/hostsファイルの中身はこんな感じです。OpenShift Container Platform 3.6以前ではシングルマスター構成…

Red Hat OpenShift Application Runtimes

OpenShift 全部俺 Advent Calendar 2017 Red Hat OpenShift Application Runtimesがリリースされたのでさわってみたいと思います。Spring BootやVert.x, WildFly Swarmなどを使ってOpenShift上でマイクロサービスアプリケーションの開発をサポートする製品で…

OpenShiftのocコマンドの基本

OpenShiftを利用するにあたって、最初に覚えておいたほうが良いいくつかのコマンドがあります。例えばoc get allとoc get eventです。うまくいかないときなどは大抵この2つを参照することになります。 ocコマンドはヘルプが充実しているので、わからないこと…

OpenShiftのWebコンソールで基本のアプリケーション

OpenShift 全部俺 Advent Calendar 2017 前回はocコマンドを利用してCLIで基本のアプリケーションを作成しましたが、GUIのWebコンソールも見ていきましょう。 minishift consoleを実行するとブラウザでWebコンソールのURLが開かれます。 ログインするとカタ…

OpenShiftの基本的なソースからのビルドとデプロイでアプリケーションを動かす

OpenShift 全部俺 Advent Calendar 2017 minishiftで環境ができたので、アプリケーションをビルドして動作させてみましょう。使うのはソースからコンテナイメージをビルドするs2i (source to image)と呼ばれるビルド方式です。 初期状態ではdeveloperユーザ…

minishiftで作られたVMの中身を見てみる

OpenShift 全部俺 Advent Calendar 2017 minishiftのようなツールは魔法のようにセットアップされてうれしい反面、何かあったときにVMの中身がどうなっているのかわからないとやっかいなことがあります。とりあえず解剖します。 VMはふつうにvirshで見えます…

minishiftでOpenShift Origin v3.7.0を利用する

OpenShift 全部俺 Advent Calendar 2017 11/29日US時間にOpenShift Origin 3.7とOpenShift Container Platform 3.7がリリースされたので、minishift v1.9.0を使ってOpenShift Origin v3.7.0をセットアップしたいと思います。 minishiftはシングルノードVMのO…

CROSS 2017 コンテナ管理プラットフォームのススメ 登壇してきました

先週の金曜日のイベントCROSS 2017でそのコンテナ、どうやって運用する? コンテナ管理プラットフォームのススメというセッションで登壇してきました。 Docker 便利 全開発者にインストールとかイメージ作成とかDockerfileの書き方とか学習させるコストは少…

Webベースのグラフィカルモニタリングツールcockpitをセットアップする

RHEL7やFedoraにはCockpitというWebベースのグラフィカルモニタリングツールが付属している。以下OpenShiftのセットアップで説明してるけど、OpenShift無関係でももちろん利用できる。 OpenShiftをインストールするとMasterにはcockpitもインストールされ、c…

Dockerfileの無駄なレイヤリングを排除してビルドを高速化する

Docker Advent Calendar 2016の10日目の記事です。土曜日は子供と遊んでいると思うので1日早く金曜日に公開しちゃいます。 Dockerでコンテナイメージを作成するときにはDockerfileを利用するのが最も一般的ですが、標準のdocker buildはインストラクション毎…

OpenShiftでプロジェクトの各種制限を設定する

内部利用などのユースケースではあまり問題にはなりませんが、OpenShiftを外部のユーザに利用させたりする場合はうっかり手がすべってビットコインを掘ったりする人が居るかもしれないのでそこそこにリソースを制限しないとなりません。 OpenShiftではユーザ…

KubernetesとOpenShiftの違い

Kubernetes Advent Calendar 2016の三日目の記事です。 OpenShiftというのはRed Hatが主導で開発しているコンテナプラットフォームで、最近の一行説明は"Enterprise Kubernetes for Developers"ということになっています。 OpenShiftはKubernetesの強化版で…

OpenShift Container Platform 3.3をシングルノードでインストール

OpenShift Container Platform 3.3をシングルノードでインストールするときのAnsibleのinventoryファイルのメモです。ホスト名はsingle.example.com、ワイルドカードアプリケーションドメインは*.apps.example.comという名前の想定です。 [OSEv3:children] m…

OpenShift Container Platform 3.3リリース

OpenShift Container Platform 3.3をリリースしました。Enterprise Kubernetesのコンテナプラットフォームです。 今回のリリースはかなり実用や応用に踏み込んだ機能追加が数多く実装されています。 ドキュメント リリースノート 英語でのblogシリーズ プレ…

OpenShift Origin v1.3.0リリース

いつものoc cluster upの手順を書いておきます。oc cluster upのドキュメントはLocal Cluster Managementにあります。Windows/Macや、デフォルトの毎回初期化する挙動ではなく、データを保存して引き継いで起動するオプションとかも載っています。 Vagrantで…

Nexus 7 2012にPure Nexus 6.0.1をインストール

Nexus 7 2012 "grouper"のオフィシャルアップデートがパフォーマンスが致命的に悪いポンコツ5.1.1で終わってしまっていて使い物にならなかったのでCyanogenMod 12.1を入れて子どものYouTube端末にしていたんだけど、こちらも最近パフォーマンスが非常に悪い…

WildFly Swarm 2016.9 リリース、MicroProfileで実行

WildFly Swarm 2016.9がリリースされたので試してみます。 WildFly Swarm Project Generatorでデフォルトのまま生成してみると以下のpom.xmlが生成されました。Swarmのバージョンが2016.8.1とひとつ前のものになっているので、2016.9に書き換えてmvn package…

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-ac0b…

NexusをDockerで動作させる

Nexusは基本的にOpenShift上で動作させて使ってるんだけど、自分の場合はOpenShift環境が複数あってNexusも作って壊して、みたいなことが多いという特殊な状態なので、別の環境にマスターとなるミラーがあったほうが良さそうだなぁ、ということで自分の汎用…

Bose QuietComfort 35を買った

Bose QuietComfort 15を使っていて今年の3月にアンオフィシャルのイヤーパッドに交換していたのだけど、やはり安物なのかすぐ皮が割れてダメになってしまった。経験上オフィシャルのイヤーパッドは2年強持つけど5000円くらいするし、QC15はもう7年前の製品な…