いかすEKS①

はじめに

kubeadmでクラスタを作って試したことがありまして、そのときにload-balancerだったりIngressだったりを使うのに、オンプレだと面倒だなと感じたのでEKSを試してみようというエントリーです。EKS、いーかーすーです。

試すんならGKEの方が知見も多いのでは、という気持ちもあるのですが、いろいろ事情もありまして…

環境

Linux Mint19.1 Mate 64-bit
あまり手を加えてない割とクリーンな環境です。

手順

とりあえず公式に従ってやってみます。

EKSユーザガイド
https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/what-is-eks.html

awscli のインストール

ここは書いてるとおりにささっと。venv で閉じてあるので、–userはつけませんでした。

awscli のインストール

ここは書いてるとおりにささっと。venv で閉じてあるので、–userはつけませんでした。

pip install awscli --upgrade
aws configure

eksctl のインストール

ここも書いてあるとおりに。curlのところがそこそこ時間かかって不安だったのでsilentにしないほうが良いかも、という気がしました。
帯域の問題だと思いますけど…

$ curl --silent --location "https://github.com/weaveworks/eksctl/releases/download/latest_release/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp
$ sudo mv /tmp/eksctl /usr/local/bin/
$ eksctl version
[ℹ]  version.Info{BuiltAt:"", GitCommit:"", GitTag:"0.6.0"}

kubectlのインストール

これも公式の通りです。

$ curl -o kubectl https://amazon-eks.s3-us-west-2.amazonaws.com/1.13.8/2019-08-14/bin/linux/amd64/kubectl
$ chmod +x ./kubectl
$ mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$HOME/bin:$PATH

クラスタの作成

手順通りでできてしまう。が、–nameのあと、”\”をつけずにEnterしてしまい、クラスタ構築が始まってしまう。結果としては、ちゃんと動きましたが、ワーカーノードのEC2として、m5.largeが2台起動してしまうという憂き目に。とほほ。

$ eksctl create cluster \
--name xxxx

後で確認してみたら、m5.largeが約1hourで$0.13かかっていました。その他、NAT Gatewayが2hourで$0.12というのもありましたが、これもEKS関係なのかな??

また、このときに、慌ててしまってkubeconfigを上書きしてしまい、最初にアクセスした際にエラーを出してしまいました。update-kubeconfigを実行して、ちゃんとアクセスできました。

$ aws eks update-kubeconfig

後片付け

LoadBalancerに関連付けしたサービスはないので、クラスタを削除すれば良さそうです。

$ eksctl delete cluster --name xxxx

読書通帳②

読んだ本

くわしすぎる教育勅語
https://www.amazon.co.jp/%E3%81%8F%E3%82%8F%E3%81%97%E3%81%99%E3%81%8E%E3%82%8B%E6%95%99%E8%82%B2%E5%8B%85%E8%AA%9E-%E9%AB%98%E6%A9%8B-%E9%99%BD%E4%B8%80/dp/4811808320

感想

第一部

精読と書いてあるとおり、逐条解説みたいな内容。
正直、思ったよりも詳しすぎて、びっくり。ただ、教育勅語はニュースとかで耳にするくらいでちゃんと読んだことがなかったので、全文を読めた上に逐条解説も知ることができたのは良かったです。

著者自身も教育勅語に否定的な見解をもっていると書いていますが、少なくとも解説には偏りはないと感じました。

第二部

「[始末] 来しかたとゆく末」というタイトルのとおり、教育勅語が制定(っていうのかな?)された経緯とかその後の扱いとかが書いてあります。

法律とかもそうですが、単に条文を字義どおりに理解するだけではなくて、どういういきさつがあって制定されたのかとか、作成者の意図とかそういうのもとても大事だと思いますが、教育勅語もそうなんだな、という印象を持ちました。

第三部

文献紹介です。研究したいわけではないので、ここはさらっと読み流しました。

まとめ

なんとなく教育勅語に対して賛成するにしろ、反対するにしろ、そのものを知るべきだなと思ったので手にとってみました。思いのほか、深い解説を得ることができたので読んでよかったと思います。。

