とことんDevOps | 日本仮想化技術が提供するDevOps技術情報メディア

DevOpsに関連する技術情報を幅広く提供していきます。

日本仮想化技術がお届けするとことんDevOpsでは、DevOpsに関する技術情報や、日々のDevOps業務の中での検証結果など、DevOpsのお役立ち情報をお届けします。
主なテーマ: DevOps、CI/CD、アジャイル開発、コンテナ開発など

開催予定の勉強会

各種SNSのフォローもよろしくお願いいたします。

自宅の電気使用状況をMackerelでモニタリング

最近電気代高いですね。先日北海道電力が32%の電気料金の値上げを申請したらしいです。私は北海道住まいなのでクリティカルヒット。節電意識を持った方がよさそうなので、どれくらい電気を使ってるかモニタリングできるようにしたいと思います。 やりたいこ…

dive式ダイエット

気づかないうちにDockerイメージのサイズが大きくなってることってありますよね。最初は1GB切ってたのに、いつの間にやら1.xxGBに。Dockerfileを見て「あぁ、ここだな」っと気づける人は、そもそもイメージサイズを大きくしないので今回は対象外です。Docker…

tmuxのちょっと便利な使い方

tmuxで色々調べていると、設定方法や始め方、画面分割やセッション維持など、tmuxをフォアグラウンドで実行する方法が主にヒットします。ターミナルマルチプレクサなので正しいのですが、コマンドをバックグラウンドで実行するために使ってみるのはいかがで…

ぼくのてぃーまっくす

ターミナルマルチプレクサ使ってますか?screenやabduco、dtachなど色々あります。最近だとZellijなんていうのも出てきてますね。わたくし、最近はもっぱらtmuxに落ち着いていまして、.tmux.confの設定もここ数年変わってないですし、晒してみようかと思いま…

dsqというツールがおもしろそう

みなさん、SQLは得意ですか?私は苦手です。が、ちょっと面白そうなツールを見つけたので紹介します。 github.com SQLを使ってJSON、CSV、Excelなどからデータを抽出できます。JSONやCSVのパースならyqコマンドでも十分そうですが、SQLで抽出できるというこ…

必修アルゴリズムを読んでみた。

弊社には書籍購入補助の制度があります。少しでも業務に関連していそうなら無制限に買ってもらえます。その制度を利用して「必修アルゴリズム」という本を買ってもらいました。DevOpsには関係ないのですがまあいいでしょう。軽くレビューというか感想という…

AWSのMFAが複数登録できるようになっていたので試してみた

AWS

IAMユーザーのMFAが複数登録できるようになっていたみたいですね、全然気づいていませんでした。 aws.amazon.com 最大で8個まで登録できるようです。普段使いにYubiKeyとバックアップのTOTPを2つくらい登録しておけば概ね困らなそうです。 さっそく設定して…

自宅のインフラ環境をIaCとGitHub Actionsで管理

以前IaCとCircleCIで自宅のインフラ環境を管理する方法を記事にしました。 devops-blog.virtualtech.jp 今回はIaCとGitHub Actionsで管理する方法を書いていきます。 とはいっても、CIの設定を変更していくだけなので、以前の記事から「GitHubの設定」まで終…

KubernetesのNOMINATED NODEについて調べました。

先日、第8回とことんDevOps勉強会でNominated Nodeよくわからんっと言ったら社長が色々調べてくれたので、こちらも再現手順など確認していきます。 とことんDevOps勉強会のイベントレポートは以下 devops-blog.virtualtech.jp NOMINATED NODE??? kubectl get…

minikubeのはじめ方

2022-12-07に「Kubernetes再入門」というタイトルで勉強会に登壇しました。 devops-blog.virtualtech.jp そこで「勉強する環境がほしいが、どのように準備したらよいか」という質問をいただきましたので、ローカルで試す場合の環境の用意なんかを取り上げて…

自宅のインフラ環境をIaCとCircleCIで管理

この記事は、CircleCI Advent Calendar 2022 12日目の記事です。 さて、我が家では一部スマートホーム化が進んでいます。照明のオンオフ、気温や湿度の管理、人の出入りの監視などです。音声やスマホアプリから操作しているので、現在の状態や、なぜそうした…

VHSコマンドがなかなかよさそう

私はよくRedditのr/commandlineというサブレディットを見ています。ここではコマンドラインツールのリリース情報や、こういう時どうしたらいいんだっけ?っという情報が流れてきます。 先日も情報収集のために徘徊しているとVHSというツールを発見しました。…

GCPとArgo CDでかんたんDevOps

前回はAWS上にArgo CDを構築しました。今回はGCPにArgo CDをデプロイしていきたいと思います。 必要なもの Googleアカウント GCPプロジェクト gcloud CLI Terraform Helm kubectl argocd(CLI) 請求先アカウントが設定済みのGCPプロジェクトを用意してくださ…

AWSとArgo CDでかんたんDevOps

AWS EKSにArgo CDをインストールして、かんたんDevOps環境を作ってみます。 必要なもの AWSアカウント Route 53で管理されている実在するドメイン eksctl Helm kubectl argocd(CLI) AWSアカウントは事前に用意しておいてください。 eksctl、Helm、kubectl、a…

aws-auth ConfigMapを安全に更新する

