Foreverly

メモ帳

mikanos-buildのansibleが失敗する

腐っているのか、古いパッケージを見に行き404で失敗する。 環境構築はDockerしか勝たん どう突破すればいいのやら。 mikanOS の道のりは険しい 環境はWSL2のUbuntu20.04.3LTS cat /etc/os-release NAME="Ubuntu" VERSION="20.04.3 LTS (Focal Fossa)" ID=ub…

Azure歴0年だけど一ヶ月でAZ-104とAZ-303とAZ-304に合格してAzure Solutions Architect Expertになりました。

Azureを触ったことがないのですが、今後触っていくことになったのでキャッチアップがてら資格をとってみました。 Azure経験0でも一ヶ月で資格取得が可能でした。勉強開始からAzure Solutions Architect Expertまで28日間かかっています。 5日から7日間の勉強…

Kubernetes2 Advent Calendar 2020 3日目: redis-operatorの導入

この記事は Kubernetes2 Advent Calendar 2020 の 3 日目です。 直前に空きが出ていたので光速で書きました。 枠が勿体無いですからね。がんばりました。 2日目がCRDだったのでOperatorの話にしました。 直前でアレなのですが書く時間を確保できなさそうなの…

ElasticCacheのイベント通知をSlackに投げ隊

これはなに? ElasticCacheのイベント通知をSlackに通知する奴 どうして通知するんですか? 他のプロジェクトでDB周りのアラートが発報して確認したらイベント通知にメンテで再起動されていた。 イベント情報を検知できるようにイベント通知をしたくなった。 …

helm2to3

これはなに helm v2からv3にマイグレするやつです。 v2のサポート期間は2020年11月13日までなので即対応必須奴。 Helmの新しいメジャーリリースへのアップグレードで最も重要な部分の1つは、データの移行で、やるにはhelm-2to3プラグインをつかうのがよい。 …

Terraform0.13へのUpgrade

Terraform0.13にUpgradeの手順と詰まったPointをメモ 事前準備 こんなアドバイスを受けていたので、先にproviderのバージョンをあげます。 古い環境からterraform v0.13.0+aws providerv3に一気に上げるとtfstateが不整合っぽいエラーでまくるので、 terrafo…

CNDT2020で発表してきた

CloudNativeDays2020で以下のタイトルで発表してきました。 Amebaアフィリエイト基盤のGKEアーキテクチャとマイクロサービス | CloudNative Days Tokyo 2020 会社のスポンサー枠ということで40分の発表枠を頂きました。 無論40分話せる自信がないので、サー…

sendgridのeventdataをS3に送るやつです

構成 SendGridのエラーをS3に格納するfunctionを実行する構成です。 各サービスの役割とポイントとなる設定についてみていきましょう。 S3→Lambda→APIGateway→SendGridの順にみていきましょう〜〜〜 S3 eventdataの保存先にS3を使用します。bucketを用意して…

datadogのアラート通知先を環境毎に変えたい

環境毎にアラート項目を作り分けてて面倒くさかったので、一つの監視で複数環境を監視できるようにした。 環境毎に閾値を変えたいという要望は捨て置く。 datadogでタグを使って1モニターから複数の通知先を出し分け設定する こちらを参考にした。 ここでの…

EKS環境に対してlocust podをskaffoldでデプロイして負荷試験準備した

EKSは別に関係ないです。 負荷試験環境を用意した時、skaffoldでlocust環境を用意したので、そのメモ。 事前準備 docker daemonの起動とskaffoldのインストール ecrにimageを置くためのリポジトリを用意 Description Projectのlocustを動かすmanifestとシナ…

Leetcodeやっていき(無料Easy編)

とりあえず無料のEasyをすべて解くのを目指す。 ちゃんとテストも書いていく。 771. Jewels and Stones 与えられた文字列の中から、対象の文字列が何個あるか数える問題。 forで一文字ずつcount()を使用して確認していく。 for文も通常の書き方より、リスト…

Envoy Meetup Tokyo #1でLTしてきた

Envoy Meetup Tokyo #1で、 「本番環境でEnvoyを導入するためにやったこと」というタイトルでLTしてきました。 発表資料はこちら 自分はCotrolPlaneを特に用意していないので、Envoyを気軽に導入したい人には参考になるかと思います。 Decksetで発表しようと…

terraformerを使ってコード化対応

手動で管理していたCloudDNSをコード管理したかったので、terraformerを使ってコード化しました。 Installation brew install terraformer 事前準備 コマンド実行したら以下エラーが出たので、ディレクトリにpluginをinstall Copy your Terraform provider's…

GoでTravis-CIを使ってのテストとデプロイ

