kopiaの挙動についての調査

tasasei

Veleroを使ってk8sをCloudflare R2にバックアップしている。

k8sシステムのバックアップは、backups/フォルダ内に日付フォルダが作成されて保存される。 私はバックアップを10日分と設定しており、それより前のフォルダはVeleroが勝手に消してくれる。

PVのバックアップにはVelero内部でkopiaが使われていて、差分バックアップしているらしい。

このバックアップのサイズが日に日に増えていっている。 Velero本体側は古いファイルは確実に消されているが、kopia側は内部がよくわかんない。 その原因を調査すべく、我々はアマゾンの奥地へと向かった。

まず、S3 Browser(https://s3browser.com/)を使用してバックアップサイズを確認する。 PV以外が原因の可能性もあるため(kopiaが原因でない可能性もあるため)、念のため

backups/
31.63 MB (33 166 071 bytes)

kopia/
730.84 MB (766 345 759 bytes)

この時点でkopiaが原因であることは確定だが、もう少し深堀してみる。 Veleroは、namespaceごとにkopiaのバックアップリポジトリを作るらしい。 リポジトリごとのサイズを見てみよう。

kopia/kube-system/
960.84 KB (983 897 bytes)

kopia/default/
149.79 MB (157 062 963 bytes)

kopia/commafeed-k8s/
580.12 MB (608 298 899 bytes)

commafeed-k8sのサイズが大きいので、原因が簡単にわからないか見てみよう。

まず、以下のコマンドでkopiaでリポジトリに接続する。

$ kopia repository connect s3 --bucket=velero-backup \
  --access-key=MY_ACCESSS_KEY \
  --secret-access-key=MY_SECRET_ACCESSS_KEY \
  --endpoint=my_endpoint.r2.cloudflarestorage.com \
  --prefix=kopia/commafeed-k8s/

「映画ドラえもん のび太の絵世界物語」を見に行った話

tasasei

少し前になるが、ドラえもんの映画を見に行った。 別に書くほどの内容でもないのだが、記憶容量を空けるために、その時のことを書いておく。

見に行ったのは4月12日土曜日。場所も書いてもいいのだが、ネットに晒すわけだし、伏せておこう。

見に行ったきっかけというか、ある人に、見に行ったほうがいいとラインが来て、見に行ったわけだ。 そいつに、具体的な感想を話そうかと思っていたのだが、 当分会う機会も無さそうなので、ここで吐いておく。

感想を書くと、まあ良かった。 シナリオは、シンプルオブシンプルである。 こいつは、敵と見せかけた味方だろうな、というやつは、やっぱり味方。 こいつは敵だろうなという奴は、やっぱり敵。

日常パートで変な使い方をしたひみつ道具は、最終決戦で使う。 ヒロインが変な動きをしたら、その理由は最後に明かされる。 ジャイアンは男前。何の捻りもない王道の筋書きである。

だが、それがいいのである。劇場版ドラえもんに変なことなんて望んでいない。 私が見たい劇場版ドラえもんがそこにあった。

そして、ドラえもん、劇場版ドラえもんへの愛が多分に感じられた。 ほんやくコンニャク、きせかえカメラ、と言った劇場版の定番道具はもちろん、 水加工用ふりかけ、かるがるつりざおといったマイナー道具、 そして、チンカラホイ、テケレッツノパー、といった作品内のオマージュ、 また、誰もが忘れているであろう、パパの絵が上手い設定、等、 ドラえもんコミックス内の情報を広く扱っている。 これはドラえもんファンもニッコリである。

結局、みんなはミームが大好き、ということなのかもしれない。 ドラえもんミームである。それが、ファンの見たい物だったのかもしれない。 ドラえもんファンが作ったドラえもんファンの映画。それが本作なのかもしれない。

調べたら、本作の脚本家は大変なドラえもんマニアだったようだ。 忘れてもいいようにリンクを貼っておく。(今、私が書いているこの記事は何の案件でもないしリンク先から1円たりとももらっていないことも念の為に書いておく)

NEWSポストセブン 『映画ドラえもん のび太と絵世界物語』制作陣インタビュー#2 『映画ドラえもん のび太の絵世界物語』脚本家が明かす「こだわりのオマージュ」、考え抜いた「王道の展開」

以上。

ラズパイ内のKubernetesでPodを動かす

tasasei

自分の RaspberryPi 4B でk8sを動かすことに成功したので、 備忘録としてその記録をまとめておく。

インストール

公式に出ているkubeadmでインストールする方法は、難しすぎて 実質不可能なので、おとなしくk3sを使う。

公式のクイックスタートのコマンドそのままだと書き込みできずにエラー発生するので、 以下のように権限644を付加する。1

curl -sfL https://get.k3s.io | K3S_KUBECONFIG_MODE="644" INSTALL_K3S_EXEC="server" sh -

もしくは、設定ファイル/etc/rancher/k3s/config.yamlで権限付加を明記し、サービス再起動でもいいだろう。

write-kubeconfig-mode: 644

サービス再起動は以下のコマンドでできる。2

停止

sudo systemctl stop k3s-agent

起動

sudo systemctl start k3s-agent

これでk8sのインストールは完了

PodとServiceの起動

基本的に公式のチュートリアル に従ってPodの導入とServiceの起動ができる。

しかし、imageはarmには対応していないようなので、別途指定する必要がある。 今回は、動かせばいいだけなので、適当にnginxのimageを使用した。

そして変更してできたmanifest、load-balancer-example.yamlが以下。

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app.kubernetes.io/name: load-balancer-example
  name: hello-world
spec:
  replicas: 5 # 1でも動きます
  selector:
    matchLabels:
      app.kubernetes.io/name: load-balancer-example
  template:
    metadata:
      labels:
        app.kubernetes.io/name: load-balancer-example
    spec:
      containers:
      - image: docker.io/arm64v8/nginx # arm対応imageを指定
        name: hello-world
        ports:
        - containerPort: 80 # Pod側の待受ポート

おみやげ

tasasei

ある旧友からおみやげをもらった。カナダ土産のクッキーだ。 その日は、別の旧友の家に泊まらせてもらった。 さらに翌日の夜も泊まらせてもらう際に、そのクッキーを私と家主の2人で 食べようとしたのだ。

菓子の外箱を家主に渡し、開けるように依頼した。 彼は私に開封するよう返され、私が外箱を開けて返した。 その中には内袋があったのだが、結局それは机の上に置かれたままであった。

翌朝、彼は仕事に、私は帰路に発つ際に、内袋となった菓子をバッグに 入れておくのが面倒でその菓子を置いていくと家主に伝えた。

これはあまりにも、菓子をくれた人に失礼である。 分けて食べるとかならまだしも、1つも食べずに他人に押し付けるのはあんまりである。 結局、家主に再会するときまで保管するよう依頼してしまった。

私の致命的な欠点は、他人の好意を粗雑に扱うところと、 積極的に損しようとしに行くところである。

今回の件は前者が如実に出た結果となってしまった。 素が出てくると結構出てくる。

やはり基本的な対策は素が出ないように1人の時間をそれなりに設けることな気がする。 今回は、泊まりということで、それが難しいのだが土産物の扱いということで ルールさえ決めておけばなんとかなりそうである。人からもらったものは自分が責任を持って 最後まで面倒を見る。

家主の家にラブライブカード2000円分を土産として持っていき、7000円分のカードが当たってしまった。 彼は、それとなくパック開封物全てを私に譲る話をしていたが、結局面倒で全部渡してしまった。 これを、私が貰い受けるべきだったのか、彼に渡してよかったのか不明だ。これはよくわからない。 開封前に、出た物をどうするか伝えておくべきだったのかもしれない。

iTunesの引っ越し方法

tasasei

先日、古いPCからiTunesを引っ越しする機会があったので、備忘録がてら記録。1

丸ごと引っ越しする場合

引っ越し前のPCでやること

iTunesに音楽を取り込む際に、適当なフォルダから取り込むなどして、 実体ファイルがバラバラなことがあります。 その実体ファイルをまとめます。

iTunesを起動します。左上のファイル->ライブラリ->ライブラリを整理をクリック。 「ライブラリを整理」ウィンドウが表示されるので、「ファイルを統合」にチェックを入れて 「OK」をクリック。

これで、「ミュージック」フォルダ内の「iTunes」フォルダに、音源の実体ファイルがまとめられます。

この「iTunes」フォルダを新しいPCに移動します。

引っ越し後のPCでやること

元のPCから移動した「iTunes」フォルダを引っ越し先の「ミュージック」直下に入れます。

shiftキーを押しながらiTunesを起動するとフォルダ選択を迫られます。 配置した「iTunes」フォルダ内の.itlファイルを選択します。 この操作は必要ないかもしれません。

一部だけ引っ越しする場合

既に引っ越し先のiTunesに音楽が入っていて、音楽フォルダを追加したい場合です。

引っ越し前のPCでやること

音楽フォルダを新しいPCにコピーします。以上。

引っ越し後のPCでやること

iTunesでファイル->フォルダをライブラリに追加から旧PCから持ってきた音楽フォルダを選択します。 それで、音楽がiTunesに取り込まれるはずです。

その後、実体を取り込むために、左上のファイル->ライブラリ->ライブラリを整理をクリック。 「ライブラリを整理」ウィンドウが表示されるので、「ファイルを統合」にチェックを入れて 「OK」をクリック。

これで、音楽/iTunesフォルダの容量がちゃんと増えているはずです。 不要になった、旧PCから持ってきた音楽フォルダを削除します。 (正しく実体が残っているか再生するなどして念のため確認してください)

わんだふるぷりきゅあ感謝祭

tasasei

何を血迷ったか、今日記を書いている。 今は東京にいるのだ。具体的に言うと、皇居北側の喫茶店。ティールーム花。 当たりである。ブレンド440円、サンドイッチ380円とかなり安い。

ここでなんとか有意義な時間を作ろうとしたものの、残念ながら 私はそこまで殊勝な人間ではなかったようだ。無念。

そして今は2月10日。わんぷり感謝祭を終えた月曜日。 また次の曲が始まるのです。

感謝祭に行って最も良かったのは、松田颯水の挨拶。 オーディションに落ちても、また受けさせてくれた事務所への感謝。 自分をそこの枠に割り当ててもらえることへの感謝を述べられていた。

本当はもっとお金落とさなければいけないのだろうけれども、 モノを管理したくないし、安く済ませるのなら安く済ませたいから、あまり買っていない現状。

疲れたので書くのはここまで。

2025年を迎えて

tasasei

なんというか、書く内容が無い。

日々、なんとか良くしようとしているが、 しているか?そうでも無い気もする。

ここに書くような内容はあくまでも外ヅラであるのだが、 そこまで読みやすい文章は書けない。

人に綺麗なものを見せたり、輝かしい日々をまとめたりするのが、上手い人はいる。 私は上手くない。

日記は結構書いてきたから、文章自体は書けるが、人に読ませるような文章となると勝手がちがう。 これはこれでいいのだろうか。まあ、得て不得手はあるだろうから、良しとしたい。

私はもはや自宅内では何もできない体となってしまった。 この文章ですら、図書館で書いている。 そんな場所を取ってまで出来上がる文章ですら、このスカスカ具合である。

最近見た映画だと、「ブレイブハート」いうのが当たりだった。 3時間と、ポンポさん理論だと長すぎるものの、結構引き込まれる。 戦争の騎馬シーンの迫力がすさまじかった。

メモをとるツールをうまく使いたい。 Notionというのがいいらしいが、市販のツールには抵抗がある。 まあ、あれは無料なのだが。

iOSのリマインダーが使い勝手いいのだが、OSSでいい感じのは無いだろうか。 caldavでタスク管理もできたりするらしいのだが、なんかよくわからん。

2024年12月31日

tasasei

年末である。特に書くことはないけれども、書くのである。

こんなの見せるものでもないだろうに。

インフルエンザにかかって一週間も寝込んでいた。 帰省を見送ろうかと思ったものの、流石に治っただろうということで、今は新幹線の中である。

実家で何かするのかといえば、特段何をするでもない。 正直、親や祖父母にゴマをする意味など特に無いわけで、 妹や弟とのコネを多少維持するかというのが多少の意図である。

あと、やることと言えばツタヤでCDのレンタルをしなければならない。 最低でもミリオンは履修しておく必要がある。

と、思ったが、今日はツタヤは19時までしかやっていないようだ。 また、明日、明後日は休みのようだ。 なんとしてでも今日借りておく必要がある。

コメダは1/1,2は休み。なんやいね。

CORSについても調べなければならない。なぜかリダイレクト要求が来たらエラーが出る。

こんな無駄な文章であれば、書く必要も無い気がするが、とりあえず書いてみる。 今後どうするかは、あとで考えるかもしれないし、考えないかもしれない。

12月を迎えて

tasasei

ちゃんとした記事、日記を書こうとして、何も書けないでいた。 そうなってしまったのなら、本末転倒なので、しょうもなくてもいいから、 何かを書こうと思って筆をとります。

最近変わったことといえば、AWS SAAを取得しました。 応用情報試験を終えて、結果発表までの空いた時間で、取れるものをと受験しました。 片手間にしては、中々いい結果なのではないでしょうか。 自分で褒めてあげたいです。

今日、遊戯王マスターデュエルで、マスター1に到達しました。 正直、勝つならスマブラよりも100倍簡単なのでやってる感はあります。 いうて、ソシャゲなので、時間を取られてしまうのも、なんだかなあという気もします。 気持ちよく勝つぐらいが丁度良いやもです。

ツイッターに書いてしまうと、どうもマウントの取り合いのような、 承認欲求を満たすためだけの場のような、不毛な出力がされてしまっていそうです。

色々考えること、思うことはありますが、まだまだここに吐けるほど整理できていないのもまた事実。 人に見られるかもと思って、出せていないこともあったり。 今一度に出力しきろうと思わないで、少しずつでも出せるようになっていければ良いかなと思います。

AWSで自宅を固定ドメインにする

tasasei

前提

DDNSの仕組みを利用します。以下を満たすものとします。

  • ドメインを既に保有している
  • 自宅が動的グローバルIP

しくみ概要

家の端末から、lambdaにアクセスして、グローバルIPを取得します。 再度lambdaにアクセスし、既存のDNSレコードとIPが異なるなら、DNSを更新します。 つまり、lambdaは二度実行されます。

方法

基本的にAWS公式サンプル の通りに実行すれば導入できます。

1. AWS CloudShell から以下を実行します。

git clone https://github.com/awslabs/route53-dynamic-dns-with-lambda.git
pip install -r requirements.txt

2. DNS レコードの更新をテストするために以下パッケージを追加します。

sudo yum update
sudo yum install perl-Digest-SHA

3. 以下コマンドでデプロイします。

cdk bootstrap
cdk deploy

4. 設定を行うために付属のnewrecord.pyを実行します。

python3 newrecord.py

このコマンドは、さきほどのCDKがデプロイされているか確認します。 デプロイされていない場合、以下を返却します。

Dyndns stack not found, ensure the right AWS CLI profile is being used.