サーカスを観ました

はじめに

さいたまスタジアムの近くで公演があるということで、木下大サーカスを観に行きました。

木下大サーカス

http://kinoshita-circus.co.jp/
世界三大サーカスの一つらしいです。知らなかったのです。ボリショイサーカスはこれまでも観たことがありましたが、木下大サーカスは初めてです。

ハラハラします

空中ブランコだったり、バイクのアクロバットだったり、人間にこんなことができるのか!と思うくらいに、めちゃくちゃすごいんですけど、すごいんですけど、ハラハラします。

きっと、ものすごいたくさんの練習をして、安全対策もやって、その上でやっているのでだいじょうぶなんだろうと頭ではわかるんですが、やっぱりハラハラ。
なんというか、ここで怪我しちゃったら、生活どうなるんだろうとか、そういう心配をしてしまうのが親になったということなんだろうなぁと思いました。

でも、実際に観てみるとすごいですよ。人間も鍛錬を積めば、こんなことができるのかぁと驚きの連続です。

ボリショイとの違い

手品(というかイリュージョン?)があるのと、出てくる動物たちが違うという点でしょうか。
あと、ボリショイは市立体育館での公演に対して、こちらはテントでの公演だったので、会場の雰囲気が違うなぁと感じました。

おわりに

サーカスって、おもしろいですよ!

旅行に行きました

はじめに

夏休み中、家族で奈良と京都に行った記録です。

奈良

奈良は、8年近く住んでいたので、とても馴染みのある土地です。ただ、歴史に興味があるわけではないので、神社仏閣などは、知り合いが遊びに来たときの観光として行くくらいでした。

近鉄特急

京都駅から大和西大寺までは、特急です。乗った車両がたまたま、なんとゴージャスな!
近鉄のページの画像(下の画像です。)のやつでした。うちの子たちの感想は、「カラオケみたーい」。ん?カラオケに連れて行ったことがないのに。
首都圏の電車もこのくらい快適になればなぁ。

https://www.kintetsu.co.jp/gyoumu/Express/train/image/bisutacar-03.gif

その日の夜は、妻の念願の天下一品のラーメンをいただきました。おいしかったです。

奈良公園

で、鹿に会いに行きました。日本中どこでもいる気がしますが、鹿せんべいをあげるのは好きなので。
鹿せんべい買った直後から、ガブッ!鹿に噛まれました。とほほ。
子どもたちも、こわごわ鹿におせんべいをあげることができて、みんな満足。

平城京天平祭2019

その後、富雄という駅で降りて、以前住んでいた付近を散策しました。来来軒という街の中華屋さんのからあげセッツが大好きだったので、そこのからあげセッツをおいしくいただきました。

妻のお友達にお宅にお邪魔して、遊んで、夜は「平城京天平祭2019」というのに行きました。
昔、住んでいたときは、なんというかただの原っぱだったのがとても立派になっていて、感無量。

イベント | 平城京天平祭2019 夏

京都へ

京都へ移動します。京都と言っても、南丹市美山町というところが目的地です。かやぶきの里で有名なところですが、車でないと行くのがツラいので、レンタカーでの移動です。

昔、ここに住んでいたことがあって、そのときにお世話になった人たちに会いに行きました。みなさん、元気そうで本当に良かったです。子どもたちにもかやぶき屋根とか見せてあげられてパパは大満足。

その日は、美山ハイマートユースホステルに宿泊。おいしい食事でおもてなしをいただきました。
ホストさんとのお話もとても楽しかったです。
かやぶき屋根の建物に泊まるということで、子どもたちも喜んでくれましたし、夜に満天の星を見ることができて、パパ、再び大満足です。夏休みの宿題で星をみる、というのがあって、家の近所とか、車を小一時間走らせてみたり、キャンプ場で見てみたり、いろいろ試しましたが、美山の星空が一番でした!
「プラネタリウムみたいだね〜」という感想に、現代っ子だなぁと思いました。

美山ハイマートユースホステル [日本ユースホステル協会公式]

美山町遠景
美山町です

