はじめに 前回 と 前々回 のエントリでは、Ansible AWX 周辺の最近の機能として、Execution Environment や、さらにその周辺の Ansible Runner、Ansible Builder の OSS 版での動きを追いかけました。今回は、Private Automation Hub のアップストリーム版である Ansible Galaxy NG の周辺を見ていきます。 が、現時点でサポートされている構成はホスト OS への直接のインストールのみで、開発用には Docker Compose ベースの手順もあるものの、いずれにせよ総じて取り回しが少々不自由です。そんなわけで本エントリでは、現時点で気軽に Galaxy NG を試せる方法 として、次の 3 パタンでの実装手順 と、簡単な動作確認 を取り扱います。 なお、いずれも Galaxy NG のドキュメントに
春の入門祭り2024の1記事目です。 はじめにTIG真野です。 Testcontainers を用いて、単体テスト実行前に docker compose up -d 無しで、PostgreSQLにアクセスする単体テストを行う、入門記事です。 恩恵は次のような開発者体感の向上が個人的にあります。 テストを実行するうえで、別プロセスのサービスを起動しておく必要があるといった前提条件を考えなくても済むため、テストを行うビジネスロジックに集中できるdocker compose up -d 打たないだけだが、テストに必要なコンテナを考慮しなくても済む停止し忘れて、別のリポジトリの開発するときに混乱しなくても済む並列テストしやすくなるので、テストの実行速度が向上するGoにおいて、複数のパッケージを同時にテストするとき、 -p 1 で絞らずに済むTestcontainers とはhttps://test
春の入門祭り2024の2記事目です。 Gitは、出自としては1週間で作られたLinuxカーネルのための分散バージョン管理システムでした。当時のワークフローに合わせてパッチをテキスト化してメールに添付できるような機能だったりが備わっています。 一方で、現代のGitは、デファクトスタンダードなバージョン管理システムになりLinuxカーネル以外のアプリケーション開発で利用されています。分散バージョン管理ではあるものの、サーバー・クライアント型の使われ方をしていて、GitHubやGitLabを核にして、ローカルで作ったブランチをpushして、Pull Requestの形にして管理しています。少なくとも周りで見る限りでは、それ以外の使われ方の方が少なくなってきてます。そんなこんなで求められている使われ方が変わってきていて、それに合わせた機能がぼちぼち増えています。それを活用することで、ウェブ画面上で
HelmfileでKubernetesマニフェストやKustomization、Helm Chartなどで構成されるアプリケーションを効率的に管理する はじめに みなさんは、Kubernetesクラスタへアプリケーションやミドルウェアをインストールする際に、どのような方法で行っていますか? Kubernetesには「kubectl」という公式のコマンドツールがあります。YAMLでKubernetesリソースの定義を書き、それをkubectl applyコマンドでインストールしている、という方も多いかと思います。 また、kubectlにも統合されている「Kustomize」や、Kubernetes向けパッケージマネージャの「Helm」を使っているという方もいらっしゃるでしょう。 今回は、これらのツールでは賄いきれないほどの複雑な環境へのデプロイに便利な「Helmfile」というツールを紹介し
Vault ACME on minikube 今年、Vault 1.14がリリースされ、ACMEの機能が追加されました。 普段からVaultを使っているものの、ACMEが追加されたことに最近気づきました。 もっと大々的に機能紹介してよいものだと個人的には思っています。 ゼットラボ社では社内自己署名サーバ証明書の発行に、Smallstep Labsのstep-caでACMEを社内に提供しています。 主に社内KubernetesのIngressサーバ証明書の用途に利用されており、Ingressとの連携には、cert-managerを導入しています。 また、社内SecretStore, PKIとしてVaultを利用しています。 今回VaultにACMEの機能が追加されたので、社内にもVaultがあることから、本記事を通して動作確認をします。 公式サイトには、VaultとCaddyをDocker上
k3s には Traefik Kubernetes Ingress が最初から含まれていて、いきなり Ingress リソースを使える。それはよいのだが、Traefik の設定に関する情報がなかなか見当たらなくて、思ったようにカスタマイズするのに苦戦したのでメモしておく。 なお、この記事の内容は以下のバージョンで確認している。 k3s version v1.26.1+k3s1 (f10af367) go version go1.19.5 まず、そもそも設定を変更する方法がわからなかったのだが、これについてはちゃんとドキュメントに記載があった。 Customizing Packaged Components with HelmChartConfig HelmChartConfig リソースを作成することで、Traefik の HelmChart のデフォルト値を上書きできる。ドキュメントでは
おまえら禁じられたインデックスアクセスを平気で使ってんじゃねえか!わかってんのか?『ランタイムエラー』が生まれたのは人間がコンパイラオプションに甘えたせいだろうがよ! 2022.06.25 TypeScript 4.1 から noUncheckedIndexedAccess オプションが追加されました。このオプションは上記のような配列のアクセスやオブジェクトのプロパティのアクセスをより厳密にします。 具体的には、配列に対するインデックスアクセスやインデックスシグネチャを通じたプロパティのアクセスは常に `undefined` とのユニオン型となります。
ExternalDNSは公開されたIngressやServiceを見ていい感じにDNSレコードを登録してくれるやつです。 たとえば、以下のようなIngressを公開することで、 myservice.foo.org のホスト名に対するAレコードを登録することができます。 apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: ingress-myservicea spec: rules: - host: myservice.foo.org http: paths: - path: / pathType: Prefix backend: service: name: myservicea port: number: 80 ingressClassName: nginx さまざまなクラウドプロバイダーに対応しているのでとても便
はじめに 以前 kubespray を使ってお家 kubernetes を作成しました。 その後遊んでいたのですが、kubectl port-forwardを使って通信している現状を変え、 通常のサーバのようにhogohoge.your.domainでアクセスできないかな~といろいろ試していた所、うまくいったのでその記録を残しておきたいと思います。 完成系 以下のようなリソースを作成すると自動的にドメインおよびTLSが設定され、hogohoge.your.domainとHTTPS通信を行えるようになります。 apiVersion: apps/v1 kind: Deployment metadata: name: ingress-helloworld spec: selector: matchLabels: app: ingress-helloworld replicas: 1 templa
Kubernetesユーザが集まり、KubernetesやKubernetesを使ったソフトウェアについて情報交換、交流をするための勉強会の「Kubernetes Meetup Tokyo」。ここでヤフー株式会社の相良氏が、「KubeVirtを使ったIaaS基盤構築」をテーマに登壇。ここからはヤフー株式会社でのシステム設計について紹介します。前回の記事はこちらから。 マルチテナントとKubernetesクラスタの単位について注意したポイント ここまでKubeVirtの技術について説明しました。ここからはヤフーで評価用にシステム設計を行った際に、注意したポイントなどをお話ししたいと思います。システム設計の検討項目のポイントですが、まずはマルチテナントとKubernetesクラスタの単位についてお話しします。 マルチテナントとKubernetesクラスタの単位ですが、KubeVirtクラスタに
Apache Kafka は高速でスケーラブルな pub/sub 型の分散メッセージングシステムです。Kafka クラスターに配置された Topic に Consumer アプリが Subscribe し、Producer が送信するメッセージを順次処理していきます。 Kafka はコンテナや Kubernetes 以前からの歴史があり、近年 Kubernetes で運用する事例も増えてきています。この記事では Kafka を Kubernetes で運用するための OSS の Operator Strimzi についてご紹介します。 Kafka のスケーラビリティはその構成により実現されています。メッセージが流れる Topic を Partition に分割し、多数の Consumer がメッセージを受信できるようにすると共に、Topic を管理する Broker を複数マシンからなるク
この記事はKubernetes Advent Calendar 2023の10日目の記事です。 はじめに Helmチャートのテストと継続的な一貫性の確保は、Helmチャートを作成した経験のある方にとっては永遠についてくるタスクです。新機能やKubernetesのAPIへの変化に対応するためにHelmチャートに新しいプロパティなどを追加する場合など、バージョンアップしてもユーザーが保持するValuesに対して一貫性を維持する必要があります。 Helmチャートを直接作成していない場合でも、他の誰かが作成したHelmチャートを自身のクラスターにインストールするために作成したvaluesファイルがある限り、チャートがアップデートされていく過程で問題なく機能するか、またDeprecateされたプロパティがないか、期待される生成結果に変更がないかを確認する必要があります。 Helmの実行に必要なのは基
Helmの勉強のために、各サブコマンドで何ができるか調べました。 環境情報 EKS Workshopで使う、Cloud 9インスタンス上で検証しています。Linuxです。 Helmのバージョンは以下です。 $ helm version version.BuildInfo{Version:"v3.5.0", GitCommit:"32c22239423b3b4ba6706d450bd044baffdcf9e6", GitTreeState:"clean", GoVersion:"go1.15.6"} completion generate autocompletions script for the specified shell シェル自動補完のためのスクリプトを吐いてくれます。 各シェル用のサブコマンドがあります。 Available Commands: bash generate au
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く