タグ

ブックマーク / text.superbrothers.dev (4)

  • リモートの Linux サーバを開発環境にする

    これまで Macbook Pro を開発環境としていたんだけど、価格は高いし Docker for Mac は重いしでいいことないなということで Linux の開発環境に移ることにした。前職の最初の数年はすべて VM(当初は jail)にログインして開発していたのでその頃に戻った感じ。ただ GUImacOS が何かと楽なので Intel NUC を購入して自宅に置いてリモートでログインして使っている。Core i7、メモリ 64GB で10万ちょいと安いのにめちゃくちゃ快適でさいこう。 ここからは備忘録としてリモートを開発環境とするうえで実施した作業を残す。あと作ったものもあるので宣伝。 外部からログインしたい自宅以外からも使うだろうということで(最近京都からリモートで働くこともあり)、VPN サービスとして Tailscale を導入した。 Best VPN Service for

    リモートの Linux サーバを開発環境にする
  • 複数バージョンの kubectl や他の CLI ツールを管理するには asdf-vm を使う

    asdf がそれっぽいツールですね。私はこれで kubectl を管理してます。 — すぱぶら (Kazuki Suda) (@superbrothers) May 13, 2020kubectl などの CLI ツールを複数のバージョンを切り替えながら使いたいことがあります。例えば番のクラスタのバージョンは 1.16 だけど検証で 1.18 のクラスタを使うといったケースです。毎回どこからインストールするのかドキュメントを探したり、コマンドのヒストリを検索してみたり、kubectl118 のような別名で管理したりと何かと面倒です。 asdf-vm は、Node.js や RubyPythonGo といった言語で複数のバージョンを管理できる anyenv に似たツールで、言語に留まらず kubectl や istioctl といった CLI ツールもいい感じにインストールからバージョ

    複数バージョンの kubectl や他の CLI ツールを管理するには asdf-vm を使う
    mapk0y
    mapk0y 2020/05/14
  • Docker/Kubernetes で PID 1 問題を回避する

    はじめにPID 1 問題というのは、コンテナを実行した際にアプリケーションのプロセスが PID 1(プロセス番号が1番)で実行されることで、コンテナに対して SIGTERM などのシグナルを送信してもコンテナ内のプロセスが正常に終了しないというものです。ここでは2020年3月現在でこの PID 1 問題を回避する方法を DockerKubernetes のそれぞれで紹介します。 TL;DRアプリケーションが「明示的にシグナルをハンドリングするようにする」、または「PID 1 で実行されないようにする」の2つの回避策があるアプリケーションプロセスが PID 1 で実行されないようにする場合、Docker では Tini のような軽量 init を使う、もしくは Docker 1.13 以上の場合は docker run の --init オプションを使うで問題を回避できるKuberne

    Docker/Kubernetes で PID 1 問題を回避する
  • Kustomize でマニフェストのフィールドを削除する

    対象のフィールドの値を null としてパッチすることでフィールドそのものを削除できます。 kustomize version {Version:3.5.4 GitCommit:3af514fa9f85430f0c1557c4a0291e62112ab026 BuildDate:2020-01-17T14:23:25+00:00 GoOs:darwin GoArch:amd64} 例えば次のような Pod マニフェストがあるとします。 apiVersion: v1 kind: Pod metadata: name: dapi-test-pod spec: containers: - name: test-container image: k8s.gcr.io/busybox command: [ "/bin/sh", "-c", "env" ] env: - name: LOG_LEVEL

    Kustomize でマニフェストのフィールドを削除する
    mapk0y
    mapk0y 2020/03/15
  • 1