おわりに

旅行から帰った後の数日は、ぐったりでした〜。

スイミング始めました

こんなにかっこよくないですが。
いらすとや

はじめに

スイミングに通い始めました。オッサンですけど。
小学生時代からずっとカナヅチだったので、一念発起してがんばろうというわけです。

自己流で

小学生の子どもがスイミングに通っているので、そのレッスンの様子をじっとみておぼえて、それをやってみる、というのをがんばっています。

初心者向けコースでただひたすらバタ足とクロールを「ああでもない、こうでもない」ともがきながらやっている感じです。
うまくできた!と感じる瞬間もあれば、ダメだな〜という瞬間もあり、一進一退という感じでした。

一つわかったのは、姿勢がとても大事だということでした。
姿勢良く泳げたときは泳いだ感があり、姿勢が悪いときは溺れた感がありましたね。

レッスン受けてみる

平日に休みがとれたので、コーチのレッスンを受けてみました。ちょうどピッタリのコースがあったので、良かったです。受けてみて思ったのが、スイミングのコーチの教えはすごい!ということでした。

コーチの教えのとおりにやると、たしかに上達する気がします。足りないのは気合と根性ではなかったのですね。
ちゃんとしたやり方で、ちゃんと練習積めば、上達できるんだな〜と感じ始めました。あと、下手な人(つまり私)に対しても、褒めてくれるのがうれしいです。

大人になってやってみると、誰も笑わないし(笑われてもいいけど)、褒めてくれるし(お世辞でもうれしい)、自分のペースで取り組めるし、楽しいな〜と思います。

おわりに

子どもの頃は水泳の時間が嫌いで、やりたくない気持ちが強かったです。今、別に泳げるようになってはいませんが、スイミングは楽しいです。楽しいと前向きに取り組めるし、楽しいって大事ですね。

ペグソリティアを解く

はじめに

夏休みの旅行中に、うちの子がペグソリティアをやっているのを見て、 「これ解けたらドヤ顔できるな」と思ってチャレンジしたものの、意外に大変でした、というお話です。

解いてみる

チャレンジしたのは33ペグのやつです。
https://ja.wikipedia.org/wiki/%E3%83%9A%E3%82%B0%E3%83%BB%E3%82%BD%E3%83%AA%E3%83%86%E3%83%BC%E3%83%AB

いろんなパターンがあるようですが、一番スタンダードっぽいやつということで。

最初は、何回かチャレンジしてれば解けるやろ、と思っていたが全然できないです。 マジですか??ヤバイという気持ちになり、PCに解いてもらおうと考えたわけです。

プログラミングする

しかし、これも意外に難しい。というか全然意外ではなく、難しいことが知られていたらしいです。 私が知らないだけでした。

こういうのとか(英語なので半分も読めてないですけど)、こういうのとか見ると、現実的な時間で解の全部を解くことはかなり困難そうだ、という印象を受けました。

がんばりました

とはいえ、仕事のあとでちょびちょびやるだけだとそこまでのエネルギーは ないというわけで、とりあえず、簡単な感じで書いてみました。

https://github.com/HideoYukutake/puzzle

なんと!時間はものすごーくかかったものの、一応、解の一つが得られました。 夜寝る前に走らせて、翌朝には解けていたので、とりあえず良しとします。
(時間を計測するのを仕込むのを忘れてしまったのが残念。)

このあとは、性能を改善するのみ!現実的な時間でちゃんと解けるようになりたいなぁ。

2019/9/22追記

あのあとも少し工夫を続けた結果、解の一つであれば、数分で得られるようになりました。7時間くらい雨後し続けると50,000超の解を得ることができましたが、まだまだ探索空間が広すぎて全体を把握できていないようです。

対称性や回転で同一となるペグの配置ができたら解決済みとする、とかの工夫が必要だなぁと思いつつ、まだ解決できていません。

読書通帳

読んだ本

・アンダークラス ─新たな下層階級の出現
http://www.chikumashobo.co.jp/product/9784480071873

感想

