kun432's blog

Alexaなどスマートスピーカーの話題中心に、Voiceflowの日本語情報を発信してます。たまにAWSやkubernetesなど。

〜スマートスピーカーやVoiceflowの記事は右メニューのカテゴリからどうぞ。〜

Kubernetes

K8s@home #1 で気になったキーワードのメモ

ひさびさにKubernetesネタ。もともと仕事はこっち寄りだった(過去形)。 昨日これに参加してきました。 色々人それぞれで面白かった。昔は自分もメタルラックにHPの格安サーバとかSun Fire V120とかCiscoのL3スイッチとか並べてたりしたので、やっぱ自宅ク…

Kubernetesクラスタの証明書更新(kubeadm)

メモ。 kubeadmで作成したkubernetesクラスターの証明書の期限はデフォルト1年になっていて、ソースコードに埋め込まれています。なのでパッケージを使っている場合はオプションとかでは変更できませんが、kubeadm cert renewというコマンドで更新ができるみ…

今更ながらkOpsを使ってみる

kubeadm、EKS、GKE、kindといろいろ触ってきましたが、少しkOpsも触ってみようと思います。 目次 目次 準備 クラスタ作成 クラスタの設定変更 クラスタの削除 補足 まとめ 参考 準備 kopsをインストールします。MacならHomebrewで。 $ brew install kops $ k…

いまさらながらGKEを試す

Kubernetesについては、AWSではEKS、オンプレではkubeadmを使ってきましたが、そういえばGKEは一度も使ったことがない。ということで、少し触ってみました。 目次 目次 クラスタの作成 クラスタの基本 ノードプール ノード セキュリティ メタデータ クラスタ…

EKS Anywhereでlocal clusterを試す

EKS Anyhereが一般公開されたので試してみました。 目次 目次 環境 準備 EKS Anywhereのインストール ローカルクラスタの作成 テスト まとめ 環境 以下にドキュメントがあります。 Prerequisiteについては、Install EKS Anywhere | EKS Anywhere にあります…

kindでお手軽Kubernetesマルチクラスタを試す②

前回の続き。 kun432.hatenablog.com 目次 目次 ローカルPCからクラスタ内podへのネットワークアクセス(マルチnodeの場合) Ingressを使う まとめ ローカルPCからクラスタ内podへのネットワークアクセス(マルチnodeの場合) extraPortmappingsで、ホストの…

kindでお手軽Kubernetesマルチクラスタを試す

Kubernetesを触るようになってそこそこ経つんだけど、未だにわからないことのほうが圧倒的に多い。体系的にちゃんと学習する必要があるなぁということで、これまで辞書的にしか使ってこなかったこれを改めて読んでます。 Kubernetes完全ガイド 第2版 impress…

Dynamic Kubelet Configurationを試す

kubernetesクラスタを構築していくつかのpodを走らせた後で、kubeletの設定を変更したい場合ってありますよね。Production環境だと多分こういう手順になるかと思います。 kubectl drainでnodeをクラスタから切り離し node上で設定変更してkubelet再起動 kube…

kube-prometheusでKubernetesの監視環境をマルっと用意する③

前回、前々回でkube-prometheusの導入方法についてご紹介しました。 今回はカスタマイズです。 目次 目次 設定とカスタマイズ オーケストレーションツールごとの設定 nodeport有効化 ingressで公開する まとめ 設定とカスタマイズ 設定とカスタマイズについ…

kube-prometheusでKubernetesの監視環境をマルっと用意する②

前回はQuickstartに従ってkube-prometheusを動かすところまでやってみました。今回はjsonnetを使ったカスタマイズをやってみたいと思います。 前回はこちら。 目次 jsonnet環境の構築 jsonnetは、JSONを出力するためのテンプレート言語およびツールです。 そ…

kube-prometheusでKubernetesの監視環境をマルっと用意する①

Kubernetesで監視を行う場合は一般的に Prometheus AlertManager Grafana みたいな組み合わせが多いかと思いますが、これを一つづつ用意するのは手間です。kube-prometheusを使うとこの手間を省いて一通り用意してくれます。 github.com 早速やってみましょ…

Kubernetes Dashboardをサクッと立てる

テスト用にKubernetes Dashboardを立てたい場合のメモ。kubectl patchを使ってみたかっただけ。推奨しないw Kubernetes Dashboardのインストール kubernetesのレポジトリにあるmanifestをそのまま入れる。alternativeを使っているのはHTTPでアクセスしたい…

