*ribbit*

@kznrluk のメモ帳です。

  • 普段のプログラミングや技術のことについて書いていきます。

Google CloudでDNSゾーンを作成できないときはゾーン名を変えてみよう

忘備録です。Terraformを利用してゾーンを作ったり消したりしていたところ、あるタイミングで突然「所有権を確認しろ」とエラーが出るようになりました。 Error: Error creating ManagedZone: googleapi: Error 400: Please verify ownership of the '*****' domain (or a parent) at http://www.google.com/webmasters/verification/ and try again, verifyManagedZoneDnsNameOwnership エラーメッセージには所有権を確認するためのURLが記載されていますが、このURLで登録を行っても解決しません。試行錯誤しましたが、結局ゾーン名を変えることで解決しました。 resource "google_dns_managed_zone" "common" { - name = "common" + name = "common-dev" dns_name = "example.domain." dnssec_config { state = "on" } } ごくごく勝手な推測ですが、Googleの数あるDNSサーバー (ns-cloud-d1.googledomains.com. など) に一度登録されたゾーン名と同じゾーンの作成を行おうとすると、所有権確認が必要になるのかもしれません。 お試しください。以上...

2024-03-07

2023のふりかえりと思うこと

年が明けてしまいましたが2023年をふりかえりと思うことを書き留めて置きたいと思います。2023年はSREとして本格的に活動を開始しながら、生成AIのキャッチアップにも時間を使った一年だったかなと思います。

2024-01-01

kubeadmで構築したクラスタに後からドメインを割り当てたときの証明書エラーを解決する

kubeadm で構築済みの自宅クラスタ、今までVPN or SSH経由でアクセスをしていましたが利用頻度が増えてきたこともあり、きちんとドメインを割り建ててアクセスをしたくなりました。 ドメインの割り当てはそれほど難しいことではないのですが、 kubectl は独自の証明書を .kube/config に埋め込んでおり、それがアクセス元ドメインを検証しているため(certSANs)、割り当てた後に再生成を行う必要がありました。 Unable to connect to the server: x509: certificate is valid for aki0, kubernetes, kubernetes.default, kubernetes.default.svc, kubernetes.default.svc.cluster.local, not aki0.anyfrog.net その手順が若干ややこしかったのでメモとして残しておきます。 tldr 202312追記: この方法を行ったことが原因か定かではありませんが、この後Kubernetesクラスタ全体の動作が不安定になり etcd のみを残...

2023-11-29

なぜLinuxデスクトップを使うのか

日常的にサーバーやコンテナでLinuxを利用している人間であっても、デスクトップOSとしてもLinuxを利用している人は少ないのが現状です。“Linuxデスクトップ なぜ” で検索すると、上位に出てくる記事はLinuxデスクトップの普及に対して否定的な意見を述べたものばかりが並びます。 しかし、私は過去数年間、Linuxデスクトップを開発時に利用しており、その魅力やメリットを実感しています。そこで、この記事では、私が感じるLinuxデスクトップの利点を具体的に解説して見ようと思います。 手の内に収まるユーザー体験 私が好んで利用しているディストリビューションはArch Linuxで...

2023-09-24

FluxのHelmReleaseでPostInstallがうまく実行されないのはFluxが--waitフラグを付けてるから

メモです。 マイグレーション付きHelm ChartがFlux v2上でうまく動かない 例えばこれ。 https://github.com/minio/minio/blob/master/helm/minio/templates/post-job.yaml apiVersion: batch/v1 kind: Job metadata: name: {{ template "minio.fullname" . }}-post-job labels: app: {{ template "minio.name" . }}-post-job chart: {{ template "minio.chart" . }} release: {{ .Release.Name }} heritage: {{ .Release.Service }} annotations: "helm.sh/hook": post-install,post-upgrade "helm.sh/hook-delete-policy": hook-succeeded,before-hook-creation {{- with .Values.postJob.annotations }} {{- toYaml . | nindent 4 }} {{- end }} マイグレーションのような、メインのDeploymentから依存されている処理をHelmの post-install で行うのはよく見られます。ただ、これらのChartをFluxのHelmChartで管理しようとするとうまく動作しなくなることがあります。 FluxのHelmChartでは、デプロイに helm install --wait 相当の動作をしています。すると "helm.sh/hook": post-install なJobはすべてのDeploymentがRunningになるまで実行が行われません。しかし、上...

2023-08-31

自宅Kubernetesクラスタ始めました - 構築編