AWS

新しい人が入ってきた時や、誰かが出ていく時など、EKSのaws-auth ConfigMapにIAMユーザーを足したり引いたりすることはよくあると思います。このConfigMap、構文が間違っていても保存できてしまうんですよね。エラーのまま保存してしまうと、そこで管理され…

kube2iamで403

先日、とあるプロジェクトでkube2iamのログを見ていると、以下のようなログを発見しました。 kube2iam-XXXXX kube2iam time="2022-09-26T10:34:03Z" level=info msg="PUT /latest/api/token (403) took 2.837123 ms" req.method=PUT req.path=/latest/api/to…

asdfが便利だったので乗り換えた

anyenv使ってますか?私は使っていました。っというのも最近とある案件でasdfをつかっているのをみて、ちょっと試してみたところ、なかなかよかったのでこちらに乗り換えました。 asdf-vm.com asdfってなんじゃろ? asdfはツールやプログラミング言語のバー…

GitHub Actionsでself-hosted runnerを使ってみる

検証環境 Ubuntu 22.04 Runner追加 docs.github.com GitHubにリポジトリを追加 Settings > Actions > Runnersからランナーを追加 追加する画面にいくと以下のように追加手順が表示されるので、ランナーとなるマシンにSSHログインし実行する config.shを実行…

GitHub ActionsでOIDCを使ってみる

GitHub ActionsがOpenID Connect(OIDC)をサポートしたのは結構前の話なんですが、未だ検証できていませんでした。社内でもSecretにクレデンシャル持つのはそろそろ辞めたいよねっという話が出ていますので、検証がてら記録を残しておきます。 ゴール GitHub …

EKS 1.21で有効になったBoundServiceAccountTokenVolumeの話

EKS 1.21というか、Kubernetes 1.21以降で有効になったBoundServiceAccountTokenVolumeについての話ですね。 docs.aws.amazon.com 簡単にいうと、Kubernetes 1.21以前ではトークンに有効期限がなかったのに対し、1.21以降は1時間の制限がつきますよっという…

HelmチャートをGitHub Pagesで公開する

過去の記事でHelmの使い方やHelmチャートの作り方についてまとめました。今回はGitHub Pagesで公開する方法をまとめます。 前準備 今回使うHelmチャートはHelmチャートの作り方で作ったものを使います。もしまだ作っていなかったり、手元にないようでしたら…

Helmチャートを作る

前回はHelmの使い方について軽くまとめました。 今回はHelmチャートの作り方について、まとめていきたいと思います。 雛形を作成 1から手作りするとなかなか面倒なのでコマンドから雛形を作ります。Helmコマンドには雛形を作るためのhelm createコマンドが用…

Helmで自動ロールアウト

Helmはデプロイの仕様自体に変更がない場合、古い状態のまま動き続けます。これではシークレットやConfigMapsのみ更新した場合、同じタグを指定している場合にポッドの更新ができなくて困りますよね。公式ドキュメントにもこのことが取り上げられていました…

Helmを使う

弊社Opsチームではアプリケーションの管理にHelmを使います。かんたんDevOpsでもHelmを使うことがありますが、導入して終わりというわけにもいかないので、簡単な使い方や、そもそもHelmって何ってなんなの?っという情報をここにまとめておきます。 そもそ…

eksctlとHelmでハマった

eksctlを使うとEKSにサービスアカウントを用意してくれます。これの何が嬉しいかというと、KubernetesのServiceAccountとIAMロールが紐づいてくれるので、kube2iamかkiamを使わなくてもKubernetesからAWSのリソースの操作ができるようになります、やったね☆ …

Terraform本を読んでみた

第4回とことんDevOps勉強会でおすすめいただいた書籍を簡単そうなところから読み始めています。 まずは基礎からということで以下の書籍を読んでみました。 基礎から学ぶ Terraform作者:茅根涼平,土持昌志,古越勇樹,矢澤学シーアンドアール研究所Amazon 今年…

Terraform CloudとGitHubを連携してGCPにインスタンスを起動してみる

必要なもの GCPのアカウント GitHubのアカウント Terraform Cloudのアカウント GCPの設定 Terraform CloudからGCPにアクセスするため、サービスアカウントとクレデンシャルが必要になります。以下の手順で作成してください。 gcloud iam service-accounts cr…

Kubernetesマニフェストの雛形を作ってみる

Kubernetesでアプリの管理をしているとマニフェストを弄る機会が結構でてくると思います。同じことを色々なところに書かなければいけなかったり、作成するリソース毎に記述する内容が変わったりで、こここれでいいんだっけ?など、悩みは尽きません。そこで…

GCPのフォルダ作成でハマった

GCP

最近GCPを触る機会を頂いたので、今まで自分ではやってこなかったリソース管理周りを勉強中です。 GCPにはリソース階層というものがあるらしく?組織直下のフォルダで色々まとめて、各環境ごとにプロジェクトを生やしていくといいみたいですね。 完全に理解…

HadolintでDockerfileを静的解析

Dockerfileを書くとき、ベストプラクティスに則っているか、RUNの実行に問題はないかなど、意識していますか?コンテナイメージのサイズは目に見えるので意識しやすのですが、Dockerfileがベストプラクティスに則っていなくても警告なく動いてしまうので、つ…