ラベル メモ の投稿を表示しています。 すべての投稿を表示
ラベル メモ の投稿を表示しています。 すべての投稿を表示

2021年10月27日水曜日

K8Sについて、簡単まとめ

 ■kubenetesで出来ること。

以下のことが出来るので、シンプルにDockerの実行するより

管理&運用コストが低いことが把握できる。

 

特徴:

①コンテナのスケジューリング

②ローロングアップデート

③スケーリング・オートスケーリング

④コンテナの死活監視

⑤障害時のセルフヒーリング

  ->k8sの醍醐味で、指定したコンテナ数を維持する仕組みになっていて

  仮に3台中/一台のコンテナが落ちた場合、新規で1台作成される仕組み

⑥サービスディスカバリ

  ->内部DNS機能で、各登録したマイクロサービスを連携するのに利用する。

⑦ロードバランシング

⑧データ管理

⑨ワークロードの管理

⑩ログ管理

⑪Infrastructure as Code

  ->yaml形式のファイルでシステムの構築が行える

⑫その他システムの連携、拡張



■Master(コントロールプレーンとも呼ぶ)

特徴:

①ローカル環境に対してのAPIを提供

->ローカル環境または、CI/CDからマニュフェストをAPI経由でMaster側に登録(管理する)

②スケジュリングを行う

->どのノードのコンテナを配置するのかなど

③スケーリング・オートスケーリングを行う。



■Node(データプレーンと呼ぶ)

特徴:

コンテナを実行する基盤




[Wordloadsリソース]


概要:

コンテナを起動するのに利用するリソース。


以下の分類になる。

1)Pod


2)ReplicaSet

指定したPod数を維持するリソース

(Deployment経由で利用する)


3)Deployment

ローリングアップデート、ロールバックなどを実現するリソース

  ->こちらのリソースを利用することが多い。  


4)DemonSet

各ノードにPodを1つずつ配置するリソース

  ->監視系、Podのデータ変換、カオスエンジニアリングなどの各ノード毎に配置が必要な場合に優位


5)Job

一度限りのコンテナ処理を行いたい場合に利用するリソース

  ->時刻指定ができるCronJobのがメリットが多いかと個人的には考える。


6)CronJob

スケジュールされた時間にコンテナ処理を行いたい場合に利用するリソース

  ->cron的な用途になるので、JobよりCronJobのが有効かもしれない。


総括:

自作のアプリや運用上のバッチ処理を行う観点でいうと

DeploymentやCronJobが使い勝手が良さそう。



[Discovery&LBリソース]

コンテナのサービスディスカバリやクラスタの外部アクセス可能なエンドポイントを提供するリソース



[Config&Strageリソース]

設定や機密データをコンテナに埋め込みや永続ボリューム(ストレージ)を提供するリソース

①Secret(機密情報)

②ConfigMap(設定関連)

③PersistentVolumeClaim(ボリューム系)



[metadataリソース]

クラスタ内のリソースの動作を制御するリソース





ネットワークまとめ for k8s

Cluster IP Service  ->内部ロードバランサ
External IP             ->ClusterIP Serviceの外部公開用の機能
NordPort                ->ノードのポート公開機能(ノードで公開しているポート経由で、Podにアクセスする)

2020年5月21日木曜日

cloud runについて(メモ)

①CPU(1固定):1個

CPU(CPU Allowcated):
Cloud Runはデフォルトでコンテナインスタンスごとに1つのvCPUを割り当てますが
これは変更できます。(最大2個まで)

vCPUは、基礎となるハードウェアの抽象化として実装され、可変CPUプラットフォーム上の単一のハードウェアハイパースレッドとほぼ同等のCPU時間を提供します。
コンテナインスタンスは、複数のコアで同時に実行できます。 
vCPUは、コンテナインスタンスの起動時および要求処理時にのみ割り当てられ、それ以外の場合は調整されます。

別のvCPU値を割り当てるには、CPUの割り当てに関するドキュメントを参照してください。



②メモリ(Memory Allocated):2GB(値段が変わらない)
   ->都合で変更してもらって良い

各Cloud Runコンテナインスタンスは、デフォルトで256 MiBのメモリを取得します。
これを変更するには、最大2 GiBのメモリ制限を設定します。
メモリの一般的な使用法は次のとおりです。

1)サービスを実行するためにメモリにロードされたコードファイルシステムへの書き込み
2)nginxサーバーなどのコンテナーで実行される追加プロセス
3)PHP OpCacheなどのメモリ内キャッシュシステムリクエストごとのメモリ使用量


③Containet requests per container instance(最大:80 ->値段が変わらない)
Cloud Runサービスの各コンテナインスタンスによって同時に処理されると予想されるリクエストの平均数。


④Execution time per Request: 100ms
Cloud Runサービスで単一のリクエストを処理するのにかかった実時間


⑤Outband Network Bandwith per request execution(6.4MB)
リクエストごとにCloud Runサービスから送信される出力データの量

以下のサイトを参考にしてみると、データ表示のみであれば1MBから2MBのネットワーク帯域問題なさそう
https://webtan.impress.co.jp/u/2018/08/20/30244


⑥Request per Month(5000) 1000店舗  x 5回
1か月のCloud Runサービスへのリクエストの総数



メモ:
Cloud Run は、トラフィックに応じてゼロからNまで自動的にスケールします。

2019年8月6日火曜日

AWS IAMとは

AWS Identity and Access Management (IAM) では、AWS のサービスやリソースへのアクセスを安全に管理できます。IAM を使用すると、AWS のユーザーとグループを作成および管理し、アクセス権を使用して AWS リソースへのアクセスを許可および拒否できます。

2019年5月21日火曜日

メモ:OSS検証したいリスト

Sonarqube:ソースコード品質チェック
Artifactory:リポジトリ管理ツール
Gitlab:Github

2018年5月16日水曜日

メモ

物事の社会的価値を決めるのは、「人が求める数」

2018年4月26日木曜日

Affinity/Anti-Affinity

ポリシー仮想サーバの配備
AffinityAffinityポリシーのサーバグループに登録された仮想サーバ群は、
可能な限り同一の物理サーバ上で起動される
Anti-AffinityAnti-Affinityポリシーのサーバグループに登録された仮想サーバ群は、
確実に別々の物理サーバ上で起動される。

2017年5月17日水曜日

メモ:haas/paas/saas





IaaS
PaaS
SaaS
アプリケーション


✔
ミドルウェア(DB等)

✔
✔
OS
✔
✔
✔
ハードウェア
✔
✔
✔
ネットワーク
✔
✔
✔

【AI×GitOps】Docker Composeから始めるRaspberry Pi 5 Kubernetesクラスタへの自動デプロイ設計

現在構築を進めている動画管理システム開発において、いきなりKubernetes(K8s)に展開するのではなく、 Docker Composeを中間地点に挟んで段階的にK8s+Argo CD(GitOps)へ移行するアーキテクチャ設計 をまとめました。 Bionic(AIアシスタン...