フラミナル

考え方や調べたことを書き殴ります。IT技術系記事多め

Kubernetes Meetup Tokyo #30で個人的学びまとめ

www.youtube.com Amazon EKS によるスマホゲームのバックエンド運用事例 Kubernetes Security for Microservices Amazon EKS によるスマホゲームのバックエンド運用事例 AWSのEC2上でPodが起動する際、EC2には2つのENIが付与される。ENIにはIPアドレスが事前…

WebAssembly(WASM)の用語を整理します

WebAssembly WASM関連の単語 参考 WebAssembly WebAssembly(以下WASM)はWebブラウザ上で実行可能なバイナリ仕様のことです。ただし最近は Webブラウザ以外でも動作するように検討されており、様々なプラットフォームで動作するバイナリ仕様という意味合い…

krustletをAWS上のEC2(kubernetes)で動かしてみよう

KubernetesのノードとしてWebAssemblyが動作するkrustletが紹介されていました。一体どういうものなのかについて公式サイトのQuickStartを実際にやってみます。 図解化するとこんな感じです。 通常はkubeletとdocker(他のコンテナランタイムでもよい)を利用…

【Linuxのしくみ】を読んで自分なりにまとめ記事のまとめ

今回はこちらの書籍「[試して理解]Linuxのしくみ〜実験と図解で学ぶOSとハードウェアの基礎知識」 を自己理解のために内容をかいつまんで要約します。素晴らしい書籍で理解が進むと思いますのでぜひご購入を検討ください。 [試して理解]Linuxのしくみ〜…

【Linuxのしくみ】5章 メモリ管理 を読んで自分なりにまとめ