Alexa(Voiceflow)でKubernetesのPodを増やしたり減らしたりする

スマートスピーカー Advent Calendar 2020 に空きがあったので、クリスマスもう終わってますが後から追加です。4日目の記事です。 KubernetesやってるとPodの増減とかをAlexaでやってみたくなりますよねー。ということで、もう何番煎じかわかりませんが、や…

eksctlで作成されるいろいろ

eksctl、かんたんでいいんですが、VPC周りのリソースとは分けたいし、できるだけ宣言的にやりたいんですよね。で、Terraformと組み合わせようと思ってるんですが、やり方は色々。 Terrafromで全部書く。これだけでもやり方いろいろ。 aws-eks-module terrafo…

podからcalicoのインタフェースを確認する

メモです。 kubernetesでCNIにcalicoを使っている場合、こんな感じでpodごとにvethインタフェースが割り当てられます。パッと見ただけではどのpodに割り当てられているかわかりません。 $ ip a ...snip... 9: caliaad70479a6d@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1440 qdisc noqueue </broadcast,multicast,up,lower_up>…

kubernetesわからないよ〜

たまにはこういうのも。

Prometheusをざっくり理解する

Kubernetesの監視はPrometheusがデファクトスタンダードになっており、インストールもk8sクラスタ上に行うのが一般的です。が、今回はPrometheusをざっくり理解するために普通のサーバに入れてみようという、今更だけど自分用メモです。 Prometheusとは ちゃ…

KubernetesをDatadogで監視してみる②

前回の続きです。 前回はkubernetesクラスタにdatadog agentを入れて、一通り監視ができることを確認しました。今回はもうちょっと突っ込んでDatadogでできることを試していきたいと思います。 Event Collection Process Collection Prometheus Check Event …

Kubernetesのnginx-ingressを理解する

kubernetesのnginx-ingress、いろいろ調べたり手を動かしてみても、どうしても理解ができなくてずっと悩んでましたが、少し理解が進んだ気がしたので、自分用まとめ。 前提 type:loadbalancerは使わない。metal-lbも使わない。諸般の事情により公開はnodepor…

KubernetesをDatadogで監視してみる①

引き続き自分用メモです。 kubernetesのモニタリングといえば、 kubernetes dashboard(視覚化) prometheus+alert manager+grafana(メトリクス監視+通知+視覚化) 何かしらnodeの監視 というのが一般的かなと思いますが、いろいろ複雑だし、構築・運用も…

技術書典応援祭で買った本いろいろ

技術書典応援祭もこの週末で一旦終了です。 技術書典応援祭 出店者側として今回始めて参加したことは以下でお伝えしたとおりですが、参加者側としても色々買いましたので、感想交えて少しご紹介。もし興味があればぜひ読んでみてください。 読んだ Google Ho…

kubernetesでいろんな障害を想定してみる ① workerノード

前回kubeadmでマルチマスターのクラスタを構築しましたので、いろいろな障害を想定して試していきたいと思います。今回はworkerに限ったところだけです。 前提 上記にも記載の通り、workerだけです。masterは今回何もしません。 ちょっとリソースが苦しいの…

kubeadm on Vagrantでマルチマスターやってみた②

2020/3/15追記: kubeadm init後のmasterの状態と--upload-certsについて、id:endu-lucy 様にコメントを頂き、再度確認したところご指摘どおりでした。内容を修正しました。ご指摘ありがとうございました! ちょっと間が開きましたが続きです。 前回、一通り…

kubeadm on Vagrantでマルチマスターやってみた①

※2020/03/08追記 k8sのセットアップを行うプロビジョニング用スクリプト(scripts/common/00-setup-k8s.sh)については少し変更しています。 前回のhard wayでなんとなくk8sの雰囲気がわかったので、今度はkubeadmを使ってマルチマスターをやってみたいと思…

Kubernetes The Hard Way をVagrantでやってみた②

前回からの続きです。 kun432.hatenablog.com Bootstrapping the etcd Cluster etcdはkubernetesのクラスタの状態などのデータを管理します。これを3台のmasterでHAを組む形で設定していきます。 まず、各controllerにログインします。tmuxとか使って並列で…

Kubernetes The Hard Way をVagrantでやってみた①

今回はAlexaと全然関係ない話です。いろいろあってk8sをやっています。で、とりあえずやってみたものの、抽象化度合いが深すぎて全く理解できていない感を拭えないので、これをやってみようという話です。 オリジナルはGCPを使うのですが、もうちょっと手触…