新書だったので、割と気楽に読めると思っていたのですが、意外にしっかりした本でした。
内容がしっかりしているのは当然ですが、計量的なデータを用いながら階級社会の構造と動態を記述しようとしていて、気楽に読むという本ではないな、というのが感想です。

引用するデータは、主として2015年のSSM調査(「社会階層と社会移動全国調査」というそうです。)と、2016年首都圏調査(著者を中心とするグループによって実施された調査)でした。しっかりとデータを取って、そこをベースに議論する、というのは大事なことですね。

後半で、アンダークラスやその周辺のメンバの政治的な傾向などについての考察もありました。
議論のあるところだろうと思いますが、所得の再分配のあり方や、社会のあり方を考えていく上で、示唆に富む内容だと思いました。

Exponential Backoff And Jitterの勉強

はじめに

AWSの勉強をしていて、リトライについて書かれている記事を読みました。
https://codezine.jp/article/detail/10739

この中で説明されていたExponential Backoff And Jitterのコードを読んで、
試してみたので記録しておこうと思います。

シミュレータの実行

python backoff_simulator.py

でcsvを作成しました。
なお、PCのスペックが貧弱(Thinkpad x61s)なのもありますが、結構な時間がかかりました。それから、csvのデータ尾を、gnuplotでグラフにしてみました。Call数をグラフにしたのがこれです。 もとのサイトのグラフとほぼ一致していますね。

全リクエストの処理が完了するまでの総所要時間のグラフがこちらです。

傾向としてだいたい同じになりました。

バックオフのロジックを工夫することで、処理時間を節約することができるのですね。
TCPの輻輳制御も面白そうだなと思ったので、TCP技術入門も読んでみたくなりました。
https://gihyo.jp/book/2019/978-4-297-10623-2

参考URL

https://codezine.jp/article/detail/10739

あと、gnuplotを使うのは初めてだったので、参考になりました。
http://nalab.mind.meiji.ac.jp/~mk/labo/howto/intro-gnuplot/intro-gnuplot.html

Goに入門

gopherfiveyears
The Go gopher was designed by Renee French.

はじめに

pythonrubyで書き、Cを読むことが多かったのですが、Goで書かれているプロダクトが増えてきた気がするので、Goに入門しようと思います。 自分の担当がインフラ周りだからかもしれないです。

参考書

この本を買いました。

入門Goプログラミング(NathanYoungman RogerPeppé 吉川邦夫)|翔泳社の本

インストール

まずは、インストール。 Go Playground でもOKとは書いてありましたが、なんとなくインストールしたいので 公式のページの案内のとおりにインストールしました。

vim-go の準備

エディタはvimを使っているので、vim-goをインストールすることにしました。

GitHub – fatih/vim-go: Go development plugin for Vim

上記URLのとおりにインストールしたつもりでしたが、guruがなんとかというエラーが 出たので、とりあえず、guruなどもインストールしました。 (エラーのキャプチャとかを取っておけばよかったです。)

go get -u golang.org/x/lint/golint
go get -u golang.org/x/tools/cmd/goimports
go get golang.org/x/tools/cmd/godoc
go get -u golang.org/x/tools/cmd/gorename
go get golang.org/x/tools/cmd/guru
go get -u github.com/nsf/gocode
go get -u github.com/rogpeppe/godef

再度、vimを開い :PlugInstall で無事にインストールできたみたいでした。

これから

参考書の各章の練習問題を解いていこうと思います。

KVMのインストール

はじめに

これは、2018/2/3のときの記事です。

自宅のDebian jessieでKVMを試してみたメモです。

HW等の確認

BIOSの設定確認は忘れました。 cpuinfoは以下のとおりでした。

grep vmx /proc/cpuinfo
flags     : fpu vme de psetsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm ida dtherm tpr_shadow vnmi flexpriority

KVMのインストール

lsmod | grep kvm
kvm_intel    133524  0
kvm             338605 1 kvm_intel

仮想マシンの起動

起動しようとしたら、network “default” is not activeと怒られました。以下のコマンドでネットワークを起動してから仮想マシンを起動しました。

$ virsh net-start default