タグ

ブックマーク / zenn.dev/zoetro (3)

  • Kubernetesエンジニア向け開発ツール欲張りセット2022

    はじめに 記事では、筆者や筆者の同僚がKubernetes関連の開発をしているときによく利用しているツールを紹介します。 主にKubernetes上で動くプログラムをGoで書いたり、マニフェストのYAMLを書いたりするエンジニアが対象となります。 記事の内容は極力環境依存を減らし、Linux, WSL2, Macなどの環境で利用可能となっています。 WSL2(Ubuntu 20.04)、およびM1 Macで動作確認していますが、環境によって多少の違いが生じることもあるのでご了承ください。 基となるツール make & brew 記事ではmakeコマンドを利用します。 Ubuntuの場合は以下のコマンドでインストールをおこなってください。 Macの場合は、以下のページを参考にHomebrewとCommand line tools for Xcodeをインストールしてください。 Doc

    Kubernetesエンジニア向け開発ツール欲張りセット2022
    mapk0y
    mapk0y 2022/06/12
  • KubernetesのReconcile処理で無駄な更新をしない方法

    2021/04/02追記: Kubernetes 1.21以降ではServer Side Apply方式を利用するのがよさそうです。こちらの記事もご覧ください。 3行まとめ kubebuilder/controller-runtimeを使ってKubernetes用のコントローラやオペレータを作るときの話 DeploymentやServiceを作成するとkube-apiserverがデフォルト値をセットするが、その値をコントローラで上書きしてはいけない 上書きを回避する方法はいろいろあるがどれも一長一短 はじめに 記事では単純な例として、以下のようなDeploymentを作成するコントローラを考えます。 apiVersion: apps/v1 kind: Deployment metadata: name: myapp-sample-nginx labels: component: ngi

    KubernetesのReconcile処理で無駄な更新をしない方法
    mapk0y
    mapk0y 2021/04/02
  • Kubernetes v1.21で導入される型安全なServer Side Apply

    2021/07/16追記: Server Side ApplyするときにClientで差分検出して無駄なリクエストを発生させない方法を書きました。こちらの記事もご覧ください。 前回の記事では、Reconcile処理において無駄な更新処理を発生させないさまざまな実装方法を紹介しました。 その中で、Server Side Apply方式では更新に必要のないフィールドがリクエストに含まれてしまうために、それを取り除く処理を書く必要があり面倒だと書きました。 まもなくリリースされるKubernetes 1.21では、Server Side Applyのこの問題を解決する機能が導入されるようです。 Apply for client-go's typed clients この新機能では各リソース用にApplyやApplyStatusなどのメソッドが追加されます。 例えばDeployment用のAppl

    Kubernetes v1.21で導入される型安全なServer Side Apply
    mapk0y
    mapk0y 2021/04/02
  • 1