Goで何か書いた時にCIの設定をまとめてみた。 もっといい方法がありそうなので、ブラッシュアップしていきたい。 golangci-lint でsyntaxチェックして goreleaser でdeployの流れ。 .travis.yml travisの設定は以下の用にする。 branches: ciの設定(ブランチ…

Terraformの基本

terraformの基本事項についてaws providerを使用して確認していく。 terraformコマンドで構築する前にクレデンシャル情報を環境変数に渡しておくのを忘れずに。 export AWS_ACCESS_KEY_ID=hogehoge export AWS_SECRET_ACCESS_KEY=hogehoge export AWS_DEFAUL…

GKE + datadogの監視の仕組みをhelmfileを使っての下準備

GKE + datadogの監視をするのにhelmfileを使ってdatadog-agentを入れるのと、 helmfileをCircle CIで回してパッケージ管理の準備までしてしまおうというもの。 Integrationの有効化 Datadogなので、まずはintegrationの有効化 必要に応じてだけど、代替以下 …

Creating multi master cluster with kubeadm(ver1.14以上)

前回kubeadmでマルチマスターのクラスタ構築をしたが、kubeadm1.14で証明書の発行と配布がされるようになったので試してみた。 document https://kubernetes.io/docs/setup/independent/install-kubeadm/ https://kubernetes.io/docs/setup/independent/crea…

Terraform and CORS-Enabled AWS API Gateway and AWS WAF

この記事はAWS WAF と API Gateway endpoint で CORS を有効化について。 以下にsampleを載せてあります。 REST API リソースが API 独自のドメイン以外のドメインからリクエストを受け取る場合、 リソースの選択されたメソッドで Cross-Origin Resource Sha…

AWS構築[Cloudfront+ELB+WEB+DB+S3]

AWSなれるために2018年ごろに手でポチポチ構築したときのメモ なので今は設定画面とか変わっているものがありそう [Cloudfront+ELB+WEB+DB+S3] 構成。 ほとんどの場合、Terraformで構築すると思うけど、 その前のAWS入門として一応残しておきます。 仕様と構…

podのCrashLoopBackOff原因およびNodeのNot Readyフラッピング問題調査

これは何? とあるPodがCrashLoopBackOffのステータスになりあがってくれず、 それにあわせてNodeのstatusがNot Readyでフラッピングしている。 調査しつつ周辺技術(kubelet, CRI,CNIとか)についても調べて自信ニキになりたい。 事象 fluentdのpodがCrashLoop…

kubeadmでHA構成のetcdクラスタ構築

最新手順はこちら Kubeadmは、コントロールプレーンノード上のkubeletによって管理される静的ポッドで単一メンバーのetcdクラスタをデフォルトで実行する。 etcdクラスターに含まれるメンバーは1つだけで、メンバーが使用不可になっても持続できないため、こ…

Creating multi master cluster with kubeadm(ver1.13以下)

document https://kubernetes.io/docs/setup/independent/install-kubeadm/ https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/ kubeadmのトラブルシューティング 始める前に 以下のいずれかを実行している1台以上のマシンを用意 Ubuntu…

unshareコマンドでLinuxのNamespaceに入門

Namespaceはコンテナで使われている技術の一つで、コンテナを理解深めるために知っておくとよいので調べてみた。 どんな使われ方をしているかというと、 例えばPID namespaceはPIDの number spaceを隔離する。 これは同じホスト上で実行されている2つのプロ…

2018年読んだ本

2018年の読書メーター読んだ本の数:15読んだページ数:4818ナイス数:70アシュリーの戦争 -米軍特殊部隊を最前線で支えた、知られざる「女性部隊」の記録の感想15時間ほどで読めた。CST(文化支援部隊)という女性メンバーだけの特殊部隊を追ったノンフィクシ…

Kubernetes Application Update

303-app-updateの内容 Kubernetes Application Update 今回では、Kubernetesクラスタにデプロイされたアプリケーションを使用して更新する方法について説明しデプロイします。 また、アプリケーションのCanary Deploymentについても見ていきます。 Deploymen…

Service Discovery for Microservices with Kubernetes

302-app-discovery Service Discovery for Microservices with Kubernetes ハードコードされたIPアドレスを使用するのではなく、 アプリケーション内のさまざまなマイクロサービスがサービス検出を使用してインフラストラクチャ内で互いにどのように位置付け…

k8sクラスタのアップグレード

203-cluster-upgrades Kubernetesクラスタのアップグレード AWS上のKubernetesクラスタのアップグレードは、kopsで簡単にできます。 今回Kubernetesクラスターを2つの方法でアップグレードする方法を試します。 インプレースアップグレード Kopsを使用すると…

シェルスクリプトでのリトライ処理とロック処理

サーバ運用で手動でApache再起動のような対応は辛いので アラートを検知したら自動でApache再起動を実施し、 メールで知らせてくれるスクリプトを書きたいと思い、 リトライ処理やロック処理をシェルスクリプトでどうやるか調べたのでまとめます。 リトライ…

Linuxサーバをセキュアな環境にする

Linuxサーバでセキュアな設定についてまとめてみました。 OSはCentOS6なので古いですが。。 Wordpress周りはまだ調べられてないので どこかでまとめたい。 アドレススキャン対策 ブロードキャスト宛のICMP Echo Requestに対して回答しない vim /etc/sysctl.c…

pythonでしたいと思ったことまとめ①

print()でカンマ区切りで表示したい print(a, b, c, sep=',') 行末の改行を削除したい string.rstrip() 文字列の末尾部分を除去したコピーを返す。引数 chars は除去される文字集合を指定する文字列。 特定の文字を除去したい 文字列.replace() メソッドを利…