minikubeでpodのステータスがPendingのまま

はじめに

k8sの勉強を始めたく,ローカル環境をminikubeでセットアップしたものの,podのステータスがRunningにならない...

minikubeのTaint

どうやら動かすPodに制限をかけるためのTaintが原因のよう.minikubeのデフォルト設定. ymlファイルのTolerationで回避もできるが,めんどくさいのでこの設定を除外する.

$ kubectl describe nodes

でノードの状態を確認すると

Taints:             node.kubernetes.io/unschedulable:NoSchedule

となっている.

$ kubectl kubectl taint nodes --all node.kubernetes.io/unschedulable-

node/minikube untainted

でtaintを削除.

minikubeを再起動.

$ minikube delete
$ minikube start

再度$ kubectl describe nodesでノードの状態を確認してみると

Taints:             <none>

さらに,$ kubectl get podsでちゃんとpodの状態がRunningになりました!

【Can't resolve symbol エラー】もしかしてそれフィールドだったりしません...?

アホみたいだけどホントの話.

技術書を読んでいて出てくるコードのスニペット(一部分だけを切り出してあるあれね)を動かそうとすることがよくある. で,IDE立ち上げて1,テキトーにパッケージ切って,クラス名はまあMainでいっか,てな具合にMain.java作って...で,写経をし始めると,怒られる.

Can't resolve symbol ~ だとさ.

あれ,このメソッドないんだっけ...?とAPIを確認しにいったり,写経ミスを疑ったりするのだけれども,わからない.

........

で,しばらくして気づいた. あ,public static void main(String[] args)(メインメソッド)の記述忘れて,ここフィールドじゃないすか...orz

ということで,メインメソッドをはじめに書く癖をつけましょう. 自分はMainでクラスを作成するのでメインメソッドも作った気になってしまうのだと思います...

メインメソッドはたいていのIDEで自動補完がサポートされているはずなので,それを使いましょう. IntelliJでは「psvm」と書いてEnterするだけです. ちなみにメインメソッドを自力で書こうとして,例えばString[] argsを忘れるみたいなミスをすると,メインメソッドとして認識されないので,やはり自動補完がオススメです.(←これも経験あり...)

f:id:weekend_warrior:20200922231049p:plain
psvmとタイプするだけでOK(IntelliJの例)


  1. Java9以上なら「JShell使えばいいんじゃね?」という気もするが,ライブラリのパスを通して起動するのもめんどくさかったりするので…

ソニー銀行での外貨保有をやめました

いきさつ

こんなの書いたらまあソニー銀行からしたら個人特定できちゃうかもしれないけれど,もういいです笑.

これまでソニー銀行で外貨を積み立てて,そこから海外の証券会社なり銀行口座なりに外貨を海外送金してきたのですが,やめることにしました.もう投資資金をソニー銀行で積み立てたり,保有したりすることはありません. なぜなら,海外送金できなくなったからです. もう少し厳密に言うと,海外送金を行うための事前審査に通らなくなってしまったからです.

マネーロンダリングなどの犯罪を懸念してでしょうが,送金先は海外銀行とはいえ自分名義の銀行口座です. そして一発で審査が通らなかった場合に追加で要求される資料&質問が細かすぎる...さすがに詳細を書くのは控えますが経済面のプライバシーは丸見えになります. それでいて審査基準を満たさないと判断されると容赦無く切り捨てられます.「受付できません」というお祈りメールが届くだけ.なんでダメなのか理由は答えないという超強気なポリシー.

で,もういろいろ悩むのも,ムッツリな審査システムさんのご機嫌とるのも嫌気がさしたので,ソニー銀行を外貨保有のメイン銀行として使うのを諦めることにしました.今まで大変お世話になりました,さようなら.

これからどうする?

まだ試していないのですがTransferwiseを使っていこうと思います.

送金できなかった残高は別の国内銀行の外貨口座へ移動させたのでそちらから最終目的先へ送金しました(これまでが嘘のようにサクッと終了). この国内銀行間の送金も事前審査が必要だったのですが,こちらは国内ということもあるのでしょう,こちらも嘘みたいにあっさり審査通過しました. 送金目的には「もうおたくとは縁切るんで」的なことを書いた

困りそうなことはないな

特にはないかなと.ソニー銀行での外貨積立をストップしたので優遇ランクは下がってしまいますが,優遇によるメリット(引き出し手数料が無料になる上限回数の引き上げなど)をMAX使っているわけではないので,問題ないです.

まとめ

海外送金(特に投資目的)を予定されている場合,ソニー銀行での外貨積立&保有はやめときましょう.

IT/ソフトウェア屋さんが知っておくと便利な英単語

f:id:weekend_warrior:20200723231109p:plain

「ん?」って思って普通の辞書を引いても意味がパッとしなかったり,よく使われる意味とは違った意味で使われていて戸惑ってしまった英単語を集めてみました.遭遇次第,追加更新していきます.

vanilla

あー渋谷を大音量で走り回ってた妙に中毒性のある宣伝トラックのあれね

ソフトウェアに関してカスタマイズせずにそのまま用いることを指すようです.日本語だと「デフォルト設定」みたいな感じでしょうか?

