この記事は、CYBOZU SUMMER BLOG FES '24 (クラウド基盤本部 Stage) DAY 9 の記事です。 こんにちは。DBRE チーム の山下です。 サイボウズではサービスを運用する上で多くのバッチ処理を実行しています。 Kubernetes 基盤を利用するにあたって、バッチ処理によく使われるのが Job だと思います。サイボウズでも多くの Job を活用しています。 そんな Kubernetes の Job ですが、リトライに関して想定と異なる挙動が見つかったためコードリーディング、kind での検証の両面から調査しました。 今回は調査によって得られた Kubernetes の Job のリトライの挙動に関する知見をご紹介します。 Job の概要 まずは簡単に Job について説明します。 Job は単発のジョブを実現するための Kubernetes リソースです。
本ブログは、Vishwas Manral, Founder and CEO at NanoSec, CSA Silicon Valley Chapter のブログ(The Evolution of Cloud Computing and the Updated Shared Responsibility、https://cloudsecurityalliance.org/blog/2021/02/04/the-evolution-of-cloud-computing-and-the-updated-shared-responsibility/)の日本語版で、著者の許可のもとに翻訳し公開するものです。原文と日本語版の内容に相違があった場合には、原文が優先されます。 クラウドコンピューティングは、過去10年間変化し続けてきた。このブログは、コンテナ、機能、ローコード、ノーコードの成長によるクラ
A curated checklist of best practices designed to help you release to production This checklist provides actionable best practices for deploying secure, scalable, and resilient services on Kubernetes. The content is open source and available in this repository. If you think there are missing best practices or they are not right, consider submitting an issue. Check things off to keep track as you g
Kubernetes Helm(以降Helm)とはKubernetesのパッケージマネージャーです。HelmはKubernetesのSIG-Appsで開発がされています。パッケージはChart(s)と呼ばれ、公式でレポジトリkubernetes/chartsが用意されています。Kubernetesクラスタに側にはtillerと呼ばれるデプロイ用のコンポーネントを配置して使用します。 用語 用語 意味 役割
この記事は ウェブクルー Advent Calendar 2018の5日目の記事です。 昨日は@wc_omuroさんの「いますぐはじめよう!ユーザーリサーチ!」でした。 今年はオンプレのDockerで動作しているWebアプリやオンプレの少々古いフレームワークをリプレイスして、KubernetesのフルマネージドサービスであるGKEに載せ替える業務をメインにやってきました。 KubernetesのServiceが、どういった仕組みでPodと通信しているのかを正確に把握出来ていない部分があったので、使用した機能を中心にKubernetesのドキュメントを読みつつまとめました。 以下、KubernetesのことをK8sと書きます。 なぜK8sなのかは下記のリンクでご確認ください。。 https://kubernetes.io/docs/concepts/overview/what-is-kube
はじめに ここ最近 kubernetes (k8s) 上でのアプリ開発なんかにも関わるようになったのですが、EKS 上で動かしていたシステムをローカル環境 (microk8s) に持ってきたら特定のコンテナだけ名前が引けなくなって動かない、という現象にぶち当たって数日溶かしてしまったので、その話をしようと思います。 要約 以下の要因が組みあわさることで、k8s 上の Alpine linux ベースのコンテナではうまく名前を解決できないことがあります。 k8s はデフォルトではローカルドメインの名前を優先して解決する (/etc/resolve.conf の ndots: 5) k8s 外部へ名前を問い合わせるときに、問い合わせ先の DNS サーバが本来 NXDOMAIN を返すべきところ、そうなっていないケースがある Alpine linux は一般的な lInux ディストリビューショ
このページに記載されている情報は古い可能性があります このページの更新日は英語版よりも古いため、記載されている情報が古い可能性があります。最新の情報をご覧になりたい方は英語版のページをご覧ください: DNS for Services and Pods ServiceとPodに対するDNSこのページではKubernetesによるDNSサポートについて概観します。 イントロダクションKubernetesのDNSはクラスター上でDNS PodとServiceをスケジュールし、DNSの名前解決をするために各コンテナに対してDNS ServiceのIPを使うようにKubeletを設定します。 何がDNS名を取得するかクラスター内(DNSサーバーそれ自体も含む)で定義された全てのServiceはDNS名を割り当てられます。デフォルトでは、クライアントPodのDNSサーチリストはPod自身のネームスペー
Amazon Elastic Kubernetes Service (Amazon EKS) クラスターで CoreDNS を使用しているアプリケーションまたはポッドが、内部または外部の DNS 名前解決に失敗しています。 簡単な説明 Amazon EKS クラスター内で実行するポッドは、CoreDNS クラスター IP アドレスをネームサーバーとして使用し、内部および外部 DNS レコードをクエリします。CoreDNS ポッド、サービス設定、または接続に問題がある場合、アプリケーションは DNS 解決に失敗することがあります。 CoreDNS ポッドは、kube-dns と呼ばれるサービスオブジェクトによって抽象化されます。CoreDNS ポッドの問題をトラブルシューティングするには、サービスエンドポイントオプションや iptables ルールなど、kube-dns サービスのすべてのコ
Kubernetes クラスターの外の DNS サーバーを参照する要望は、システム上でよくある話かと思います。 今回は、Kubernetes 内の名前解決や、クラスター内の Pod がクラスターの DNS 以外の DNS サーバーを参照したい時の方法について、ご紹介しようと思います。 Kubernetes 内の名前解決について Service の A/AAAA レコード Kubernetes クラスターでは、Service (Headless を除き) が作成されたら、AレコードがクラスターのDNSに登録されるようになっています。Aレコードの内容は FQDN と Service の ClusterIP となります。 登録された FQDN の形式は以下になります。 <ServiceName>.<Namespace>.svc.cluster.local Headless Service につい
はじめに Kubernetes は v1.25 で cgroup v2 サポートを GA しており、その後に cgroup v2 に関連する機能が追加されています。しかしまだ多くのディストリビューションで Kubernetes がデフォルトで cgroup v2 を使用しない設定のため、実際に利用している方は多くないと思います。PFN では2022年12月に Kubernetes バージョンを v1.25 にアップグレードするのと同じタイミングで cgroup v2 に切り替えています。 このエントリでは Kubernetes の cgroup v2 に関する機能である MemoryQoS フィーチャゲートと memory.oom.group の2つについて、機能概要と課題を共有します。なお、Kubernetes v1.28 時点での情報です。 そもそもの cgroup v2 について そ
Dockerとruncに潜む4つのセキュリティリスク Snykが警鐘 Leaky Vesselsは4つの脆弱性で構成されており、これらを悪用された場合、サイバー攻撃者がコンテナを抜け出してホストOSにアクセスする可能性がある。これらの脆弱性の中には深刻度が「緊急」(Critical)と分類されるものが含まれているため、該当プロダクトを使用している場合は情報を確認するとともに、必要に応じて対処することが求められる。 Leaky Vesselsを構成する脆弱性の詳細は以下の通りだ。 CVE-2024-21626: 内部ファイル記述子の漏えいによって新しく起動したコンテナプロセスにおいて、ホストのファイルシステム名前空間内の作業ディレクトリを保持できる脆弱性。これを悪用した場合、ホストファイルシステムへの不正アクセスやコンテナ環境からの脱走が可能になる CVE-2024-23651: 同じキャッ
KEELチームの相原です。 今回はeBPFを利用してKubernetesクラスタの可観測性の隙間を埋めている話です。 前回のエントリではLLMにうつつを抜かしていたので本業(?)の話をしようと思います。 www.lifull.blog LIFULLの可観測性の現在地 eBPFとは 可観測性の隙間 NAT Loopback eBPFを実行するには BPF CO-RE libbpf-rsを利用したNAT Loopbackの検知 1. (ユーザ空間) コマンドライン引数として受け取ったDNSをTTLごとに名前解決してIPアドレスを取得する 2. (ユーザ空間) IPアドレスに変化がある度にカーネル空間で動くBPFプログラムにそのIPアドレスのリストを渡す 3. (カーネル空間) Kprobesで tcp_v4_connect/tcp_v6_connect にフックを仕込む 4. (カーネル空間)
Kubernetes Novice Tokyo #29 で発表したLT資料です イベントURL: https://k8s-novice-jp.connpass.com/event/300438/ 動画URL: https://www.youtube.com/watch?v=WZHDlB8P9_4 参考資料: https://github.com/kubernetes/kubernetes/tree/v1.28.4 https://github.com/coredns/coredns/tree/v1.11.1 https://github.com/coredns/example https://github.com/coredns/coredns/blob/v1.11.1/plugin/kubernetes/README.md https://github.com/kubernetes/dn
Kubernetes Novice Tokyo #28 の登壇資料です イベントURL: https://k8s-novice-jp.connpass.com/event/293157/ 配信URL: https://www.youtube.com/watch?v=LSW51Cm0Wc0 コードリーディングメモ: https://zenn.dev/bells17/scraps/5e41da598a8266 参考資料: https://github.com/kubernetes/kubernetes/tree/v1.28.2 https://speakerdeck.com/ryusa/servicewotazunete3000xing-kuberneteskodorideingufalselu https://qiita.com/Tocyuki/items/6d90a1ec4dd8e991a
「Kubernetes、考えることがいっぱいあって楽しいですね。今日はそんなKubernetesのお話です」 こんな謎の問いかけから始まった、Kubernetesセッション、皆さんご覧になりましたか? Kubernetesで実現するアプリケーションの未来まで見据えたとき、最初に検討しないと一生後悔する忘れがちだけど考えないといけない知見がてんこ盛りのセッションでした。このブログでは、そのセッション内容を余すことなく解説。 EKS/Kubernetesの運用に自信がない Kubernetesクラスタの長期運用を真剣に考えたい クラスターのアップデートができず不安 そんなあなたの未来を明るく照らす知見が、このセッションには詰まっています。ぜひ、Kubernetesクラスタ運用に迷いがあるかたはこのブログご覧になって、未来の負債をこの場で削ぎ落としましょう。 もう、アレコレ悩まなくても良いの…!
Kubernetes Novice Tokyo #27 で発表した資料です。 https://k8s-novice-jp.connpass.com/event/293144/ 発表のライブ配信はこちら。 TODO スライドで紹介した参考リンク集: https://bells17.med…
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く