エフェメラルコンテナでJDKのデバッグツールを使う夢を見つつ、Podとコンテナのライフサイクルに思いを馳せる

気づいたらだいぶブログをサボっていました…。 これはKubernetesアドベントカレンダーの19日目のエントリーです。メリー・クリスマス! エフェメラルコンテナ x JVMのデバッグツールという、誰得な話を書きたいと思います。 1 . エフェメラルコンテナとは エ…

Helidonで作ったマイクロサービスをPrometheus Operatorでサクッとモニタリング

Helidonとは HelidonはマイクロサービスなWeb APIを実装することを想定したJavaのフレームワークです。以下のような特徴があります。 割と軽い実装で、パフォーマンスに優れる MicroProfileの実装の一つ PrometheusやZipkinの形式のメトリック/トレーシング…

Werckerのパイプライン内でDockerfileからコンテナをビルドする方法

Werckerはパイプラインの実行環境となっているコンテナからコンテナイメージを作るのがデフォルトの動きですが、なるべく軽量なコンテナにしたいなど、用途に最適化されたコンテナを作りたいという場合もあります。 そんなときは、コードリポジトリにDockerf…

Oracle Cloud InfrastructureのCLIをvirtualenv環境内にインストールする

Oracle Cloud Infrastructure(以下、OCI)のCLIはPythonで実装されています。Pythonのvirtualenvを使って、OCI CLI専用の環境を切ってインストールしておけば、Pythonにありがちな依存モジュールの問題に悩まされずに済みますので、このエントリーではその…

Ubuntu 18.04 bionicにOpenJDK 11をインストールする

2018/12/27現在、Ubuntu 18.04でaptでOpenJDKをインストールするとjdk10がインストールされるようになっています。1 いろいろと対処法はあるようなのですが、せっかくなので本家のOpenJDKを落として手動でインストールしとこうということで、その手順を残し…

OKE、OCIRを使うときに権限制御するための設定まとめ

このエントリーはOracle Cloud アドベントカレンダーその2の22日目です。 今回はOracleが提供するコンテナ関連のクラウドサービスである、OKE、OCIRを使う上での、準備に当たる作業の話を書きたいと思います。 OKE: Oracle Container Engine for Kubernetes …

Oracle Container Engine for KubernetesでLoadBlancerタイプのServiceを使う

このエントリーはOracle Cloud アドベントカレンダーその2の21日目です。 今回は、OKE(Oracle Container Engine for Kubernetes)で作ったKubernetesクラスターでLoadBalancerタイプのServiceを使う手順を紹介します。 0. 前提条件 OKEのクラスターをプロビジ…

WerckerでオリジナルのStepを導入する

このエントリーはOracle Cloudアドベントカレンダーの14日目です。 WerckerはOracleが提供するCI/CDサービスです。元々はオランダ発のスタートアップだったWercker社が提供していたサービスでしたが、2017年にOracleが買収し、その後継続してサービスが提供…

Kustomizeを数週間触ってみての所感

このエントリーは、Kubernetes2 Advent Calendar 2018の11日目の記事です。 Kustomizeは、HelmやKsonnetのようなmanifestのテンプレーティングツールの1つです。 「Kustomizeとは」とか基本的な使い方の話は、@ryodocxさんのQittaの記事に非常によくまとまっ…

OKEクラスターでコンテナを動かしてみる

このエントリーはOracle Cloudアドベントカレンダー その2の2日目です。 2日目も引き続き、Oracle Contianer Engine for Kubernetes(以下「OKE」。Oracleが提供するKubernetesのマネージドサービス)の話題です。このエントリーでは、1日目に作成したOKEで…

OKEでKubernetesクラスターをプロビジョニングする

このエントリーはOracle Cloudアドベントカレンダー その2の1日目です。 Oracle Contianer Engine for Kubernetes(以下、OKE)は、Oracleが提供するKubernetesのマネージドサービスです。このエントリーでは、OKEでクラスターを作る手順をご紹介したいと思…

gRPCを使ってみた

gRPC for Javaをいじってみたので、使い方のまとめ gRPCとは Googleが開発した、RPC(Remote Procedure Call)を実装するためのフレームワークです。 Protocol Bufferを利用した高速通信、.protoによるインターフェース定義、JavaやNode.jsなどを含む、多数の…

Spring Boot で組み込みDerbyデータベースを使う

【2016/06/14 追記】 JPAの部分は、Spring Data JPAの機能を利用するとpersistence.xmlを書かなくても動かせるはずです。コードを直したら、本ブログも修正する予定です。 コメント頂いた@makingさん。ありがとうございます。 先日のJava Day Tokyo 2016では…

ローカル環境のWebLogic Serverに、warを自動デプロイする

WebLogic Maven プラグインには、ビルドした成果物をテスト環境に自動デプロイする機能があります。 今回は、この機能を使って、ローカルPCで稼働するDockerコンテナ上のWebLogic Serverに、Mavenから自動デプロイしてみます。 この機能の本来の用途は、イン…

東京Node学園 20時限目で発表してきました

約1週間ほど立ってしまいましたが、4/5に開催された東京Node学園 20時限目に、発表者として参加してきました。 東京Node学園 20時限目の全体のまとめについては、すでに受付の方が書いてくださったブログと、Togetterがありますので、この記事では、各発表資…

WebLogic Mavenプラグインを使って依存モジュールの解決を楽にする