自宅クラスタを動かし始めたので、次回構築時に困りそうなところをメモしておきます。 ラズパイで失敗 元々Raspberry Pi4を3台重ねてクラスタを作ろうと思っていましたが、うまくいかなかったので仮想マシンで試してみることにしました。 kubelet に etcdserver に接続できねーぞ!というエラーが出たり、Raspbianではcontainerdではうまく動作しない、等。 etcdserver: request timed out' (will not retry!) 今考えるとこのエラーはディスクIOが遅すぎて起動に時間がかかっていただけかも。それでも重いものは重いし、ちゃんと運用していきたいのでリソースに余裕のある仮想マシンで動かすことにしました。 ブリッジの設定 仮想マシンで動作させるために、まずブリッジの...

2023-08-24

Arch Linux カーネル更新後のDKMSエラーとダウングレード

雑に pacman -Syu した後に、DKMSのインストールで祈る事は、私みたいな適当Arch Linuxユーザーは一度や二度は経験したことがあると思います。今回は祈りが届かずZFSのインストールに失敗したのでリカバリ方法をメモしておきます。 エラー内容 DKMSは、カーネルのアップグレードに応じてカーネルモジュールを再ビルドするための仕組みです。カーネルのアップグレードに伴ってカーネルモジュールを再ビルドする必要があるソフトウェアは、DKMSを利用することでカーネルのアップグレードを気にせずに使えるようになります。 今回はシステムアップデートのため pacman -Syu を実行した後に、ZFSのインストールに失敗しました。エラーメッセージ...

2023-05-11

Japanese-Alpaca-LoRAをGCPのVMインスタンスで試す

(実際にはちょっと違いますが) 日本語で話せる素晴らしい言語モデルがkun1emon氏によって公開されました!これをGCP上で動かす実験をしたので、そのメモ書きをしておきます。 日本語Alpacaデータを用いてJapanese-Alpaca-LoRAを作ったので公開します【期間限定デモページあり】 - note tl;dr 結論、とりあえず動かすなら alpaca-lora をクローンしてきて動かすのが簡単。 https://github.com/tloen/alpaca-lora をクローンする python generate.py --base_model='decapoda-research/llama-7b-hf' --lora_weights=="kunishou/Japanese-Alpaca-LoRA-7b-v0 :7860 ポートで待ち受けてた。クラウド使うときはファイアウォールが空いてるか確認して自前のPCからアクセスできる。 実験 とりあえず動かすところが目標です。 インスタンス NVIDIA T4 + n1-highmem-16 (16 vCPU, 104GBメモリ) + 256GB SSD Debian 10 based Deep Learning VM with M105 Base CUDA...

2023-04-03

LLM周りで頻出する単語メモ

書きかけ。 https://note.com/kun1emon/n/n1533345d5d26 LLM 大規模言語モデル GPT OPT LLaMA FaceBook製LLM。 Alpaca LLaMAをスタンフォード大学がファインチューニングするプロジェクト。 tatsu-lab/stanford_alpaca: Code and documentation to train Stanford’s Alpaca models, and generate the data. LLaMAの7B程度のモデルでもtext-davinci-003(17.5B)と似た出力をする。 AlpacaはLLaMAをtext-davinci-003が生成したデータでSelf-Instructしたモデルであり、LLaMAのLoRAバージョンがAlpacaというわけではない。LLaMAのLoRAバージョンはAlpaca-LoRA。 Alpaca まとめ|npaka|note Alpaca-LoRA AlpacaをLoRAを用いて再現するプロジェクト。AlpacaがFin...

2023-03-27

Mastodon/Misskeyで話せる大阪の物知りおじさん

インフラの学習のため、GKE上でMastodonを動作させようと数日間ガチャガチャと学習をしていましたが、ついに安定して動作するレベルになったのでドメインを取って公開しました。 Building 7 構築周りについてはまた別で記事にするとして、建てたインスタンスがほとんど無人島の状態で辛かったので、最近話題になっていたChatGPTのAPIを利用してBotを作ってみました。 大阪の物知りおじさん (@chatgpt@building7.social) - Building 7 Systemプロンプトを利用することで、関西弁を話すように指示を出しており、陽気な感じで返信してくれているのがわかると思います。関西出身の人には怒られそうななんちゃって関西弁ですが、大目に見てあげてください。 https://github.com/kznrluk/chatgpt-mastodon 初期の...

2023-03-12