Cluster API によるKubernetes環境のライフサイクル管理とマルチクラウド環境での適用Motonori Shindo
Cluster API は Kubernetes の宣言的APIとリソースの管理機能を活かし、Kubernetes環境のライフサイクル管理を行うもので、Kubernetesコミュニティで仕様の策定と開発が進められています。
これまでもKubernetes環境の構築を支援するツールはいくつかありましたが、Cluster APIはコミュニティからの大きな支持を得ており、Cluster APIのエコシステムが広がりつつあります。
本セッションでは Cluster API の概要と最新の動向、また、Cluster APIを利用した大規模マルチクラウド環境への適用などをデモを交えながら解説を行います。
本資料はCloud Operator Days Tokyo 2020登壇時の資料です。
https://machine-learning15minutes.connpass.com/event/243250/
第65回 Machine Learning 15minutes! Broadcast
業界ごとのデータ分析を支援するIBM IBM Data and AI Acceleratorsのご紹介
日本アイ―・ビー・エム株式会社 平山 毅(Tsuyoshi Hirayama)、
の発表資料です。
[Blockchain in kyoto 2021]security token pricing trend related to each sto pl...Tsuyoshi Hirayama
This is presentation materials at Blockchain in Kyoto 2021
https://best-society.org/blockchain-in-kyoto-2021/
https://best-society.org/wp-content/uploads/2021/02/program_v210216.pdf
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matchingharmonylab
公開URL:https://arxiv.org/pdf/2404.19174
出典:Guilherme Potje, Felipe Cadar, Andre Araujo, Renato Martins, Erickson R. ascimento: XFeat: Accelerated Features for Lightweight Image Matching, Proceedings of the 2024 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) (2023)
概要:リソース効率に優れた特徴点マッチングのための軽量なアーキテクチャ「XFeat(Accelerated Features)」を提案します。手法は、局所的な特徴点の検出、抽出、マッチングのための畳み込みニューラルネットワークの基本的な設計を再検討します。特に、リソースが限られたデバイス向けに迅速かつ堅牢なアルゴリズムが必要とされるため、解像度を可能な限り高く保ちながら、ネットワークのチャネル数を制限します。さらに、スパース下でのマッチングを選択できる設計となっており、ナビゲーションやARなどのアプリケーションに適しています。XFeatは、高速かつ同等以上の精度を実現し、一般的なラップトップのCPU上でリアルタイムで動作します。
セル生産方式におけるロボットの活用には様々な問題があるが,その一つとして 3 体以上の物体の組み立てが挙げられる.一般に,複数物体を同時に組み立てる際は,対象の部品をそれぞれロボットアームまたは治具でそれぞれ独立に保持することで組み立てを遂行すると考えられる.ただし,この方法ではロボットアームや治具を部品数と同じ数だけ必要とし,部品数が多いほどコスト面や設置スペースの関係で無駄が多くなる.この課題に対して音𣷓らは組み立て対象物に働く接触力等の解析により,治具等で固定されていない対象物が組み立て作業中に運動しにくい状態となる条件を求めた.すなわち,環境中の非把持対象物のロバスト性を考慮して,組み立て作業条件を検討している.本研究ではこの方策に基づいて,複数物体の組み立て作業を単腕マニピュレータで実行することを目的とする.このとき,対象物のロバスト性を考慮することで,仮組状態の複数物体を同時に扱う手法を提案する.作業対象としてパイプジョイントの組み立てを挙げ,簡易な道具を用いることで単腕マニピュレータで複数物体を同時に把持できることを示す.さらに,作業成功率の向上のために RGB-D カメラを用いた物体の位置検出に基づくロボット制御及び動作計画を実装する.
This paper discusses assembly operations using a single manipulator and a parallel gripper to simultaneously
grasp multiple objects and hold the group of temporarily assembled objects. Multiple robots and jigs generally operate
assembly tasks by constraining the target objects mechanically or geometrically to prevent them from moving. It is
necessary to analyze the physical interaction between the objects for such constraints to achieve the tasks with a single
gripper. In this paper, we focus on assembling pipe joints as an example and discuss constraining the motion of the
objects. Our demonstration shows that a simple tool can facilitate holding multiple objects with a single gripper.
6. Internal and Business Partner Use OnlyIBM Cloud
Overview of Kubernetes
Bootノード
Ansibleベース
インストーラー
& 運用管理
Masterノード
管理コンソール(router)
Workerノード Workerノード Proxyノード
永続ストレージ
ユーザー・アプリケーション ユーザー・アプリケーション
Calicoノード Filebeat Calicoノード Filebeat
KubeletK8 Proxy KubeletK8 Proxy
Calicoノード Filebeat
KubeletK8 Proxy
UCarp
Ingressコントローラー
Kubernetesコア
etcd KubeletK8 Proxy K8 Scheduler K8 Control Manger K8 API Server
Calicoノード
認証App Centerログ・監視 イメージ管理VIP管理
認証マネジャー
Keystone
Maria DB
Elastic Search
Heapster
Logstash
Filebeat
イメージMgr
Dockerレジストリ
Unifiedルーター
Helmレポジトリ
Tiller
UCarp
DNS
Kube-DNS
Calico ポリシー
コントローラー
Default Backend
Rescheduler
LDAP
7. Internal and Business Partner Use OnlyIBM Cloud
Basic of Kubernetes
Kubernetes = Kubelet = Cluster = 複数のものを1つに⾒せる
= Master + Worker + Registry
Master
=
API +
Scheduler +
Controller
Kubernetes
Worker Node 1
Container
Registry
(Docker Image)
Worker Node 2
Worker Node 3
Worker Node N
オンプレミスだと、この信頼性設計が大
変。IBMやGoogleのマネージドサービ
スを活用すると、ここが隠ぺいされる。
クラウドと同様にAPIで制御。
8. Internal and Business Partner Use OnlyIBM Cloud
Worker Node on Kubernetes
Worker Node on Kubernetes
Service
Cluster IP
Services
Pod A
Cluster IP
Container
Container
Kublet
Pod B
Cluster IP
Container
Container
Kube Proxy
Pod C
Cluster IP
Container
Container
Pod D
Cluster IP
Container
Container
IP or FQDN
アクセス
IP or FQDN
アクセス
ポート
アクセス
Replica Set Replica Set
コンテナ
はポート
フォワー
ディング
Stateful Setを
使いか否かもポイント
9. Internal and Business Partner Use OnlyIBM Cloud
Labels on YAML code for Kubernetes
apiVersion: apps/v1beta2 # for versions before 1.8.0 use apps/v1beta1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 80
役割を付与するLabelが重要
https://kubernetes.io/docs/concepts/overview/working-with-objects/kubernetes-objects/ より引用
nginx nginx nginx
Label : nginx
mysql mysql mysql
Label : mysql
14. Internal and Business Partner Use OnlyIBM Cloud
Istio
IBM, Google and Lyft give microservices
a ride on the Istio Service Mesh
https://developer.ibm.com/dwblog/2017/istio/
マイクロサービス
アプリケーション層
マイクロサービス
フロント層
マイクロサービス
DB/Integration層
冗⻑性設定の
コントロール
プレーンへの追加
Istio の アーキテクチャー
非機能要件をコードに実装
+
15. Internal and Business Partner Use OnlyIBM Cloud
Blue-Green Deployment for Cloud native
インストールはこれだけ
kubectl apply -f install/kubernetes/istio.yaml
ルーター(LB)
Blue (Old Version) Green (New Version)
段階的
に切替
クラウドネイティブといえばBlue-Green Deployment
発展的にはHTTPベースの⾼度な制御が必要だけど、
CloudFoundryではなく、
Kubernetes 環境の場合での良い⽅法は︖
Stateful Set の活用もわかるけど。。
Istio
21. Internal and Business Partner Use OnlyIBM Cloud
Grafeas
IBM and Google combine forces to open source Grafeas project, helping
developers solve security challenges when building with containers
https://developer.ibm.com/dwblog/2017/grafeas/
22. Internal and Business Partner Use OnlyIBM Cloud
Category Definition
/projects/<project_id>/notes/<note_id>
定期的なアクセスによって脆弱性を確認
例)Linuxパッケージに対する脆弱性診断による結果であるCVE
/projects/<project_id>/occurrences/<occurrence_id>
クラウドのリソースやプロジェクト(テナント等)をインスタンス化する際の脆弱性
例)heartbleed OpenSSL
25. Internal and Business Partner Use OnlyIBM Cloud
IBM Cloud Private = Kubernetes Managed anywhere
26. Internal and Business Partner Use OnlyIBM Cloud
Amazon ECS using Fragates
・このKubernetes からIstio、Grafeas への流れは、
AWSがELBからALBへの進化、VPCエンドポイントで内部でフィルタリング可能
になってきた流れに似ている気がします。
(※)個⼈的な意⾒であり、社の公式⾒解ではありません。