ようへいの日々精進XP

よかろうもん

2019 年 01 月 12 日 (土)

ジョギング

  • 自宅→博多港→山王公園で 11 キロくらい
  • 懸垂 x 5 回
  • 中学生チームがタイムトライアルしていて, それを応援しつつ一緒に走りたいなあと思ったり

日課

  • お休み

Rancher Workshop

以前から気になっていた Rancher の Workshop が開催されるとのことで, 滑り込みで参加してきた.

rancherjp.connpass.com

まだ, Kubernetes についてもちゃんと理解出来ていない状況で, Rancher のメリットを見出すことが出来ていないが, 引き続きキャッチアップしていきたい. 以下は, 聴講メモ.

inokara.hateblo.jp

香椎飲み会

糸川さん, 毛利さん, 森田さんの香椎チームと香椎のお好み焼きさんで新年会. 時間を忘れてワイワイ楽しい時間を過ごせた. お好み焼きを 6 枚にはじまり, 食べたり飲んだりして四人でええっ??となるくらいコスパが良くてサイコーな夜だった. 無事に終電前に帰ってこれたので奥さんにも怒られずに済んだ.

Rancher2.0 Kubernetes Workshop in Fukuoka #01 メモ

tl;dr

以前から気にはなっていたけど, まったく触ることがなかった Rancher のワークショップが開催されるというので, 滑り込みで参加させて頂いたのでメモ.

connpass

rancherjp.connpass.com

www.shoeisha.co.jp

Agenda

  1. Market trend of Kubernetes
  2. Introduction of Kubernetes
  3. Introduction of Rancher
  4. Kubernetes & Rancher Handson

www.slideshare.net

1. Market trend of Kubernetes

  • 2018.3.8 CNCF のインキュベーション段階から卒業を発表
  • 2018.6.7 Amazon EKS, 2018.12 東京リージョン GA
  • VMwareKubernetes のマネージドサービスを提供
  • コンテナ実行環境をサーバーレスで提供する Serverless containers を発表
    • コンテナベースのサーバーレスアプリケーションを Kubernetes 環境で提供する Knative
  • GithubKubernetes 上で動いている

2. Introduction of Kubernetes

Borg からの派生

  • Google が使っていた
  • Borg から派生
  • クバネティス, クーバーねーティス, くーばねてぃす

そして OS へ

  • Kubernetes = OS 的なものになる...なるほど

Kubernetes の役割

  • コンテナのスケジューリング等
  • 頻繁なアプリケーションのデプロイを可能
  • 無停止リリース, 可用性
  • 負荷に応じた伸縮自在なシステム基盤

アーキテクチャ

  • Master
  • Node
    • アプリケーションコンテナが稼働するところ
    • Kubelt: Node に配備された Pod のスケジュールを監視
    • Cotainer Runtime: デフォルトでは Docker
    • Kube-proxy: デフォルトでは iptables
  • Pod
    • ボリュームとネットワークを共有する 1 個以上のコンテナグループ
    • 1 つまたは複数のコンテナをデプロイする最小単位
    • Pod が死ぬとコンテナも死ぬ
    • Node 間をまたがることは出来ない
  • Deployment と ReplicaSet
    • Deployment: ReplicaSet の作成, 更新, 履歴管理
    • ReplicaSet: 定義された数の Pod を常に起動させる仕組み
  • Service
    • クラスタ内外からのリクエストを Pod にアクセスする為のルーティングが DNS 機能を提供するオブジェクト
    • L4 で動く
  • Ingress
  • その他
    • 色々あるよ
    • PersistentVolumeClaim, PersistentVolume, StrageClass...

Kubernetes の敷居が高く感じるのは, Kubernetes を構成する技術要素が多いからかなあと思ったり. どうせやるなら 1 つ 1 つちゃんと学んでいきたいところ. ソースコードを読んだりして勉強したいなあと思っている次第.

