ファイナルカツカレーをつくった

連休も終わりで、明日から出社するのがつらいのでファイナルカツカレーを作りました。 ファイナルカツカレーは要するに、ファイナルカレーにカツを乗せたものです。 ファイナルカレーはいちばんおいしい家カレーをつくるに書かれているカレーで、我らがバイブルであるめしにしましょう(4)で紹介されています。 素晴らしいカレーであるとのことなので、やはりカツは素晴らしいカツを乗せたいものと思いますので、超級カツ丼の時にもやった、低温調理カツでやっていきます。 まずはタマネギを炒めていきます。これは一個分です。結構大きめのタマネギを買ってきました。 割とざっくりした粗みじん切りです。昨日包丁を研いだので目が痛くない。 強火で炒めて、焦げ付きそうになったら少し水を足す、という作業を繰り返します。 良い感じになったら香味野菜類を追加します。にんじん・セロリ・ニンニク・ショウガ・

ファイナルカツカレーをつくった
Read more...

外部サービスをIngress backendとして使用する

TL;DR Service type: ExternalNameを使用する External Service Kubernetesでは、Ingressを使用することで、ホスト名ベースのロードバランシング/リバースプロキシを行うことが出来ます。その際、プロキシ先としてKubernetes上のServiceを指定するのですが、場合によってはKubernetesクラスタ外のサービスをプロキシ先としたい場合があります。例えば、弊宅の環境では、次の様にプロキシしています。 基盤であるOpenNebulaのダッシュボード以外は*.web-apps.techとして、Kubernetesへとルーティングしています。 ところで、本ブログは現在Kubernetes上へ移行作業中です。今のところはまだ、Kubernetes上へ載せていません。

外部サービスをIngress backendとして使用する
Read more...

ingress-nginxを使用してオンプレでもIngressを使用する

TL;DR ingress-nginxを使用するとオンプレでもIngressを使用出来る MetalLBと組み合わせる Ingress IngressはKubernetesの機能の一つで、L7 LoadBalancerの機能を持ちます。先日紹介したtype LoadBalancerは、L4 LoadBalancerで、クラスタ内のDNSで名前解決をし、IP制限などをすることが出来ます。それに対し、Ingressでは、HTTPSの終端となることが出来、ホスト名ベース・パスベースのルーティングを行うことが出来ます。 通常、オンプレでKubernetesを構築した場合、Ingress Controllerと呼ばれる、Ingressを作成する機能が無いためにIngressを使用することが出来ません。 しかし、

ingress-nginxを使用してオンプレでもIngressを使用する
Read more...

MetalLBを使用してオンプレでもtype: LoadBalancerを使用する

TL;DR MetalLBを使用することでオンプレ(not on OpenStack)に構築したk8sでもtype: LoadBalancerを使用できる type: LoadBalancer kubespray等を使用して、Kubernetesをオンプレ(on OpenStackを除く)で構築した場合、通常、type: LoadBalancerを使用することができません。これは、type: LoadBalancerは通常CloudProviderにより管理されており、オンプレ(on OpenStackを除く)でk8sを構築した場合にはCloudProvider連携が無いためです。

MetalLBを使用してオンプレでもtype: LoadBalancerを使用する
Read more...

Liveness/Readiness Probe

Kubernetesによるヘルスチェックには、Liveness ProbeとReadiness Probeと呼ばれる二つのものがあります。これらは混乱しがちな一方、日本語による情報が多くない(2018/07/26現在で、Google検索の1ページ目にヒットするのが4件ほど)ため、ここで一つ情報をまとめておきます。 共通 Liveness ProbeとReadiness Probeの設定は共通で、DeploymentやPodのマニフェスト内で、containersの中にlivenessProbeとreadinessProbeとしてそれぞれProbe specを記述します。 次の項目を設定することが出来ます。 failureThreshold Success状態の時、何回失敗したらFailureになるか。最小で1回。 Default:

Liveness/Readiness Probe
Read more...

Future Pattern