jBatch×WebLogicのネタも考え中ですが、閑話休題ということで。 以下のような開発をしているエンジニアの方は、WebLogic Mavenプラグインを利用するのがおすすめです。 WebLogic Serverで動かすアプリケーションを開発している アプリケーションのビルドにMa…

パーティショニングを使ったjBatchのサンプルアプリケーションを作った

本記事では、先日のWebLogic Server勉強会で、デモに使用した、jBatchのサンプルアプリケーションを紹介します。 このアプリケーションでは、jBatchのパーティショニングを利用した並列処理を実装しており、ジョブの開始時に、パーティション数とスレッド数…

Dockerコンテナ上にWebLogic Serverのクラスターを構成する

先日のWebLogic Server勉強会 特別編では、DockerコンテナでWebLogic Serverのクラスターを構成するデモを紹介しました。 Oracle公式のDockerfileのリポジトリにいくとreadmeにコマンドの使い方が記載されていますが、勉強会では若干アレンジして使っていた…

2/16 WebLogic Server 勉強会に登壇しました

2/16にオラクル青山センターにて開催された、WebLogic Server勉強会 特別編に登壇いたしました。会場まで足を運んで頂いた方も、リモートで聴講頂いた方も、ご参加いただきありがとうございました。 当日の資料は、SlideShareのOracle Fusion Middlewareアカ…

Cygwin 環境構築手順の備忘録

Cygwinに関しては、本格的に使うようになって約半年程度の初心者ですが、追加パッケージの導入など環境の変更がだいぶ積み重なってきました。 そろそろ何をやってきたか思い出せなくなりそうなので、やった作業と手順の参照先を残しておくことにしました。 u…

WebLogic Server 12.2.1で、動的クラスターの自動スケーリングを試してみた

WebLogic Server 12cR2では、クラスターのメンバーを自動的に増減する機能が追加されました。この機能では、スケジュールベース、メトリックベースの動的スケーリングをサポートしています。 スケジュールベース 予め指定されたスケジュールで、クラスターメ…

Oracle Database Express EditionにjBatchのJobRepositoryを構成する(Dockerコンテナもあります)

jBatchを使うには、JobRepositoryと呼ばれる、ジョブのステータスやシリアライズされたcheckpointinfoを保持するデータベースが必要です。 Oracle WebLogic Serverでは、デフォルトではDerbyの組み込みデータベースを利用しています。しかし、これはあくまで…

jBatchを使ってバッチアプリケーションのサンプルを作ってみた

WebLogic Serverも、先日リリースされた12cR2でJava EE 7に完全対応となりました。 そこで、Java EE 7から加わった仕様である、jBatchを使って、簡単なサンプルアプリケーションを作ってみました。 jBatchそのものに関しては、主に以下の資料で勉強させてい…

WebLogic Server 12.2.1 + サンプルドメイン がインストールされた Docker コンテナを、Vagrant のゲストOS上に構成する

前回の記事に引き続き、WebLogic Server 12.2.1 がインストールされた Docker コンテナを、Vagrant のテストOS上に構成します。 今回は、WebLogic 公式のサンプルである、medrec ドメインを構成し、サンプルアプリケーションを動かしてみます。 本記事の手順…

WebLogic Server 12.2.1 がインストールされた Docker コンテナを、Vagrant のゲストOS上に構成する

本記事では、Oracle 公式の Dockerfile とスクリプトを利用して、WebLogic Server 12.2.1 がインストールされた Docker コンテナを、Vagrant のゲストOS上に構成します。 この手順により、以下のような構成の WLS 12.2.1 環境が出来上がります。 -----------…

Oracle Linux 7.1 の Docker コンテナに SSH で接続する

今回は、表題の通り、Oracle Linux 7.1 の Docker コンテナにSSHでアクセスするために必要な手順を紹介します。 前提として、VirtualBox 上の Oracle Linux に Vagrant でゲストOSを構成し、そこに Docker コンテナを立てているものとします。今回は、この D…

英字キーボードで [CapsLock] と [Ctrl]、[ESC] と "`~" を入れ替える

今回は、入力装置系の記事です。 英字キーボードで、以下のようなキー配列の変更をする方法を紹介します。 キー配列 [CapsLock] <-> [Ctrl] [ESC] <-> "`~" OS Windows 7 Professional x64 普段エディタとしてVimを使っていると、[ESC] を頻繁に利用すること…

Vagrant + Docker で Oracle Linux 7.1のコンテナを使う

Vagrant で Virtualbox 上に Oracle Linux 7.1 を動作させ、その上で Oracle Linux 7.1 の Docker コンテナを動かしてみました。 前提の整理 今回作成した環境の構成は、以下のとおりです。 ホストマシン Windows 7 Professional x64 Cygwin Vagrant Oracle …

JRockit JVMのガベージコレクションのまとめ

JRockit JVM の ガベージコレクションの仕組みを、公式のドキュメント読んでざっくりまとめてみました。 改めて調べてみると、HotSpot JVM とほとんど変わらないみたいです。既にご存知の方には釈迦に説法ですが、JVM のメモリ管理について初学者の方は、参…

Windows + Cygwin + Vagrant で WebLogic Server を動かす ~ java、WebLogic インストール編

前回の記事に引き続き、VirtualBox 上のゲストOSに、java と WegLogic サーバーをインストールしていきます。 本記事は、Vagrant を使ってゲストOSを構成する記事の続きですが、手順自体は Vagrant に依存するものではありません。Linux に WebLogic サーバ…