まーぽんって誰がつけたの?

iOS→Scala→インフラなおじさん技術メモ

Kubernetes

EKSのArgo CDでIRSAを使いつつaws-load-balancer-controllerをApplicationとしてHelm Chartをsourceでインストールする

aws-load-balancer-controllerが起動しない 以下のエラーが出て起動しない。 alb-load-balancer-controllerのときと違うのは、CRDが必要になったのでそれを入れないといけないってのがポイント! { "level":"error", "ts":1606359399.366636, "logger":"setu…

Argo CDがSyncしないみたいな状況になったけど直った一部始終

まとめ argocd-application-controllerは1podしかたててはいけない なんかSyncがおかしくなったらargocd-application-controllerの残骸が残ってないか確認する 一部始終 ある日、業務で日々使っているArgo CDの様子がおかしくなって、OutOfSyncが増えて、Syn…

Argo CDでgodaddy/kubernetes-external-secretsをhelmで入れる

godaddyのExternal SecretsをArgo CDのApplicationとして登録しようとしてハマったのでネットの海に放流しておく。 Helmのコマンドでのインストール方法は普通にREADMEにも書いてある。 $ helm repo add external-secrets https://godaddy.github.io/kuberne…

【書評】Docker/Kubernetes 実践コンテナ開発入門はまさに「実践」のための本です

今回、レビュアーとして関わらせてもらい、本を頂けたので感想書いていきます。 とにかく内容が充実していて実用的な本です 私自身、業務でもコンテナの運用をやっているのですが各章知らないことがたくさんありました。全部で400ページぐらいあって1人でこ…

Cloud Native Deep DiveでKubernetesについてディスカッションしてきました #deepcn

Cloud Native Deep Dive #1 事前にアンケートを提出してテーブルごとに分けれてグループディスカッションをする形式のmeetupでホワイトボードを使ってわいわい議論した。ツイートがこれしかできなかったw きました #deepcn // Check out this Meetup: Cloud…

Kubernetes上で動かしているRailsアプリでSentryを使うときにpod名などを表示するようにする

コンテナからpod名を取得できるようにする Sentryが実行時にpod名を取得するには、アプリケーションの実行時にpod名を何らかの方法で渡したり取得しにいく必要があります。 で、これをするための仕組みがkubernetesには用意されていてDownward APIというみた…

Google App EngineがECSやGKEの代わりになるようなコンテナを動かす環境として使えるのだろうか軽く調べた

きっかけ ECSやGKEを使ってインフラ設定や運用をやってきた中、数年先はコンテナオーケストレーション層の管理はおそらくやらないでいいようになるだろうと思ってた。 ちょうど同じような考え方をこの前のJapan Container Daysで登壇してる方が話していて共…

Japan Container Days v18.04参加してきました

Japan Container Days v18.12 見た内容 サイバーエージェントにおけるプライベートコンテナ基盤AKEを支える技術 2016年新卒入社すごい @amsy810 アドテクスタジオ 30万リクエスト/sec ぐらいくる Nvdia-Docker 知らない、GPUとか機械学習とかそういう人用の…

kopsを使ってAWS上にkubernetesを構築したときにIngress Controllerはどれにしようか悩んでいる

GKEで甘えてきました www.mpon.me 今まではGKE使っててIngress ControllerもGLBCを使ってなんか勝手にやってくれてるなみたいな感じで、 k8sを使う側そんなに気にしてなかったんですが、 EKSもくるということでAWSでやるにはどうすればいいだろうということ…

入門Kubernetesはk8sを触ったことがない人や機能を使いこなしてない人にオススメだと思った

k8s(頭のkとお尻のsを抜いてuberneteが8文字だから略してk8s、Internationalizationのi18nみたいな感じ)、の作者が基本的な機能を説明してくれる本です。正直公式documentと同じようなことが書いてある部分が多いっちゃ多いんですが、 日本語で読める ざっ…

Helmのchartのtemplateではまったところ

Helm とは helm.sh templateで書いてるresourceが作られなかった原因 {{- end -}}の-がなんなのかよくわからなかった trimの話だった golangのtemplateの話 https://docs.helm.sh/chart_template_guide/#controlling-whitespace これがわかりやすい rangeを…

Google Container Engine+Deis環境にDatadog監視をいれる

概要 Google Container Engine(kubernetes)の監視環境の動向 - まーぽんって誰がつけたの?を受けてDatadogでやる Google Cloud Platform Integrationをいれる GCPのメトリクスをAPI経由でとってきてくれる kubernetes Integrationをいれる kubernetesのリソ…

Google Container Engine(kubernetes)の監視環境の動向

まずはk8sの監視環境について理解する DatadogやStackdriverなどの外部サービスを使うと簡単にできそうなのではあるが、そもそも何を監視しようとしているのかよく分からない。なので、まずは外部サービスを使わない場合どうなっているか調べてみた。 ちなみ…

Google Container EngineとLocustを使って負荷テスト環境をさくっと作る

GKE+Locustの負荷テスト環境を作ろうと思った背景 GKEとLocustを選んでみた理由としては以下のようなポイントでした。 インスタンスは秒課金なので気軽に利用できる GKE(k8s)なので動的ポートマッピングの設定などが簡単 Locustは単なるpythonのスクリプトの…

kubernetesでserviceのselectorはnamespace内に閉じてるのか検証

まとめ 同じlabel名がつけられていてもnamespace内でのみ振り分けられる 検証の構成 GKE上で試した Deploymentでただ単にnginxかapacheが動いてるだけ sandbox1ではnginx、sandbox2ではapacheが動いてる Service(LoadBalancer)で接続 labelは同名にする name…

kubernetes meetup Tokyo #4に参加してLT発表してきた #k8sjp

k8sjp.connpass.com 今日はこれで発表してきます Kubernetes Meetup Tokyo #4 https://t.co/2rxxAnKyAB #k8sjp— オオシママサト (@_mpon) 2017年4月20日 ECSからGKEに乗り換えたい 感想 Google Japanの食堂でながーい会場で発表した。人めっちゃいた。 kuber…

GKEからCloud SQLに接続する方法

Deisのpostgresをoff-clusterにする(Cloud SQLを利用) - まーぽんって誰がつけたの?やDeisのpostgresをoff-clusterにする(postgresql on GCEを利用) - まーぽんって誰がつけたの?でCloud SQLをdeisのdatabaseとしようともがいてたけど解決した話。 Cloud S…

Deis/routerでwhitelistでIP制限する方法

Security Considerations - Deis Workflow Documentationで公式にIP制限する方法が紹介されてるが、403が出る。 なんで403になっちゃうのかをここを調べてみた。 公式通りにやっても403 公式ページにもあっさりこうすればできると書いてあるが、確かに403に…

deis-routerなしでKubernetesのIngressでDeisを動かす

Clusterを作る時にデフォルトでついてくるLBを外す gloucd container clusters createをするときに、--disable-addons "HttpLoadBalancing"をつける。これをしないとGLBCがIngress Controllerとなってしまうため。コマンドラインからしか外せない。 cluster…

GKEだとデフォルトでIngress Controller(=GLBC)がいる

おまえ、そこにいたのか kubernetesでIngressでやる場合、Ingress Controllerが必要なんだけど、GKEの場合はマスターノード、つまりGCPのマネージドな領域でクラスター作成時に一緒に作られるようになってた。 で、これをGLBC(GCE Load-Balancer Controller)…

Deis Workflow v2.13.0でKubernetesのIngressがサポートされた件

Deisがverupした 本日、Deis Workflowがverupしたんですが、Changelogを見てるとIngressというものがなんか導入されてDeis/routerなくてもいけるみたいなことが。 そもそもWhat is Ingress? Kubernetesのたくさんあるリソースのタイプのうちの一つのIngress…

Kubernetsに出てくる用語:PVCとは?

PVCとは? KubernetesのPersistentVolumeClaimsの略である。 https://kubernetes.io/docs/user-guide/persistent-volumes/#persistentvolumeclaims A persistentVolumeClaim volume is used to mount a PersistentVolume into a pod. PersistentVolumes are …

Deisのpostgresをoff-clusterにする(postgresql on GCEを利用)

やること mpon.hatenablog.com 前回はCloud SQLを使ったが、Cloud SQLはデフォルトネットワーク外にあるので、Cloud SQL Proxyをたてて通信するか、外部IPを許可するしかなかった。Deisの場合だと、proxyたてるパターンを使えず、外部IPを許可する方法にした…

Deisのpostgresをoff-clusterにする(Cloud SQLを利用)

やること postgresをoff-clusterする。 で、そのpostgresをどこに立てるかというとGCEにたてるかGCPのmangaedなCloud SQL(RDSみたいなやつ)があるので、どっちにするかということで、今回はCloud SQLを使ってみた。 Cloud SQL PostgreSQL beta Cloud SQLのポ…

deisでminioを置き換えるだけをやってみる

公式ページを参考に Configuring Object Storage 本当にここを変えただけ。bucketはGCSであらかじめ作っておく。権限とかもなんもしてない。 diff --git a/values.yml b/values.yml index c25cfb2..1d94aca 100644 --- a/values.yml +++ b/values.yml @@ -7,…

Deisをproduction運用するための設定の仕方調査

背景 Deisはhelmコマンドでインストールすれば簡単に入るけど、そのままだとデータ保存先がephemeralなものになってしまうのでダメ。他にもproduction運用のためにした方が設定があるのでまとめる。 調べ方 ほとんどdeisの公式ページに書いてあった installi…

自分で立てたdeisにアプリをdeployするまで

quickstartのConfigure DNSとregister an admin user and deploy your first app.をやっただけ。 ロードバランサーの確認 $ kubectl --namespace=deis describe svc deis-router | grep LoadBalancer Type: LoadBalancer LoadBalancer Ingress: 104.198.90.1…