nekop's blog

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

Kubernetes CLI pluginを使ってOpenShiftのアプリケーション情報をダンプするpluginを作る

Kubernetes / OpenShift もくもく会 No. 1でした。 ここにあるOpenShiftで特定のプロジェクト(ネームスペース)をダンプするスクリプトをてきとーに作って使ったりしていたんですが、他の人にも使われるようになって汎用化とかOpenShiftの製品の一部にすると…

ThinkPad T470sにFedora 27インストール

会社からクリスマスプレゼントでThinkPad T470sをもらったので翌日出社して受け取ってFedora 27をインストールしてメインマシンのスイッチ。スペックはIntel Core i7-7600U 2.8GHz 4 cores, 16GB mem, NVMe SSD 256GB。 前回の記録はFedora 24インストール。…

OpenShift Container Platform 3.7をAWS上にシングルノードでセットアップする

OpenShift 全部俺 Advent Calendar 2017 OpenShiftをAWSでセットアップするリファレンスアーキテクチャやCloudFormationやデプロイスクリプトなどはいろいろ用意されていますが、本番構成向けのもったりした構成です。AWS上でのテスト用にシングルノードセッ…

OpenShiftでメモリでオートスケールをしてみる

OpenShift 全部俺 Advent Calendar 2017 まだAlpha機能ですが、CPUではなくメモリ利用量でオートスケールを設定することができます。 https://docs.openshift.org/latest/dev_guide/pod_autoscaling.html#pod-autoscaling-memory 先に重要な点を書いておきま…

OpenShiftのmaster-config.yamlやnode-config.yamlの書式

OpenShift 全部俺 Advent Calendar 2017 たとえばmaster-config.yamlをカスタマイズしたい場合にどうやって記述すればいいのかなどを調べたい場合があります。 以下に項目がさらっと書かれたドキュメントがあり、さらっと把握するのには役立ちますが、やはり…

OpenShiftのディスク利用傾向

OpenShift 全部俺 Advent Calendar 2017 OpenShiftやKubernetesではどのようにディスクが使われ、どのくらいのディスクを必要とするのでしょうか。PVを割り当てて利用する分は自明ですが、それ以外はどのようになっているでしょうか。 コンテナイメージにVol…

OpenShiftでUID指定されているコンテナをデプロイする

OpenShift 全部俺 Advent Calendar 2017 OpenShift上で動作するコンテナにはOpenShift側で採番されたUIDが割り当てられて、そのUIDで動作します。そのため、rootや特定のUIDでファイルにアクセスしたりすることを期待しているコンテナは動作しません。 とは…

OpenShiftのResource requestとlimit

OpenShift 全部俺 Advent Calendar 2017 最初はどのように指定したらいいかわかりづらいという質問がよくあるKubernetesのResource requestとlimitです。 https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ Podにはこ…

OpenShiftでファイルをシングルファイルマウントで置き換える

OpenShift 全部俺 Advent Calendar 2017 OpenShiftやKubernetesではConfigMapを使ってファイルを差し替えることができます。今日はJBoss EAPのstandalone-openshift.xmlをConfigMapでカスタマイズしたいなー、と思ってやってみたらストレートに行かなかった…

OpenShiftやKubernetesのCLIでGo templateを利用する

OpenShift 全部俺 Advent Calendar 2017 OpenShiftのocコマンドやKubernetesのkubectlコマンドの--templateオプションにGo templateを指定することによって、結果の値の一部分を抜き出したりすることができるので便利です。 たとえばsvc/docker-registryのCl…

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はインストラクション毎…