サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
AIで何ができる?
blog.inductor.me
社内のことは多くは書けないので、部署の雰囲気やチームでのやりとりについて、書ける範囲で書いてみる。お約束っぽくなってしまうが、これはあくまで個人としての経験・意見を書いたもので、会社の意見や思想を代表するようなものではないことに留意いただきたい。また、構造化した文章を書くつもりはないのでMarkdownは使わずにだらだら書いていく。 多くの人が中身や実態について知りたがっている一方で、ちょっとボロを出すとすぐブコメとかでネガキャンしてくる勢力がいて面倒なので書くか大いに迷ったのだが、純粋にその中身にポジティブな方向で興味がある人や、あるいは入社のハードルを少しでも下げたいといった気持ちで実験的に記事を書く。よって、書かないことは書かないし、それ以上追記をするつもりも特にない。ソーシャルのDMでも質問は基本的に受け付けていないので、どうしても知りたい人はカンファレンスなどで自分を捕まえて話し
これは何 以下記事のアンサーブログです。 qiita.com 以下のことはコメントに書いたんですが、書ききれなかった部分もあったり整理したほうがいいなと思い記事に起こしています。 現代のアプリケーションではC10K問題よりも先にDBやアプリケーションのボトルネックが先に来るため、C10K問題に遭遇するよりも先にやることがある ミドルウェアとしての成り立ちから設定ファイルの書き方に至るまで、それぞれのソフトウェアで思想が根本的に異なるので、単なるパフォーマンス比較をしてもあまり意味がない NginxとApacheの違いをC10K問題を中心に語るのは時代が違う この記事に限らず、多くの「Nginx vs Apache」系記事では「ApacheはC10K問題を抱えている」という論理をベースにそれぞれの違いを表現しています。 が、これは2022年においては(実際にはもっと前からですが)既に事実では
はじめに これは転職エントリーです。この2年出社はしていませんが、一通り仕事を終えたので投稿ってことで自分のブログに自分語りをします。「お前誰」っていう人はツイッターや過去のブログ記事でも読んでからお読みください。 2020年3月に公開したこちらのエントリーでは、ZOZOを退職した話を書きました。その後これまで2年ちょっとの間はHPE(日本ヒューレット・パッカード合同会社)にてクラウドアーキテクトとして勤務していました。人によってはHPEよりもZOZOのイメージが強いかもしれませんが、実はHPEの方が若干在籍期間が長いです。 blog.inductor.me 在職中は国内外・大小問わずいろいろな案件に関わらせていただいて、事例紹介のページにもおもしろスーツぽっちゃり写真が出ています。気になる方は探してみてください。 転職します、という話 ※転職先については隠す必要は実はないのですが、最近ち
TL; DR YJITをDocker/Kubernetesでで有効にするには RUBY_YJIT_ENABLE=1 or RUBYOPT=--yjit YJITはデフォルトで256MBのメモリ領域を確保するため、全体のメモリ消費量が上がる Docker/Kubernetesでメモリ量を制御したい場合、RUBYOPT=--yjit-exec-mem-size=128のようにメモリ確保量を変更すればよい Ruby 3.1から使えるYJIT Ruby on Railsで動くアプリケーションでRubyのMJITが効果的でないことは色んなところで書かれていて、Ruby 3.1から実験的に導入されたShopify製のYJITでは対照的にRailsでのパフォーマンス改善が見込めるという期待があります。 ただしこのYJIT、動かすときには(JITなのでそりゃそうですが)デフォルトで256MiBのメモリを確
はじめに Launchableの共同創業者の1人で、Jenkinsの父としても知られる川口耕介さんとMSでアドボケイトをされている寺田佳央さんのご紹介で、西海岸サンタクララにヘッドクオーターを置くShipa.ioというスタートアップのカジュアル面談を受けてみました。日本でプロダクト開発をするエンジニアを募集したいとのことで、紹介の意味も込めて創業者の1人であるVivek Pandeyとカジュアル面談をしたときの内容や感想を書いてみます。 はじめに Shipa.ioについて Shipa.ioは日本でのエンジニア部隊を立ち上げたい どんな人を探している? Shipaのチームメンバーは世界中にいる 英語話せないときついんじゃないの さいごに Shipa.ioについて Shipaはエンジニアの開発からデプロイまでを支援するプロダクトで、SREがポリシーを定めるところから開発者がデプロイをするまでを
はじめに これは、監視ひよっこの inductor が Prometheus Operator に入門したときの記録です。意外と情報が古いものが多く、2022年現在だと何をどう入れるべきなのかがよくわからなくて困ったので誰かの助けになれば幸いです。 Prometheus Operator とは Prometheus Operator は名前の通り Kubernetes のオペレーター実装の1つで、主要な監視ツールの1つである Prometheus 及びその関連コンポーネントを Kubernetes リソースとして管理できるようにしたものです。主に以下のようなリソースを管理することができます。 リソース名 役割 Prometheus Prometheus のデプロイ管理 Alertmanager Alertmanager のデプロイ管理 ThanosRuler Thanos Ruler をリ
Kubernetes v1.22 から kubeadm.k8s.io/v1beta3 が利用可能になっていたのを、年末に実家のクラスターをいじいじしてたときに気づきました。kubelet.config.k8s.io/v1beta1 と kubeproxy.config.k8s.io/v1alpha1 は据え置きですが、InitConfiguration、ClusterConfiguration、JoinConfiguration がそれぞれv1beta3 で使えるようになっています。 kubernetes.io kubeadm でクラスターをセットアップする場合、kubeadm init --オプション という形で設定値の引数を渡すこともできるのですが、できるだけ --config の中で渡したほうが引数の管理がしやすく、deprecated になったときに対応策を考えやすくなります。 v
はじめに これはKubernetes Advent Calendar 2021 4日目の記事です。 今回はAWSが先週GAを発表した「Karpenter」について、実際に触ってみた様子とOSSとしての思想やデザインについて書いてみます。 Karpenterとは Karpenterの公式ページでは「Just-in-time Nodes for Any Kubernetes Cluster」と説明があります。つまり、KubernetesノードをPodが必要とした瞬間に用意するようなプロダクトを目指していることになります。まずは前提を揃えるためにKubernetesのオートスケーリングについて簡単に説明します。 Kubernetesのオートスケーリング Kubernetesにおけるオートスケーリングには大きく分けてコンテナ(Pod)レベルのスケーリングとノードレベルのスケーリングがあります。「H
はじめに この記事は以下CNCF公式のアナウンスを日本語で抄訳したものです。全文及び詳しい内容については該当記事を合わせて御覧ください。 www.cncf.io KCNAとは Kubernetes and Cloud Native Associateの略称で、これまでKubernetesの資格試験として存在していたCKA、CKAD、CKSよりも入門者向けの内容で構成される資格試験です。 入門といいつつそれなりに幅広いトピックについて扱うため、エンジニアではないがこれらの技術を扱う企業・ベンダーのセールスやマーケティングの方向けにも提供されているようです。CNCFのCTOであるChris Aniszczkは以下のように発言しています。 As cloud native has grown beyond just Kubernetes, the need to understand the la
はじめに この記事ではAWSの公式ブログ「Amazon EKS adds native support for Bottlerocket in Managed Node Groups」で取り上げられている内容を、eksctlを使わずCloudFormationでimmutableに実現するための方法を解説します。 aws.amazon.com Bottlerocketとは Bottlerocketは、AWSが開発しているコンテナ実行専用OSです。Fedora/RHELのCoreOSやVMwareのPhoton OS、Rancher OSなどと似ていて、コンテナを実行するためのランタイム以外余計なパッケージが入らない軽量なOSとなっています。 aws.amazon.com Bottlerocketの開発状況についてはBottlerocket Roadmap · GitHubを合わせてみると良
はじめに この記事は筆者がKubeCon EU 2021にて発表した「Resource Requests and Limits Under the Hood: The Journey of a Pod Spec」の内容を中心とし、ブログ向けにまとめなおしたものです。 www.youtube.com 日本語でこのリソース要求/制限について内部の仕組みまで踏まえて詳細に書かれた記事はあまりないので、誰かの助けになれば幸いです。 はじめに Kubernetesにおけるリソースの要求と制限 スケジューラーによるスコアリング ノードでのPod作成処理 Requests全体の流れ Limits全体の流れ CRI内部の処理 OCI内部の処理 まとめ Kubernetesにおけるリソースの要求と制限 Kubernetes上でアプリケーションを実行する際、ワークロードの特性に応じて以下のような形で必要なリソ
はじめに この記事は、以下のlwn.netの記事を抄訳したものです。 lwn.net CPU Namespaceのご紹介 これはCPU namespaceのインターフェスとそのメカニズムを証明するための初期プロトタイプです。 現状におけるCPUリソースの制限方法 Linuxカーネルでは、タスクのCPUリソースを制御するために2つの方法を提供します。 cgroup cpuset: 該当のグループにアタッチされた単一または複数のタスクの集合に対し、CPUリソースを制限するためのメカニズムです。 syscall sched_setaffinity: CPUの集合に対して特定のタスクをピニングするためのシステムコールです(訳注: NUMA利用時の条件下などにおいてよく利用される手法)。 また、カーネルはシステムにおいて利用可能なCPUリソースを閲覧可能にするために3つの方法を提供します。 sys/
はじめに Amazon EKSを初期導入すると、最小限の構成でクラスターがセットアップされそのままの構成で本番運用をするのはとてもじゃないが厳しいみたいな状態になっています。 これには運用者が柔軟にミドルウェアを選定できるというメリットもありますが、そもそもどんな選択肢があるんだっけみたいなところまではちゃんと整理できていないと思うので、ここでは僕が考える入れておくべきアドオンについて今後のために整理しておきます。 github.com/aws/eks-charts を眺める とりあえず脳死でこのサイトに行き、自分に必要そうなものを眺めることにします。Helmを使ってインストールするかどうかはさておき、それぞれのツールの必要性について検討しようという話です。 github.com App Mesh関連 App Meshを使ったサービスメッシュをやっていきたいのであればこの辺のコンポーネント
はじめに こんにちは。inductorです。 Kubernetesについて学ぶための1つの方法として、CKA/CKAD/CKSといった公式の資格の存在があります。資格保有が必ずしも専門性を示すわけではありませんが、特にベンダーの技術者や普段業務でKubernetesを使わないという方の場合、資格試験の勉強は効率の良い学習リソースの1つと言えるでしょう。 ところで、技術の資格試験を作ることについて考えたことはあるでしょうか。僕はこれまで深く考えたことはありませんでした。そもそも、誰がどういうプロセスで資格試験を企画し、設計しているのかすら知りませんでした。CKSのときはクローズドベータテスターの募集があってそれを受けたりはしたんですがそれはそれでただの受験者なので特に何も考えてはいなかったですね。 CKADの試験改定の募集 今年の春に、CNCF Ambassadorの集まるSlackチャンネ
はじめに GitOpsという言葉が生まれたのが自分の知る限り2017年頃なのですが、世の中にあるCI/CDの仕組みはまだほとんどがCIOpsもしくは手動のオペレーションによって成り立っていると思っていて、かつては自分もそうだったのですが「Gitで管理されていればGitOpsなんでしょ?」という勘違いを払拭したくてこのエントリーを書いています。 GitOpsとCIOpsは全然違う まず前提としてGitOpsの明確な定義を知らないという場合、あなたの思う「Gitを契機とした自動デプロイの仕組み」は基本的にはCIOpsです。GitOpsとCIOpsは思ったよりも大きな違いがあって、そもそもGitOpsの必要性が分かっていない場合、自動化によって成立しているデプロイはCIOpsが基本です。 CIOpsとGitOpsの一番の違いは、Push型かPull型かである CIOpsの場合、例えばGitHub
はじめに EKS Anywhere(EKS-A)とは じゃあ、何をするCLIなの? EKS Distro(EKS-D)とは 刺さるユースケースは・・・? EKS Connectorの話 EKS-AとEKS Connectorの組み合わせ 1. クラスター管理をeksctlに一本化できる 2. クラスターAPIによるメリットが享受できる 3. AWSの管理画面からワークロードの様子などが確認できる 他にもいろいろ さいごに はじめに この記事はEKS Anywhere(EKS-A)がGAになった最初の時点での情報です。あくまで参考程度にご覧いただけると幸いです。 先にみなさんに誤解がないように言っておくと、EKS-Aは以下のどの製品(サービス)とも異なる性質があります。そのため比較検討の対象ではないことを認識しておくと良いです。 Google Anthos Tanzu Kubernetes
はじめに Kubernetesは直近3マイナーバージョンをUpstreamのサポート対象にしており、特に1.19以降では各バージョンごとに1年のパッチサポートがあります。2021年7月現在の最新版は1.21なので、1.19以降の3マイナーバージョンがサポート対象になっています。詳細については公式ドキュメントにも記述があります。 なお、GKE、EKS、AKSなどのKubernetesディストリビューションに関するサポートポリシーはUpstreamとは違い各ベンダーが責任を追っているため、各社のドキュメントをご覧いただければと思います。 KubernetesのAPI deprecationについて Kubernetesではマイナーバージョンごとに新しい機能が追加されたり、古い機能や利用の少ない機能を非推奨化または廃止するためのポリシー、Deprecation Policyが決められています。
はじめに はじめに Kubernetesでの対応 imagePullSecretsを使いたくない... kubeletが実はDocker credentialを読み取れる実装になっていた Docker Hubはコンテナレジストリとしては世界で最も広く使われるサービスですが、去年の秋頃からイメージをPullする際に同一IPからの短期的なアクセスに制限がかかるようになりました。 docs.docker.com なお、Docker Pullの実際の制限数を知るには以下のリクエストを送ることでレスポンスヘッダーに記載されます。 $ TOKEN=$(curl "https://auth.docker.io/token?service=registry.docker.io&scope=repository:ratelimitpreview/test:pull" | jq -r .token) % To
はじめに 以下のエントリーでも書いたとおり、今年のGW期間中に行われたKubeConにて2件のセッションを採択いただき、スピーカーとして登壇していました。 blog.inductor.me 前回エントリーでは応募のきっかけを大まかにまとめましたが、そこからどのようにしてセッションを考えたかや、CfP(Call for Proposal)を提出するにあたってどのように進め、登壇内容を作り上げるにあたって行った調査などにもある程度踏み込んで書き記します。なお、セッションとしては2件でしたが、パネルのほうは録画のみで資料が残っていないため、Resource Requests/Limitsについて発表した以下セッションのみ取り上げていきます。 はじめに Resource Requests and Limits Under the Hood: The Journey of a Pod Spec -
はじめに 先日開催されたKernel/VM探検隊online part2ではWASMが大きなトピックの1つでした。 connpass.com 僕はWASMに関して一切話しませんでしたが、以前からKubernetesにおけるWASMの活用の話や、CDNなどのエッジクラウド環境におけるWASMの活用については情報を集めていました。 TechFeed Summit#3 - コンテナ技術を語り尽くす!では、エッジにおけるKubernetes利用のこれからについてもLTでお話させていただき、その中で一つの利用例としてKrustletとWASMの話も言及しています。 speakerdeck.com 下記スライドではKrustletのアーキテクチャをKubeletと比較していますが、見ての通り、これまで「コンテナ」が動いたPodを置き換える形として「WASM」が動いていることがわかります。 WASMはコ
はじめに このエントリーは、Google Cloudのエンジニアである@ahmetb氏のブログ記事を日本語訳したものです。 以下のツイートを見つけて、良さそうだったので翻訳の許可をいただきました。 Mastering KUBECONFIG article has been the top read page on my blog over the past year. 🤷🏼♂️ Not sure what to make of this. https://t.co/t4pWwOpgQW— Ahmet Alp Balkan (@ahmetb) March 11, 2021 KUBECONFIGのすべて kubectlが動作するその裏側には、kubeconfigというファイルの存在があります。このファイルは一般的には$HOME/.kube/configに存在しています。私がkubectx
はじめに やめろ、ではなく、やめたほうがいい。です。自分のユースケースに合ってるか今一度確認することを推奨します。基本的にはAlpineは避けたほうが良い、というのが2021年時点での私の認識です。 なんで? libcに一般的な互換性が不足しているからです。Ruby、Python、Node.jsなどでNativeモジュールをバンドルしているアプリケーションの場合、パフォーマンスの劣化や互換性の問題にぶち当たる場合があります。 superuser.com あとは他のベースイメージの軽量化もそれなりに進んできていて、Alpineが定番軽量イメージと言う認識は2018年頃には消えつつあったかなという認識でいます。 どうすりゃええねん ※Debian Slimがあるやんってツッコミ結構もらったんですが、Slimは当たり前過ぎてもう紹介しなくていいかなっていう甘えで省略していました。よろしくおねがい
はじめに GoogleのマネージドKubernetesディストロであるGKEの新機能(厳密には新しい種類のクラスターといったほうがユーザーにとっては正しい説明になると思いますが)、GKE Autopilotが先週大きく話題になりました。 ノードがGoogle Cloudによるマネージド Podごとの課金体系 ノードへのSSHが使えない といった特徴が大きく取り上げられており、ぱっと見AWSのEKS Fargateと非常に似ているように見えます。が、(少なくとも、user facingな部分においては)技術的には全くやっていることが違うと思います。なぜならFargateはEC2とは全く異なるVM技術がベースになっているのに対して、Autopilotは通常のGCEを応用した機能として提供されているからです。 ※まあ、GCEは実はコンテナで動いてるみたいなちょっとした裏話もあったりするんで、本当
年の瀬なのでちょっとした思い出話を書き記しておく。 自分が高専を中退したとき、精神的にはかなりズタボロな状態で、この時期(年末年始にかけての冬休み)から既に登校が不可能な状態になっていた。お世話になっていた寮にも年始からは戻ることが難しく、単位ギリギリでなんとか大学受験の資格だけをもらえる「修了退学」というところにこぎつけられるかどうかだった(結果的にはそうなった)。 当時の担任(今はもう定年で学校を去ってしまったらしい、当時は本当にお世話になった)から、出席日数の関係で体育をあと1時限分受ける必要があるため、登校したほうがよいと告げられ、当時既に留年までしていたので1つ下の「同級生」たちに奇異の目で見られながら久々の登校をした。このとき既に退学をすることは心に決めていて、ついでなのでお世話になった先生にご挨拶に伺った。 このとき、ある数学の先生に言われた一言が今も心に残っていて、凹んだと
この記事について OCHaCafe #3に参加していて、参加者の方が「Firecrackerは高レベル低レベルどちらのランタイムに属しますか?」という質問をされていたのを見かけた。 ochacafe.connpass.com 確かにパッとドキュメントを見ても立ち位置よくわからんな、と思い、図を書いて整理してみようと思う。 firecracker-containerdについて Takuya Niita (@takuya_0301) | Twitter氏も認識されて回答に含めていたプロジェクトにfirecracker-containerdがある。これはcontainerdとrunCを動かすときに間にFirecrackerを挟み込んで仮想化のレイヤを組み込んだ技術だ。Fargateなどで実際に使われているかどうかについては、言及がないので全く分かっていないが、少なくともFirecracker +
はじめに 今朝に書いたブログが思ったより反響が大きくて、「Dockerが死んだ」という勘違いをされている方も多かったので追加でエントリーを書きました。 blog.inductor.me 決してそんなことはないので、対応が必要なケースを見ていこうと思います。 はじめに 対応が必要ではないケース Kubernetesを使わない人たち 本番はKubernetesでも、開発にDocker Composeを使っているデベロッパーの開発環境 対応が必要なケース 開発環境でも手元でKubernetesを利用する人たち NVIDIA DockerをKubernetesで使っている人たち Kubernetesワークロードの中で「Docker in Docker」や「Docker APIに依存した処理」を動かしている場合 Dockerの機能を使ってこれまでやっていたことについて 対応が必要ではないケース Ku
追記: Kubernetes側での公式のアナウンスが2本出ているのでこちらも合わせてご覧ください。 kubernetes.io kubernetes.io Kubernetesコミュニティを眺めていたら、やたらめったら色んな人達が1.20 RCのリリースノート引っ張り出して「Dockerが非推奨になるからちゃんと対策を検討してね!!!」とアナウンスをしていて、挙げ句SIG Contributexではその対策に追われてバタバタしている自体を観測しました。 CNCF Ambassador Slackでもだいぶ燃え上がっていて、見かねて dev.to に記事を投稿したのでそれをかんたんに日本語にまとめてみようと思います。英語のほうはこちらをご覧ください。 dev.to 追記2. 影響範囲を知りたい場合はまずこちらをお読みください blog.inductor.me 追記2. 影響範囲を知りたい場合
はじめに AWSのALBをIngressリソースとして扱うためのALB Ingress Contollerが、2.0.0に昇格したタイミングで「AWS Load Balancer Controller」と名前を変えました。 このエントリーではかんたんに概要を追ってみようと思います。 github.com aws.amazon.com ALB Ingress Contollerのこれまで 従来ALB Ingress Controllerでは、名前の通りAWSのALBをKubernetesのIngressとして扱うための機能を提供してきました。挙動としては以下の通りです。 Kubernetes上でIngressリソースを作成するとALBが1つ作成される Ruleに記述されたPathに従って、ALBのTargetGroupが作成され、上記で作成された単一のALBに紐づく Kubernetesノー
はじめに 新形式のCKAを受けて、合格点66のところ72点で無事CKAを取得することができました。 はじめに 新形式? どうやって勉強したか 準備はどうしたか 実際受けた感想 CKA受かってた。 新しい形式のやつをBetaで受けたので、一応新形式でも大丈夫だったということが証明されたのかな?w pic.twitter.com/dXm3jX7kgr— inductor (@_inductor_) 2020年9月8日 新形式? はい。2020年9月から、CKAの試験範囲が少し変わって、CKADとの差別化がなされました。 training.linuxfoundation.org 簡単に言うとよりクラスター管理の色が強くなって、上で動かすYAMLの細かいところまでは見る範囲が減っています。また、セキュリティ関連はCKSに移り、その代わり管理に関わるトラブルシューティングなどの点数配分が変わっていま
次のページ
このページを最初にブックマークしてみませんか?
『inductor's blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く