今回はこちらの書籍「[試して理解]Linuxのしくみ〜実験と図解で学ぶOSとハードウェアの基礎知識」 の5章 メモリ管理 について、自己理解のために内容をかいつまんで要約します。素晴らしい書籍で理解が進むと思いますのでぜひご購入を検討ください。 [試…

【Linux】freeコマンドの内容を図解化してわかりやすく説明します

freeのコマンド結果の意味を解説します。 $ free -h total used free shared buff/cache available Mem: 3.7G 577M 2.3G 406M 853M 2.5G Swap: 2.0G 0B 2.0G 図解化するとこうなります。(Swapは無視) 見方 大きく分けて「カーネル用メモリ」「free(空き)」…

【Linuxのしくみ】6章 記憶階層 を読んで自分なりにまとめ

今回はこちらの書籍「[試して理解]Linuxのしくみ〜実験と図解で学ぶOSとハードウェアの基礎知識」 の6章 記憶階層について、自己理解のために内容をかいつまんで要約します。素晴らしい書籍で理解が進むと思いますのでぜひご購入を検討ください。 [試して…

【Linuxのしくみ】4章 プロセススケジューラ を読んで自分なりにまとめ

今回はこちらの書籍「[試して理解]Linuxのしくみ〜実験と図解で学ぶOSとハードウェアの基礎知識」 の4章 プロセススケジューラについて、自己理解のために内容をかいつまんで要約します。素晴らしい書籍で理解が進むと思いますのでぜひご購入を検討くださ…

【Linuxのしくみ】3章 プロセス管理 を読んで自分なりにまとめ

今回はこちらの書籍「[試して理解]Linuxのしくみ〜実験と図解で学ぶOSとハードウェアの基礎知識」 の3章 プロセス管理について、自己理解のために内容をかいつまんで要約します。素晴らしい書籍で理解が進むと思いますのでぜひご購入を検討ください。 [試…

【Linuxのしくみ】2章 ユーザモードで実現する機能 を読んで自分なりにまとめ

今回はこちらの書籍「[試して理解]Linuxのしくみ〜実験と図解で学ぶOSとハードウェアの基礎知識」 の2章 ユーザモードで実現する機能について、自己理解のために内容をかいつまんで要約します。素晴らしい書籍で理解が進むと思いますのでぜひご購入を検討…

CPUのアーキテクチャの違いまとめ(x86/x64/x86_64/AMD64/i386/i686とはなんなのか?)

CPUのx86/x64/x86_64/AMD64/i386/i686とはなんなのか?についてわかりやすくまとめます まとめ 実際の定義はこちら 一般的な理解はこちら ビット数の違い(32bit、64bit)とは CPUのざっくり歴史(32bit〜) x86とは なんでx32じゃなくてx86っていう名前なの…

【Linuxのしくみ】8章 ストレージデバイス を読んで自分なりにまとめ

今回はこちらの書籍「[試して理解]Linuxのしくみ〜実験と図解で学ぶOSとハードウェアの基礎知識」 の8章 ストレージデバイスについて、自己理解のために内容をかいつまんで要約します。素晴らしい書籍で理解が進むと思いますのでぜひご購入を検討ください…

【Linuxのしくみ】7章 ファイルシステム を読んで自分なりにまとめ

今回はこちらの書籍「[試して理解]Linuxのしくみ〜実験と図解で学ぶOSとハードウェアの基礎知識」 の7章 ファイルシステムについて、自己理解のために内容をかいつまんで要約します。素晴らしい書籍で理解が進むと思いますのでぜひご購入を検討ください。 …

ArgoCDでkubernetesとGitの差分を比較するアルゴリズムについて

ArgoCDにおけるkubernetesリソースの変更(特にprune周り)がどうなっているのかをコードから追いましたので備忘的に残しておきます。 argo-cd/state.go at ca42a375c2a9f40993bf86a0f196bd1fdbe1a933 · argoproj/argo-cd · GitHub 以下の通りです。 ローカ…

kubernetesにおけるコンポーネントを整理してまとめます

kubernetesのContorollerと呼ばれるノードにはこれらのコンポーネントが存在しています。(kubeadmでインストールした場合) この記事ではそれらのコンポーネントがどのように起動され何を担当しているのかを簡単に紹介します。 名前 種類 役割 kubelet デー…

Kubernetesの障害時のPodへの接続断時間についてまとめ

この記事ではkubernetesで障害が発生した時の挙動と接続断時間をまとめます。 Kubernetes完全ガイドposted with ヨメレバ青山真也 インプレス 2018年09月 楽天ブックス楽天koboAmazonKindle 結論 1 Podで起動している時 Podが削除された場合 Dockerプロセス…

gRPCをとにかくわかりやすく丁寧に説明します

この記事ではgRPCをとにかくわかりやすく説明します。 gRPCとは? まず正しい定義を書きます。(最初は理解が難しいので流してください) gRPCはGoogleが作ったRPCです HTTP/2の上で動作します Protocol Buffersを使ってデータをシリアライズ化します proto…

【手順あり】CentoOS7にgrpcurlをいれてコマンドの確認をしてみる

grpcurlはgRPCサーバに対してcurlのように通信が行えるクライアントツールです。 このように利用できます。 grpcurl 192.168.0.1 helloworld.Greeter/helloworld この記事ではgrpcurlのインストールから実際に叩いてみるところまでをご紹介します。またこの…

CentOS7にgrpcurlを入れる方法

vv 手順 Goを入れる grpcurlのインストール 確認 手順 Goを入れる yum -y install go grpcurlのインストール コマンドをインストールする先のディレクトリを指定する。(インストール時にbinが追加されるので/binをつけない) export GOPATH=/usr/local イン…

【手順】CentOS7にgRPC CLI toolをインストールする方法

手順 yum -y install epel-release gcc-c++ gflags-develbin git git clone https://github.com/grpc/grpc cd grpc git submodule update --init make grpc_cli これで./bins/opt/grpc_cliにインストールされました。

bazelをCentOS7にyumでinstallする方法

/etc/yum.repos.d/fedora.repoを作成する [copr:copr.fedorainfracloud.org:vbatts:bazel] name=Copr repo for bazel owned by vbatts baseurl=https://download.copr.fedorainfracloud.org/results/vbatts/bazel/epel-7-$basearch/ type=rpm-md skip_if_una…

【動かして理解する】PythonでgRPCのQuickStartをやってみよう

この記事ではgRPC公式サイトのQuickStartを実践しながらgRPCの紹介を行なっていきます。 環境 前提 【ハンズオン】gRPCの起動 pipのインストール gRPCライブラリのインストール gitのインストール grpcのサンプルのダウンロード gRPCアプリの起動 【ハンズオ…

【手順あり】MetalLBとIngressを併用してL7負荷分散を実施する方法まとめ(オンプレミス)

Ingressについて オンプレミス環境におけるNginx Ingressについて 【ハンズオン】MetalLB+Ingressの実装 環境 事前準備 MetalLBの準備 Ingress リソースの準備 Ingress Controllerの準備 動作させるNginxサービス&podを準備 リソースの作成 実際にアクセス…

【手順あり】MetalLBの使い方から動きまで解説します

MetalLBとは? MetalLBを使った際のクラウド環境との違い MetalLBの構成 speakerとは? controllerとは? MetalLBの仕組み(ARP/NDP/BGP) L2 modeについて(ARP/NDP) L2 modeの冗長性 L2 mode利用時の制限 BGP modeについて BGP modeにおけるロードバラン…

【手順あり】実際にやって学ぶ「kubernetes Helm」のChartの作り方

この記事ではHelmのChart(チャート)の作り方と公開方法を紹介します。 前の記事はこちら→ 【手順あり】実際に使ってみて学ぼう「kubernetes Helm」とは? - フラミナル 環境 作業手順 前提 Helmチャートの雛形作成 テンプレート(sample-chart/templates/se…

【手順あり】実際に使ってみて学ぼう「kubernetes Helm」とは?

この記事では Helmとは? Helmをインストールして、実際にパッケージをいれる手順 を紹介していきます。 環境 Helmとは? 作業手順 Helm Clientのインストール Helm を開始する Jenkinsをインストールしてみよう Jenkinsに接続してみる Jenkinsを削除する My…

【手順あり】KubernetesのHPA(Horizontal Pod Autoscaler)をためしてみる

今回はHPA(Horizontal Pod Autoscaler)を実際に触ってみる検証をしていきたいと思います。 環境 Metrics-Serverを導入する NginxとHPAを導入する Nginx HPA 負荷をかけてみる 負荷掛け前 負荷掛け中 負荷掛けの停止 参考情報 この書籍を参考にしています。 K…

HorizontalPodAutoscaler利用時に「Warning FailedGetResourceMetric horizontal-pod-autoscaler missing request for cpu」が発生する

事象 解決方法 参考 事象 metrics-server導入済み HPA利用時にWarning FailedGetResourceMetric horizontal-pod-autoscaler missing request for cpuというメッセージがでる [root@master vagrant]# kubectl describe hpa nginx Name: nginx Namespace: defa…

ArgoCDのBestPracticeを意訳してみた

サイト:Best Practices - Argo CD - Declarative GitOps CD for Kubernetes リポジトリの分離 1. CIのビルドを無駄に走らせない 2. 監査ログの簡潔化 3. 複数のコードリポジトリでの単体アプリの存在 4. アクセスの分離 5. CIの無限ループ 命令的な内容はma…

ArgoCDとは?GitOps含めてわかりやすく説明します

ArgoCDとは? 継続的なデプロイメント(CD) GitOpsとは 具体的にどのような動きをするのか? ArgoCDによって実現できること やってみよう バージョンアップしてみる ロールバックしてみる ArgoCDのアーキテクチャー ArgoCDのコンポーネント API サーバ リポ…