Kubernetes 環境を構築する

  • 苦行
  • Rancher を使えば, さくっと Kubernetes を構築することが出来る

3. Introduction of Rancher

Rancher とは

www.slideshare.net

Rio

4. Kubernetes & Rancher Handson

Rancher2.0 の始め方

  • docker run するだけ

Handson

f:id:inokara:20190112175020g:plain

  • Runcher を使って EC2 上に Kubernetes クラスタを立ち上げる
  • weavescope (Kubernetes クラスタの可視化ツール) をカタログから起動する
  • RancherUI から kubectl コマンドを実行
  • サンプルアプリケーションをクラスタにデプロイ

Infomation

  • Docker 関連の書籍たくさんやなー
  • The Kubernetes Book 図が多くてオススメ
  • Docker/Kubernetes 実践コンテナ開発入門はオススメ
  • 資格取得 (日本語も始まるってよ〜)
  • https://www.katacoda.com
  • Play with docker

感想

  • Runcher の雰囲気わかった
  • Kubernetes の起動, あまりに簡単過ぎてびっくりした
  • Kubernetes の中身についてもっと学ぶ必要がある (さわっていないとわからん)

2019 年 01 月 11 日 (金)

ジョギング

  • 山王公園往復
  • 懸垂 x 5
  • 右太ももの内側に強い張り

日課

  • おやすみ

ランチ

チームのウェルカムランチ.

コーリーさんお薦めの自然食レストラン。やさしい味で美味しゅうございました。

有志呑み

職場の有志メンバーでオフィス近くの鶏すきやきのお店で呑み. 海外からジョインしたメンバー二人が居たので英語 (ボディランゲージとルー語でなんとかなる) でワイワイ楽しい時間を過ごせた.

2019 年 01 月 09 日 (水)

ジョギング

  • 朝, 山王公園往復
  • 懸垂 x 5 回
  • 一番痛い時よりはマシにはなっているが, まだ痛みの不安がある

日課

  • お休み

ランチ

会社でお弁当を注文してくれるというサービスを利用.

弁当を食べんとう。

これで 450 円, 味も良くて, コスパ最高だと思う.

夕飯

2019 年 01 月 08 日 (火)

ジョギング

  • 朝, 山王公園往復
  • 懸垂 x 5 回
  • 足の具合も徐々に良くなっていると思いたい

日課

  • お休み

遅刻しそう

  • 朝, ジョギングしてからシャワー浴びて, 洗濯物を干してとなると...通勤時間も考慮すると時間を早めるかタスクを減らす必要がありそう
  • バタバタした出勤だった

2019 年 01 月 06 日 (日)

ジョギング

  • 山王公園を 40 分ほど
  • 足の痛みは引き続き, ただ, 従来のような痛みは無いので快方に向かっているのかな
  • 山王公園で懸垂を 5 回

日課

  • お休み

夕飯

  • 奥さんの豚汁, これが美味い!
  • 炊きたてのご飯と納豆と豚汁, これだけでサイコーの夕飯だった

vim + memo でメモを取って, そのメモを出来るだけ速やかに Slack に貼っつける方法を考えた

tl;dr

さっとメモを vim で書く為に, mattn さんの memo を使い始めました. vim に限らず, 好きなエディタでさっとメモをコマンドラインから書けるというのはとても気持ち良いものです.

github.com

詳細はリポジトリの README や以下の記事等をご一読下さい.

mattn.kaoriya.net

memo new コマンドでさっと vim が起動してメモを取り始めることが出来ます. また, memo edit でメモ一覧を peco で選択してさっと編集することが出来ます. サイコーです.

$ cat $HOME/.config/memo/config.toml
memodir = "/Users/$USERNAME/.config/memo/_posts"
editor = "vim"
column = 20
width = 0
selectcmd = "peco"
grepcmd = "grep -nH ${PATTERN} ${FILES}"
memotemplate = ""
assetsdir = "."
pluginsdir = "/Users/$USERNAME/.config/memo/plugins"
templatedirfile = ""
templatebodyfile = ""