「バニラカーネル」なんて言葉もあるようです.

Vanilla software - Wikipedia

で,やっぱり由来はバニラアイスだった...

populate

これはデータベース関係の用語.「データベースにデータを投入する」という意味です.

もともとは人や動物を居住させる,生息させるという他動詞で,「電子部品を基盤に装着する」という意味もあるようです.

compromise

一般的には「妥協」「妥協する」という意味(名詞,動詞)ですが,セキュリティ分野で「情報漏洩」「システムに不正に侵入する」という意味でも使われます.

AWS(Amazon Web Service)のセミナー動画を視聴しているときに出会ったのですが,「インスタンスを妥協するって???」と頭の中がはてなマークだらけになった言葉.

naive

アルゴリズムを形容する言葉として使われる例を見かけます.「そのまま実装するには問題がある」というような意味です. 例えば,得られる結果は間違っていないけれど,メモリ消費量や実行時間などの考慮が足りていないということを表現するのに使われているようです.

辞書を引くと「考えが甘い,ばか正直」とあるのですが,もともと日本語としての"ナイーブ"は「繊細な」というニュアンスで用いられることもあり,初見だとなんのこっちゃ?となりそうです.

wrap around

普通の意味だと「(くるっと)巻きつく」みたいな意味になりますが... 「最大値に達したら(くるっと一周して)最小値に戻る」という意味もあるようです.

「呼び出しごとに1ずつインクリした値を返すメソッドみたいだけどMAXまでいったらどうなる?」みたいな調べ物の最中で出てきた表現です.

モバイルルータの速度で困っているときは部屋の窓を開けてみて!

お題「#おうち時間

モバイルルータの速度が遅すぎてSTAY HOMEがツライ...

新型コロナ感染症(COVID-19)の感染拡大でテレワークになって早2ヶ月が経とうとしています.プライベートの集まりやカンファレンスなど,ありとあらゆるものがオンラインになっています.充実&快適な #おうち時間 に高速ネット回線はもはや必須.

が,しかし.残念ながらこんな状況になるまで気づきませんでした,我がモバイルルータでは快適なオンラインミーティングにはほど遠いということに...

通信速度(特に上り)がボロボロで泣ける...

オンラインミーティングの冒頭には必ず「帯域が狭くてビデオ使えません,ごめんなさい」とか「遅延あるけど真面目に話してます!」「たまに消えるけど許してね」みたいにチャットで弁明するようになってしまいました.ビデオをオフにしていても一時的に回線が落ちて,ミーティングから強制退出させられることもしばしば.テレワーク中のミーティングもこれだからたまったもんじゃないです.

モバイルルータonly歴はだいぶ長いのだけれど,こちらから持続的なアップロードが必要なアプリって使ってこなかったので,通信速度が遅いことに気づけなかったんですね.

通信速度を上げるためにやってみたこと

少しでも安定&快適なネット環境にすべく試したことがこちら:

  • ルータを窓際に設置
  • ルータを高めの位置に設置
  • ボール(調理器具)でパラボナアンテナを設置

ルータを窓際&高めに設置するのは効果あり!
ただし,充電を考えると常時高所というのも難しいですし,落下して破損しないように注意も必要です.
で,我が家ではどうやら「ディスプレイの上にクレードルごと載せる」がBESTっぽいことがわかったので,クレードルをガムテでディスプレイに固定することにしました.

一方,パラボナアンテナは残念ながら効果なし,というか効果が感じられる配置を探し出せませんでした.

それでも上りが圧倒的にボロい!

このときのスピードテストの結果がコチラ

fast.com

f:id:weekend_warrior:20200504150438p:plain
上りがボロボロ...zoomなんて100年早いわ!

う〜ん,下りは不便を感じないのですが,やっぱり上りがボロボロで泣けてきます(それでもスクショの8.2Mbpsなんてだいぶよい方).

そして4本あるルータのアンテナアイコンがどうやっても3本しか立たない...

最後の砦:窓を開ける

なんかもう立地的に無理なんじゃないかと諦めていました. そんなとき,「窓を開けるとよい」という情報を耳にしたので,試しに窓を開けて見たところ...

ルータのアンテナが4本立ってる!!

電波インジケータ1も見たことがない青になっている!!

そしてスピードテスト

f:id:weekend_warrior:20200504151116p:plain
これまでは考えられなかった数字が...!時間帯によっては30Mbps超えも...

これで少しはマシなオンラインミーティングになりそうです. 部屋の換気にもなるので一石二鳥ですね.

デメリットは...
近所から微妙な音楽が漏れ聞こえてくること,同様に自室から音がもれないように気を遣うようになってしまったことです.おいしそうなご飯の匂いも辛いです.

また,これからの季節はなんとかなりますが,真冬も窓を開けっぱなしでいける自信はないのでいずれ光回線を考えないといけませんね.

まとめ

一時しのぎですが,モバイルルータ(WiMAX+2)の回線速度でお困りでしたら,窓を開けてみることをオススメします!


  1. 現在使用しているNECのルータWX06の機能です.受信電波強度(的なsomething)をリアルタイムに細かく可視化してくれます.ちなみにWX06はコロナ騒ぎの最中に機種変更したばかりです.