Future Patternは非同期処理パターンの一つで、ある処理を別のスレッドなどで実行し、結果を後で(=未来で)受け取るような処理に用いられるデザインパターンです。 特徴としては、外側に見えている関数などの処理を実行するオブジェクトは、処理を別スレッドに委譲し、後で結果を得ることの出来るFutureと呼ばれるオブジェクトを即座にメインロジックへと返却することです。 言葉で書いても、何だかよくわからないので、コードを見てみましょう。 /* package, import part */ func main() { in := make(chan int) out := Double(in)

Future Pattern
Read more...

Amazon EKSがGAだと言うので触ってみた

AWSのmanaged Kubernetesで、これまでプライベートベータだったElastic Container Service for KubernetesがGAになったということなので、さくっとクラスタを作成してみました。[1] 参考にしたのはAWS公式、EKSのGetting Started Guideです。 まずはEKSのページを見てみようとしたところ・・・ ぶっ壊れてますね!これはなんかアレですね。 gettext的なのが上手くいっていないように見えるので、画面下から英語にしてみます。 無事、正しいと思われるページが表示されました。 なんか、How it worksの説明の図がちょっとぼやけて見えるのは環境のせいでしょうか。 扨、

Amazon EKSがGAだと言うので触ってみた
Read more...

超級カツ丼をAnovaでやった

めしにしましょうに出ていた、超級カツ丼をAnovaを使ってやってみました。 まずはお湯を予熱しておきます。58度です。 給湯器で温度を上げたお湯を使うと調理開始が早くなる、ということを学びました。 今回のお肉はこちら。近所の西友で97円/100gのアメリカ産豚肩ロース522gです。 適当にIKEAのジップロックっぽいやつに入れて空気を抜いておきます。 前回に比べて重いせいか大きいせいか、あまり上手く空気を抜けませんでした。 ちょっと不安だったものの、まぁイケるでしょとそのままやっていきです。 投入。今回は24時間(!)やっていきます。 24時間たったお肉がこちら。おいしくなさそう。 タマネギをスライス(スライサーなどないので包丁で薄切り)していきます。指を少しそぎました。痛い。 肉は四分割しました。

超級カツ丼をAnovaでやった
Read more...

Anovaが届いたのでHello Worldした

去る5月12日、肉の祭典であるところのbuilderscon 低温調理肉会 2018 Springが開催されました。 その名の通り、Anovaで低温調理された肉をひたすら食うというイベントで、大変に楽しみにしていました。 が、家を出るぞ!という段になってKubeConの時にやらかしたぎっくり腰を再発し、行くことかなわず、気づいたらAnovaをポチってしまっていました。 [^amzn] そのAnovaが我が家に届いたので、真空低温調理のHello Worldとも言えるローストビーフをつくりました。 ネット上でブログ記事とか見てると、筒状の箱に入っている写真も多いのですが、最近は普通の箱に入ってくるようです。 中に入ってた紙には基本的な加熱時間なんかも書いてあります Anovaさんとご対面。かれこれ一年近く買うか悩んでたので、ようやく、といったお気持ちです。

Anovaが届いたのでHello Worldした
Read more...

slimduetを使って海外でインターネット接続を確保する

先日、初めて海外に行ってきたんですが、その際、slimduetというeSIM(ソフトウェア的な設定で通信事業者を変更出来るSIM)を使用してネットワーク通信をしたので、設定方法などをまとめておきます。 前提 端末はFREETELのKiwami 2(Androidのバージョンは6)、行き先はデンマーク/コペンハーゲンです。 設定 SIMを購入する slimduetを使用するには専用のeSIMが必要ですので、公式サイトやAmazon(記事執筆時点では在庫なし)から購入しておきます。 SIMカードの価格はは2000円を切る程度です。 slimduetのアプリをインストールする slimduetを使用するには、専用のアプリをインストールする必要があります。 Google Playでslimduetと検索し、

slimduetを使って海外でインターネット接続を確保する
Read more...

KubeCon + CloudNativeCon Europe 2018にいってきた

過ぎし5月1日〜5月6日、出張でKubeCon + CloudNativeCon Europe 2018に行ってきました! KubeConはKubernetes(k8s)のイベントで、Cloud Native Computing Foundation(CNCF)が主催するCloudNativeConと併せた開催でした。 今回の開催地はデンマークはコペンハーゲンのBella Centerで、実に4000人以上が参加したとのことです。 twitterハッシュタグは#kubeconで、一部#cloudnativeconも使われていたようです。 私個人としては初海外で、初日の移動で腰をぎっくりするなど、トラブルに見舞われながらも、

KubeCon + CloudNativeCon Europe 2018にいってきた
Read more...
Load more