上記は, memo config で出力される memo の設定内容で, pluginsdir (以降, プラグインディレクトリ) にスクリプトを放り込むと機能の拡張をすることも可能です.

メモを Slack に共有したい

コピペでも

memo edit でメモを開いてマウスで選択しコピーして Slack のチャンネルに貼り付けでもいいけど, せっかくなので memo のプラグイン機構を利用して memo コマンド内で完結してみたいと思います.

プラグインスクリプト

以下のように雑な Bash スクリプトを書きました.

#!/usr/bin/env bash

SLACK_API_TOKEN="xoxp-1234567890-1234567890-1234567890-abcdefg12345abcdefg12345"
SLACK_CHANNEL="#your-channel"

usage() {
  echo "memo share -slack"
}

slack() {
  FILE=$(ls ${HOME}/.config/memo/_posts/ | peco)
  if [ "${FILE}" != "" ];then
    curl -s -XPOST -d "token=${SLACK_API_TOKEN}" \
      -d "channel=${SLACK_CHANNEL}" \
      -d "as_user=true" \
      -d "text=\`\`\`$(cat ${HOME}/.config/memo/_posts/${FILE})\`\`\`" \
      "https://slack.com/api/chat.postMessage" > /dev/null
  fi
}

while getopts ":su:-" opt; do
    case "$opt" in
        -)
            case "${OPTARG}" in
                slack)
                    slack
                    ;;
                usage)
                    usage
                    ;;
            esac
            ;;
        s)
            slack
            ;;
        u)
            usage
            ;;
    esac
done

このスクリプトを任意の名前を付けて memo のプラグインディレクトリに放り込みます. 今回は share という名前でスクリプトを設置します. 尚, プラグインスクリプトには -usage オプションを必ず実装する必要があります. プラグインディレクトリにスクリプトを設置して, memo コマンドを実行すると...

$ memo
NAME:
   memo - Memo Life For You

USAGE:
   memo [global options] command [command options] [arguments...]

VERSION:
   0.0.4

COMMANDS:
     new, n     create memo
     list, l    list memo
     edit, e    edit memo
     delete, d  delete memo
     grep, g    grep memo
     config, c  configure
     serve, s   start http server
     help, h    Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --help, -h     show help
   --version, -v  print the version

SUB COMMANDS:
     share
       memo share -slack

上記のように SUB COMMANDS に追加したスクリプトの使用方法 (-usage で出力される内容) が出力されます.

こんな感じ

memo new または memo edit でメモを作成, 編集し, memo share -slack で投稿している図です.

f:id:inokara:20190106232632g:plain

一応, やりたい事が出来た気がします.

以上

メモでした. slack だけではなく, API で投稿出来るサービスであれば同じやり方で vim + memo から出来るだけ速やかに投稿出来そうです.

2019 年 01 月 05 日 (土)

ジョギング

  • 自宅からマリンメッセまで一時間ほど, ビルの窓に映るフォームを確認しながら走る
  • 足の痛みは以前よりはマシにはなってきたけど, やはり走り始めとかは痛い, もう慣れていくしかないのかな...
  • 山王公園で懸垂を 5 回

日課

  • お休み

夕飯

  • 奥さんと近所の呑み屋さんをブラリ
  • 〆は入るのに躊躇していたうどん屋さんでカレーうどん, このお店が結構な🎯だったので, 次回は一次会からこのお店で飲食してみたい

2019 年 01 月 04 日 (金)

ジョギング

  • おやすみ
  • 自宅作業ではなくなったので, どのタイミングで走るか検討している

日課

  • お休み

初出社

YAMAP に初出社. この歳になっても, 色々と初めてのことも多いけど, 肩肘張らずに頑張っていこうと思う.