SlideShare a Scribd company logo
1 of 4
Download to read offline
Installing kubeadm
https://kubernetes.io/docs/tasks/tools/install -kubeadm/
•
kubeadm で kubernetes v1.8 + Flannel をインストール
https://qiita.com/hichihara/items/79ef6613026f8c13eb99
•
Kubeadm で Kubernetes をインストールする方法 : クイックガイド
https://www.mirantis.co.jp/blog/how-install-kubernetes-kubeadm/
•
CoreOS + flannel で複数ホスト間コンテナ通信をする
https://qiita.com/dtan4/items/8f9cf40aabd2e6c9a494
•
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
https://www.slideshare.net/anikundesu/kubernetesflannelcniwindows -container-cluster
•
今からはじめる Kubernetes 入門
https://speakerdeck.com/thara0402/interact2018
•
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
•
Kuberentesクラスタ 1.10 をkubeadmで構築
https://mbook-x86.hatenablog.com/entry/2018/04/29/024210
•
参考
Installing kubeadm•
https://kubernetes.io/docs/setup/independent/install -kubeadm/
kubeadm のインストール
ホスト名の変更 newname=k8s-master
sudo sed -i -e "s/ubuntu/$newname/g" /etc/hosts
sudo sed -i -e "s/ubuntu/$newname/g" /etc/hostname
sudo hostname $newname
# vi /etc/sysconfig/network
sudo systemctl restart networking.service
IP の固定化 vi /etc/network/interfaces
auto eth0
iface eth0 inet static
address 10.108.0.1
netmask 255.255.255.0
gateway 10.255.255.254
dns-nameservers 10.0.0.1
systemctl restart networking
ネットワークの確認 MAC アドレスが k8s のノード内でユニークなっているか1.
ip link
product_uuid が k8s のノード内でユニークになっているか2.
sudo cat /sys/class/dmi/id/product_uuid
swap の無効化
Disabling Swap on a Kubernetes Node
https://docs.platform9.com/support/disabling-swap-kubernetes-node/
•
kubelet を実行する環境では、スワップは無効にしておく必要がある•
sudo swapoff -a
sudo sed -i '/ swap / s/^(.*)$/#1/g' /etc/fstab
ポートアクセスの設定 Protocol Direction Port Range Purpose Used By
TCP Inbound 6443* Kubernetes API server All
TCP Inbound 2379-2380 etcd server client API kube-apiserver, etcd
TCP Inbound 10250 Kubelet API Self, Control plane
TCP Inbound 10251 kube-scheduler Self
TCP Inbound 10252 kube-controller-manager Self
https://kubernetes.io/docs/setup/independent/install -kubeadm/ より引用
docker のインストール apt-get update
apt-get install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
add-apt-repository "deb https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") $(lsb_release -cs) stable"
apt-get update && apt-get install -y docker-ce=$(apt-cache madison docker-ce | grep 17.03 | head -1 | awk '{print $3}')
docker --version
各種ツールのインストール apt-get update && apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb http://apt.kubernetes.io/ kubernetes-xenial main
EOF
apt-get update
apt-get install -y kubelet kubeadm kubectl
kubelet については、「kubelet.service」としてサービスとしてインストールされる
構成ファイルは「/etc/systemd/system/kubelet.service.d/」に配置される
この段階では、kubeadm による設定を行っていないため、kubelet はクラッシュループを継続した状態となる
cgroup の確認 docker を Container Runtime Interface (CRI) として使用する場合は自動的に設定が行われるので明示的な設定は不要
docker の cgroup ドライバーの確認 docker info | grep -i cgroup cgroupfs が使われているはず
CRI の設定 /etc/default/kubelet にKUBELET_KUBEADM_EXTRA_ARGS が定義されている docker 以外の CRI (cgroupfs) を利用する場合は設定
Creating a single master cluster with kubeadm
https://kubernetes.io/docs/setup/independent/create -cluster-kubeadm/
•
マスタークラスターのインストール
kubeadm を使用したインストール 初期セットアップの実行 kubeadm init --pod-network-cidr=10.244.0.0/16
※上記 cidr は flannel を使用する場合の固定値
--apiserver-bind-port int32 Default: 6443
--cert-dir string Default: "/etc/kubernetes/pki"
--kubernetes-version string Default: "stable-1.10"
--service-cidr string Default: "10.96.0.0/12"
--service-dns-domain string Default: "cluster.local"
kubeadm join 10.108.0.1:6443 --token 2m2kks.5mg61l8z1a53hjjb --discovery-token-ca-cert-hash
kubeadm init•
https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-init/
kubeadm reset•
https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-reset/
インストール (シングルクラスター)
2018年7月15日 11:35
Docker - 1 ページ
kubeadm join 10.108.0.1:6443 --token 2m2kks.5mg61l8z1a53hjjb --discovery-token-ca-cert-hash
sha256:2f911f824f20a03216453c95c1108433f1b360e03525f589b8decbd0a4150e94
実行後に出力される上記のメッセージがワーカーノードの参加で必要となる
初期設定ではトークンの有効期間は 24 時間となっており、次のコマンドで操作できる。
トークンの確認 kubeadm token list
トークンの作成 kubeadm token create
証明書ハッシュの取得 openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | 
openssl dgst -sha256 -hex | sed 's/^.* //'
クラスターの破棄 kubeadm reset
初期セットアップが完了すると、kubelet のクラッシュループが解消され起動した状態となる
kubectl 実行用の構成情報のコピー kubeadm で生成された構成情報のユーザープロファイルへのコピー
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
※root の場合、以下で代替も可能
export KUBECONFIG=/etc/kubernetes/admin.conf
状態の確認 kubeadm config view
kubectl cluster-info
kubectl config get-clusters
kubectl config get-contexts
get-clusters を実行した際に、6443 ではなく、localhost:8080 になっている場合は、構成情報が認識できていない
Flannel の導入 Pod 同士の通信を可能にするためアドオンをインストールする
アドオンをインストールしないと Pod 間の通信ができない
kubectl get pods --all-namespaces NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-78fcdf6894-spg2c 0/1 Pending 0 5m
kube-system coredns-78fcdf6894-xjbh6 0/1 Pending 0 5m
kube-system etcd-k8s-master 0/1 Pending 0 2s
kube-system kube-apiserver-k8s-master 0/1 Pending 0 2s
kube-system kube-controller-manager-k8s-master 0/1 Pending 0 2s
kube-system kube-proxy-mmgjw 1/1 NodeLost 0 5m
kube-system kube-scheduler-k8s-master 0/1 Pending 0 2s
今回は、Flannel を使用して通信を可能にする
iptables のチェーンにブリッジされたトラフィックを許可 sysctl net.bridge.bridge-nf-call-iptables=1
flannel のインストール kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.10.0/Documentation/kube-flannel.yml
kubectl get pods --all-namespaces NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-78fcdf6894-spg2c 1/1 Running 0 6m
kube-system coredns-78fcdf6894-xjbh6 1/1 Running 0 6m
kube-system etcd-k8s-master 1/1 Running 0 12s
kube-system kube-apiserver-k8s-master 1/1 Running 0 11s
kube-system kube-controller-manager-k8s-master 1/1 Running 0 11s
kube-system kube-flannel-ds-d75cf 1/1 Running 0 18s
kube-system kube-proxy-mmgjw 1/1 Running 0 6m
kube-system kube-scheduler-k8s-master 1/1 Running 0 10s
マスターで pod を実行可能にする デフォルトではマスターで Pod を実行することはできないので、シングルクラスターの構成で実行する場合に実行
kubectl taint nodes --all node-role.kubernetes.io/master-
Kubernetes Dashboard
https://github.com/kubernetes/dashboard
•
Installation
https://github.com/kubernetes/dashboard/wiki/Installation
•
KubernetesにDashboardをインストールして、認証なしでアクセスする
https://qiita.com/sheepland/items/0ee17b80fcfb10227a41
•
Kubernetes 1.8のアクセス制御について。あとDashboard。
https://www.kaitoy.xyz/2017/10/31/retry-dashboard-on-k8s-cluster-by-kubeadm/
•
How to sign in kubernetes dashboard?
https://stackoverflow.com/questions/46664104/how-to-sign-in-kubernetes-dashboard
•
ダッシュボードの展開
デプロイ
ローカルからプロキシを介しての HTTP アクセスとなり、リモートから HTTP 接続はできない•
証明書のセットアップは実施していないためローカルアクセスのみを想定•
プロキシを使用せず、直接 HTTPS でアクセスするためには、推奨セットアップを実施する•
クイックセットアップ Kubernetes Dashboard
https://github.com/kubernetes/dashboard/blob/master/README.md
•
デプロイ 作成 kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
削除 kubectl delete -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
設定の確認 kubectl -n kube-system edit service kubernetes-dashboard
spec:
clusterIP: 10.98.24.238
ports:
- port: 443
protocol: TCP
targetPort: 8443
selector:
k8s-app: kubernetes-dashboard
sessionAffinity: None
type: ClusterIP
HTTP でアクセス可能な環境として実行•
代替セットアップ デプロイ 作成 kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/alternative/kubernetes-dashboard.yaml
削除 kubectl delete -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/alternative/kubernetes-dashboard.yaml
設定の確認 kubectl -n kube-system edit service kubernetes-dashboard
spec:
clusterIP: 10.110.248.246
ports:
- port: 80
protocol: TCP
targetPort: 9090
selector:
k8s-app: kubernetes-dashboard
sessionAffinity: None
type: ClusterIP
HTTPS を使用して、外部からアクセスできる環境を整えたセットアップ•
推奨セットアップ 証明書の作成 Certificate management
https://github.com/kubernetes/dashboard/wiki/Certificate-management
•
RSA 秘密鍵の作成 openssl genrsa -des3 -passout pass:x -out dashboard.pass.key 2048
Docker - 2 ページ
RSA 秘密鍵の作成 openssl genrsa -des3 -passout pass:x -out dashboard.pass.key 2048
openssl rsa -passin pass:x -in dashboard.pass.key -out dashboard.key
rm dashboard.pass.key
CRL 要求の作成 openssl req -new -key dashboard.key -out dashboard.csr
Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:Kairakutei
Locality Name (eg, city) []:MasterEros
Organization Name (eg, company) [Internet Widgits Pty Ltd]:erosuzaibatsu
Organizational Unit Name (eg, section) []:Freelance
Common Name (e.g. server FQDN or YOUR name) []:10.108.0.1
以降は任意項目
SSL 証明書の作成 openssl x509 -req -sha256 -days 365 -in dashboard.csr -signkey dashboard.key -out dashboard.crt
シークレットの作成 作成 kubectl create secret generic kubernetes-dashboard-certs --from-file=$HOME/certs -n kube-system
確認 kubectl get secrets -n kube-system kubernetes-dashboard-certs
デプロイ 作成 kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
削除 kubectl delete -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
設定の確認 kubectl -n kube-system edit service kubernetes-dashboard
spec:
clusterIP: 10.102.63.36
ports:
- port: 443
protocol: TCP
targetPort: 8443
selector:
k8s-app: kubernetes-dashboard
sessionAffinity: None
type: ClusterIP
アクセス方法
プロキシを起動してのアクセス プロキシの起動 ローカルからのアクセス用プロキシ kubectl proxy
リモートからのアクセス用プロキシ kubectl proxy --address 0.0.0.0 --accept-hosts '.*'
version 1.7 以降のダッシュボードの場合、http でプロキシ経由でトークンを使用してアクセスすることができない
(トークンを入力して、サインインを押しても反応がない)
Can't sign in into dashboard #2735
https://github.com/kubernetes/dashboard/issues/2735
•
Accessing Dashboard 1.7.X and above
https://github.com/kubernetes/dashboard/wiki/Accessing -Dashboard---1.7.X-and-above
•
version 1.7 のダッシュボードでは、セキュリティが強化され、HTTP エンドポイントでのトークンを使用したアクセスは、localhost / 127.0.0.1 からのみ実施できるようになっているため。
Skip することで、ダッシュボードにアクセスができるが、「system:serviceaccount:kube-system:kubernetes-dashboard」に権限がなく、ほとんどの操作ができない
外部からアクセスする場合には HTTPS エンドポイントを使用する必要があるが、これには推奨セットアップが必要
アクセス URL http://10.108.0.1:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/
http://localhost:8001/ui のアクセスは廃止予定のため上記の URL を使用する
NodePort でのアクセス
(プロキシを使用しないでノード上でポートをオープンする)
NodePort の設定 kubectl -n kube-system edit service kubernetes-dashboard
type: ClusterIP を type: NodePortに変更
ports: に以下のエントリを追加
nodePort: 31500
ポートの確認 kubectl -n kube-system get service kubernetes-dashboard
nodePort を指定したことにより、ポートは固定で設定される
URL にアクセス https://10.108.0.1:31500
Authentication
https://github.com/kubernetes/dashboard/wiki/Access -control#authentication
•
トークンを使用した認証
リモートからのアクセスでは、認証が発生するため、使用するサービスアカウントに関連付けられているシークレットのトークンを確認し、認証を実施する必要がある。
サービスアカウントとトークンは事前に登録されているものがあり、それを使用することができる。
ダッシュボードの認証をスキップした場合は「system:serviceaccount:kube-system:kubernetes-dashboard」のサービスアカウントが使用される。
サービスアカウント 一覧 kubectl -n kube-system get serviceaccount
特定のアカウント kubectl -n kube-system get serviceaccount deployment-controller
詳細の取得 kubectl -n kube-system describe serviceaccount deployment-controller
シークレット 一覧 kubectl -n kube-system get secret
特定のシークレット kubectl -n kube-system describe secret deployment-controller
トークン部分のみを取得
How to sign in kubernetes dashboard?
https://stackoverflow.com/questions/46664104/how-to-sign-in-kubernetes-dashboard
•
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | awk '/^deployment-controller-token-/{print $1}') | awk '$1=="token:"{print $2}'
初期のサービスアカウントでは、ロール単位で限定的な割り当てとなっているため、管理用のアカウントを作成する場合は次の方法を行う。
サービスアカウント 作成 kubectl create serviceaccount cluster-admin-dashboard-sa
削除 kubectl delete serviceaccount cluster-admin-dashboard-sa
ロールの設定 作成 kubectl create clusterrolebinding cluster-admin-dashboard-sa 
--clusterrole=cluster-admin 
--serviceaccount=default:cluster-admin-dashboard-sa
削除 kubectl delete clusterrolebinding cluster-admin-dashboard-sa
トークンを取得 kubectl describe secret cluster-admin-dashboard-sa-token
セキュリティ的に好ましくないが、ダッシュボードを HTTP 経由に変更し、kubernetes-dashboard に cluster-admin を設定することで、すべてのユーザーを管理権限で使用させることもできる
(開発用途での利用を想定 / HTTPS でログインをスキップした場合も同様)
KubernetesにDashboardをインストールして、認証なしでアクセスする
https://qiita.com/sheepland/items/0ee17b80fcfb10227a41
•
YAML で作成 cat <<EOF | kubectl create -f -
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: kubernetes-dashboard
labels:
k8s-app: kubernetes-dashboard
Docker - 3 ページ
k8s-app: kubernetes-dashboard
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: kubernetes-dashboard
namespace: kube-system
EOF
オプションで作成 kubectl create clusterrolebinding kubernetes-dashboard 
--clusterrole=cluster-admin 
--serviceaccount=kube-system:kubernetes-dashboard
削除 kubectl delete clusterrolebinding kubernetes-dashboard
Docker - 4 ページ

More Related Content

What's hot

Docker & Kubernetes基礎
Docker & Kubernetes基礎Docker & Kubernetes基礎
Docker & Kubernetes基礎Daisuke Hiraoka
 
JAWS-UG コンテナ支部 Docker入門 ハンズオン
JAWS-UG コンテナ支部 Docker入門 ハンズオンJAWS-UG コンテナ支部 Docker入門 ハンズオン
JAWS-UG コンテナ支部 Docker入門 ハンズオンRyo Nakamaru
 
捕鯨!詳解docker
捕鯨!詳解docker捕鯨!詳解docker
捕鯨!詳解docker雄哉 吉田
 
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまでDockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまでRyo Nakamaru
 
Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!Takashi Kanai
 
爆速プレビュープロキシ pool
爆速プレビュープロキシ pool爆速プレビュープロキシ pool
爆速プレビュープロキシ poolmookjp
 
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
 Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編 Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編Masahito Zembutsu
 
アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門Hori Tasuku
 
Docker最新動向2017秋+セキュリティの落とし穴
Docker最新動向2017秋+セキュリティの落とし穴Docker最新動向2017秋+セキュリティの落とし穴
Docker最新動向2017秋+セキュリティの落とし穴Masahito Zembutsu
 
Docker swarm mode 入門と ECS との比較
Docker swarm mode 入門と ECS との比較Docker swarm mode 入門と ECS との比較
Docker swarm mode 入門と ECS との比較Yoshinori Teraoka
 
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4Emma Haruka Iwao
 
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪Kunihiro TANAKA
 
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Yuichi Ito
 
今日から始めるDigitalOcean
今日から始めるDigitalOcean今日から始めるDigitalOcean
今日から始めるDigitalOceanMasahito Zembutsu
 
microPCFを使ってみよう
microPCFを使ってみようmicroPCFを使ってみよう
microPCFを使ってみようHiroaki_UKAJI
 
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~Masahito Zembutsu
 
分散環境におけるDocker とオーケストレーション
分散環境におけるDocker とオーケストレーション分散環境におけるDocker とオーケストレーション
分散環境におけるDocker とオーケストレーションMasahito Zembutsu
 
コンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのかコンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのかえむ ばーど
 

What's hot (20)

Docker & Kubernetes基礎
Docker & Kubernetes基礎Docker & Kubernetes基礎
Docker & Kubernetes基礎
 
JAWS-UG コンテナ支部 Docker入門 ハンズオン
JAWS-UG コンテナ支部 Docker入門 ハンズオンJAWS-UG コンテナ支部 Docker入門 ハンズオン
JAWS-UG コンテナ支部 Docker入門 ハンズオン
 
捕鯨!詳解docker
捕鯨!詳解docker捕鯨!詳解docker
捕鯨!詳解docker
 
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまでDockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
 
Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!Windows Server 2016上でLinuxコンテナが動いた!
Windows Server 2016上でLinuxコンテナが動いた!
 
爆速プレビュープロキシ pool
爆速プレビュープロキシ pool爆速プレビュープロキシ pool
爆速プレビュープロキシ pool
 
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
 Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編 Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
 
アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門アプリ屋もDockerをドカドカ使おう ~ Docker入門
アプリ屋もDockerをドカドカ使おう ~ Docker入門
 
Docker最新動向2017秋+セキュリティの落とし穴
Docker最新動向2017秋+セキュリティの落とし穴Docker最新動向2017秋+セキュリティの落とし穴
Docker最新動向2017秋+セキュリティの落とし穴
 
Docker swarm mode 入門と ECS との比較
Docker swarm mode 入門と ECS との比較Docker swarm mode 入門と ECS との比較
Docker swarm mode 入門と ECS との比較
 
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
 
自動化ハンズオン
自動化ハンズオン自動化ハンズオン
自動化ハンズオン
 
CIデモ環境 構築手順書
CIデモ環境 構築手順書CIデモ環境 構築手順書
CIデモ環境 構築手順書
 
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
 
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方Docker入門: コンテナ型仮想化技術の仕組みと使い方
Docker入門: コンテナ型仮想化技術の仕組みと使い方
 
今日から始めるDigitalOcean
今日から始めるDigitalOcean今日から始めるDigitalOcean
今日から始めるDigitalOcean
 
microPCFを使ってみよう
microPCFを使ってみようmicroPCFを使ってみよう
microPCFを使ってみよう
 
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
 
分散環境におけるDocker とオーケストレーション
分散環境におけるDocker とオーケストレーション分散環境におけるDocker とオーケストレーション
分散環境におけるDocker とオーケストレーション
 
コンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのかコンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのか
 

Similar to K8s install (single cluster)

Introduction to Magnum (JP)
Introduction to Magnum (JP)Introduction to Magnum (JP)
Introduction to Magnum (JP)Motohiro OTSUKA
 
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみたKubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみたAkihito Inoh
 
AKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab ContentsAKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab ContentsYoshio Terada
 
GKEで半年運用してみた
GKEで半年運用してみたGKEで半年運用してみた
GKEで半年運用してみたKatsutoshi Nagaoka
 
CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...
CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...
CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...VirtualTech Japan Inc.
 
これから始めるAzure Kubernetes Service入門
これから始めるAzure Kubernetes Service入門これから始めるAzure Kubernetes Service入門
これから始めるAzure Kubernetes Service入門Yuto Takei
 
Kubernetes on Mesos Deep Dive [Japanese]
Kubernetes on Mesos Deep Dive [Japanese]Kubernetes on Mesos Deep Dive [Japanese]
Kubernetes on Mesos Deep Dive [Japanese]JUNICHI YOSHISE
 
ビルドサーバで使うDocker
ビルドサーバで使うDockerビルドサーバで使うDocker
ビルドサーバで使うDockerMasashi Shinbara
 
kpackによるコンテナイメージのビルド
kpackによるコンテナイメージのビルドkpackによるコンテナイメージのビルド
kpackによるコンテナイメージのビルドMasanori Nara
 
Kubernetes Meetup Tokyo #23 kubebuilder-v2
Kubernetes Meetup Tokyo #23 kubebuilder-v2Kubernetes Meetup Tokyo #23 kubebuilder-v2
Kubernetes Meetup Tokyo #23 kubebuilder-v2Kazuhito Matsuda
 
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...whywaita
 
Rancher2.3とwindows Containerで作るkubernetesクラスタ
Rancher2.3とwindows Containerで作るkubernetesクラスタRancher2.3とwindows Containerで作るkubernetesクラスタ
Rancher2.3とwindows Containerで作るkubernetesクラスタTakashi Kanai
 
ヤギにサーバーを管理してもらう話
ヤギにサーバーを管理してもらう話ヤギにサーバーを管理してもらう話
ヤギにサーバーを管理してもらう話Masaki Kobayashi
 
社内勉強会(Docker)
社内勉強会(Docker)社内勉強会(Docker)
社内勉強会(Docker)Shinya Sasaki
 
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container ClusterオーケストレーションKubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container ClusterオーケストレーションTakashi Kanai
 
Qlik Cloudデータ統合:Data Gateway - Data Movementのセットアップ
Qlik Cloudデータ統合:Data Gateway - Data MovementのセットアップQlik Cloudデータ統合:Data Gateway - Data Movementのセットアップ
Qlik Cloudデータ統合:Data Gateway - Data MovementのセットアップQlikPresalesJapan
 
Osc fukuoka xAI Meetup
Osc fukuoka xAI MeetupOsc fukuoka xAI Meetup
Osc fukuoka xAI Meetupru pic
 
TungstenFabricでOpenStackとk8sをラクラク管理
TungstenFabricでOpenStackとk8sをラクラク管理TungstenFabricでOpenStackとk8sをラクラク管理
TungstenFabricでOpenStackとk8sをラクラク管理Yuki Yamashita
 

Similar to K8s install (single cluster) (20)

Introduction to Magnum (JP)
Introduction to Magnum (JP)Introduction to Magnum (JP)
Introduction to Magnum (JP)
 
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみたKubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
 
AKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab ContentsAKS (k8s) Hands on Lab Contents
AKS (k8s) Hands on Lab Contents
 
GKEで半年運用してみた
GKEで半年運用してみたGKEで半年運用してみた
GKEで半年運用してみた
 
CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...
CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...
CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack witho...
 
これから始めるAzure Kubernetes Service入門
これから始めるAzure Kubernetes Service入門これから始めるAzure Kubernetes Service入門
これから始めるAzure Kubernetes Service入門
 
Kubernetes on Mesos Deep Dive [Japanese]
Kubernetes on Mesos Deep Dive [Japanese]Kubernetes on Mesos Deep Dive [Japanese]
Kubernetes on Mesos Deep Dive [Japanese]
 
ビルドサーバで使うDocker
ビルドサーバで使うDockerビルドサーバで使うDocker
ビルドサーバで使うDocker
 
kpackによるコンテナイメージのビルド
kpackによるコンテナイメージのビルドkpackによるコンテナイメージのビルド
kpackによるコンテナイメージのビルド
 
Kubernetes Meetup Tokyo #23 kubebuilder-v2
Kubernetes Meetup Tokyo #23 kubebuilder-v2Kubernetes Meetup Tokyo #23 kubebuilder-v2
Kubernetes Meetup Tokyo #23 kubebuilder-v2
 
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
 
Rancher2.3とwindows Containerで作るkubernetesクラスタ
Rancher2.3とwindows Containerで作るkubernetesクラスタRancher2.3とwindows Containerで作るkubernetesクラスタ
Rancher2.3とwindows Containerで作るkubernetesクラスタ
 
ヤギにサーバーを管理してもらう話
ヤギにサーバーを管理してもらう話ヤギにサーバーを管理してもらう話
ヤギにサーバーを管理してもらう話
 
hbstudy37 doc
hbstudy37 dochbstudy37 doc
hbstudy37 doc
 
社内勉強会(Docker)
社内勉強会(Docker)社内勉強会(Docker)
社内勉強会(Docker)
 
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container ClusterオーケストレーションKubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
 
Qlik Cloudデータ統合:Data Gateway - Data Movementのセットアップ
Qlik Cloudデータ統合:Data Gateway - Data MovementのセットアップQlik Cloudデータ統合:Data Gateway - Data Movementのセットアップ
Qlik Cloudデータ統合:Data Gateway - Data Movementのセットアップ
 
Open Source x AI
Open Source x AIOpen Source x AI
Open Source x AI
 
Osc fukuoka xAI Meetup
Osc fukuoka xAI MeetupOsc fukuoka xAI Meetup
Osc fukuoka xAI Meetup
 
TungstenFabricでOpenStackとk8sをラクラク管理
TungstenFabricでOpenStackとk8sをラクラク管理TungstenFabricでOpenStackとk8sをラクラク管理
TungstenFabricでOpenStackとk8sをラクラク管理
 

More from Masayuki Ozawa

db tech showcase 2019 SQL Database Hyperscale 徹底分析 - 最新アーキテクチャの特徴を理解する
db tech showcase 2019 SQL Database Hyperscale 徹底分析 - 最新アーキテクチャの特徴を理解するdb tech showcase 2019 SQL Database Hyperscale 徹底分析 - 最新アーキテクチャの特徴を理解する
db tech showcase 2019 SQL Database Hyperscale 徹底分析 - 最新アーキテクチャの特徴を理解するMasayuki Ozawa
 
db tech showcase 2019 SQL Server 2019 最新情報 - SQL Serverの進化をまとめてお届け!
db tech showcase 2019 SQL Server 2019 最新情報 - SQL Serverの進化をまとめてお届け!db tech showcase 2019 SQL Server 2019 最新情報 - SQL Serverの進化をまとめてお届け!
db tech showcase 2019 SQL Server 2019 最新情報 - SQL Serverの進化をまとめてお届け!Masayuki Ozawa
 
Sql database managed instance overview and internals
Sql database managed instance overview and internalsSql database managed instance overview and internals
Sql database managed instance overview and internalsMasayuki Ozawa
 
Power apps formula cheat sheet
Power apps formula cheat sheetPower apps formula cheat sheet
Power apps formula cheat sheetMasayuki Ozawa
 
de:code 2018 DA06 SQL Server 管理者におくる SQL Server on Linux Tips
de:code 2018 DA06 SQL Server 管理者におくる SQL Server on Linux Tipsde:code 2018 DA06 SQL Server 管理者におくる SQL Server on Linux Tips
de:code 2018 DA06 SQL Server 管理者におくる SQL Server on Linux TipsMasayuki Ozawa
 
Managed Instance チートシート
Managed Instance チートシートManaged Instance チートシート
Managed Instance チートシートMasayuki Ozawa
 
Pacemaker 操作方法メモ
Pacemaker 操作方法メモPacemaker 操作方法メモ
Pacemaker 操作方法メモMasayuki Ozawa
 
Windows エンジニア向け sql server on linux のためのスキルアップデート
Windows エンジニア向け sql server on linux のためのスキルアップデートWindows エンジニア向け sql server on linux のためのスキルアップデート
Windows エンジニア向け sql server on linux のためのスキルアップデートMasayuki Ozawa
 
Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介
Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介
Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介Masayuki Ozawa
 
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。Masayuki Ozawa
 
Sql server 2016 always on 可用性グループ new features
Sql server 2016 always on 可用性グループ new featuresSql server 2016 always on 可用性グループ new features
Sql server 2016 always on 可用性グループ new featuresMasayuki Ozawa
 
DBA から開発者への情報提供
DBA から開発者への情報提供DBA から開発者への情報提供
DBA から開発者への情報提供Masayuki Ozawa
 
Sql server 2016 ctp 3.0 新機能
Sql server 2016 ctp 3.0 新機能Sql server 2016 ctp 3.0 新機能
Sql server 2016 ctp 3.0 新機能Masayuki Ozawa
 
ここからはじめる SQL Server の状態取得
ここからはじめる SQL Server の状態取得ここからはじめる SQL Server の状態取得
ここからはじめる SQL Server の状態取得Masayuki Ozawa
 
SQL Server パフォーマンスカウンター
SQL Server パフォーマンスカウンターSQL Server パフォーマンスカウンター
SQL Server パフォーマンスカウンターMasayuki Ozawa
 
SQL Server 簡易診断サービス ご紹介資料
SQL Server 簡易診断サービス ご紹介資料SQL Server 簡易診断サービス ご紹介資料
SQL Server 簡易診断サービス ご紹介資料Masayuki Ozawa
 
SQL Server 現状診断サービス ご紹介資料
SQL Server 現状診断サービス ご紹介資料SQL Server 現状診断サービス ご紹介資料
SQL Server 現状診断サービス ご紹介資料Masayuki Ozawa
 
Sql server 構築 運用 tips
Sql server 構築 運用 tipsSql server 構築 運用 tips
Sql server 構築 運用 tipsMasayuki Ozawa
 
A25 sql server data page structure deep dive
A25 sql server data page structure deep diveA25 sql server data page structure deep dive
A25 sql server data page structure deep diveMasayuki Ozawa
 

More from Masayuki Ozawa (20)

db tech showcase 2019 SQL Database Hyperscale 徹底分析 - 最新アーキテクチャの特徴を理解する
db tech showcase 2019 SQL Database Hyperscale 徹底分析 - 最新アーキテクチャの特徴を理解するdb tech showcase 2019 SQL Database Hyperscale 徹底分析 - 最新アーキテクチャの特徴を理解する
db tech showcase 2019 SQL Database Hyperscale 徹底分析 - 最新アーキテクチャの特徴を理解する
 
db tech showcase 2019 SQL Server 2019 最新情報 - SQL Serverの進化をまとめてお届け!
db tech showcase 2019 SQL Server 2019 最新情報 - SQL Serverの進化をまとめてお届け!db tech showcase 2019 SQL Server 2019 最新情報 - SQL Serverの進化をまとめてお届け!
db tech showcase 2019 SQL Server 2019 最新情報 - SQL Serverの進化をまとめてお届け!
 
Sql database managed instance overview and internals
Sql database managed instance overview and internalsSql database managed instance overview and internals
Sql database managed instance overview and internals
 
Power apps formula cheat sheet
Power apps formula cheat sheetPower apps formula cheat sheet
Power apps formula cheat sheet
 
de:code 2018 DA06 SQL Server 管理者におくる SQL Server on Linux Tips
de:code 2018 DA06 SQL Server 管理者におくる SQL Server on Linux Tipsde:code 2018 DA06 SQL Server 管理者におくる SQL Server on Linux Tips
de:code 2018 DA06 SQL Server 管理者におくる SQL Server on Linux Tips
 
Managed Instance チートシート
Managed Instance チートシートManaged Instance チートシート
Managed Instance チートシート
 
Pacemaker 操作方法メモ
Pacemaker 操作方法メモPacemaker 操作方法メモ
Pacemaker 操作方法メモ
 
Windows エンジニア向け sql server on linux のためのスキルアップデート
Windows エンジニア向け sql server on linux のためのスキルアップデートWindows エンジニア向け sql server on linux のためのスキルアップデート
Windows エンジニア向け sql server on linux のためのスキルアップデート
 
Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介
Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介
Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介
 
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。
 
Sql server 2016 always on 可用性グループ new features
Sql server 2016 always on 可用性グループ new featuresSql server 2016 always on 可用性グループ new features
Sql server 2016 always on 可用性グループ new features
 
DBA から開発者への情報提供
DBA から開発者への情報提供DBA から開発者への情報提供
DBA から開発者への情報提供
 
Sql server 2016 ctp 3.0 新機能
Sql server 2016 ctp 3.0 新機能Sql server 2016 ctp 3.0 新機能
Sql server 2016 ctp 3.0 新機能
 
Sql server 運用 101
Sql server 運用 101Sql server 運用 101
Sql server 運用 101
 
ここからはじめる SQL Server の状態取得
ここからはじめる SQL Server の状態取得ここからはじめる SQL Server の状態取得
ここからはじめる SQL Server の状態取得
 
SQL Server パフォーマンスカウンター
SQL Server パフォーマンスカウンターSQL Server パフォーマンスカウンター
SQL Server パフォーマンスカウンター
 
SQL Server 簡易診断サービス ご紹介資料
SQL Server 簡易診断サービス ご紹介資料SQL Server 簡易診断サービス ご紹介資料
SQL Server 簡易診断サービス ご紹介資料
 
SQL Server 現状診断サービス ご紹介資料
SQL Server 現状診断サービス ご紹介資料SQL Server 現状診断サービス ご紹介資料
SQL Server 現状診断サービス ご紹介資料
 
Sql server 構築 運用 tips
Sql server 構築 運用 tipsSql server 構築 運用 tips
Sql server 構築 運用 tips
 
A25 sql server data page structure deep dive
A25 sql server data page structure deep diveA25 sql server data page structure deep dive
A25 sql server data page structure deep dive
 

Recently uploaded

論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 

Recently uploaded (9)

論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 

K8s install (single cluster)

  • 1. Installing kubeadm https://kubernetes.io/docs/tasks/tools/install -kubeadm/ • kubeadm で kubernetes v1.8 + Flannel をインストール https://qiita.com/hichihara/items/79ef6613026f8c13eb99 • Kubeadm で Kubernetes をインストールする方法 : クイックガイド https://www.mirantis.co.jp/blog/how-install-kubernetes-kubeadm/ • CoreOS + flannel で複数ホスト間コンテナ通信をする https://qiita.com/dtan4/items/8f9cf40aabd2e6c9a494 • Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション https://www.slideshare.net/anikundesu/kubernetesflannelcniwindows -container-cluster • 今からはじめる Kubernetes 入門 https://speakerdeck.com/thara0402/interact2018 • Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション • Kuberentesクラスタ 1.10 をkubeadmで構築 https://mbook-x86.hatenablog.com/entry/2018/04/29/024210 • 参考 Installing kubeadm• https://kubernetes.io/docs/setup/independent/install -kubeadm/ kubeadm のインストール ホスト名の変更 newname=k8s-master sudo sed -i -e "s/ubuntu/$newname/g" /etc/hosts sudo sed -i -e "s/ubuntu/$newname/g" /etc/hostname sudo hostname $newname # vi /etc/sysconfig/network sudo systemctl restart networking.service IP の固定化 vi /etc/network/interfaces auto eth0 iface eth0 inet static address 10.108.0.1 netmask 255.255.255.0 gateway 10.255.255.254 dns-nameservers 10.0.0.1 systemctl restart networking ネットワークの確認 MAC アドレスが k8s のノード内でユニークなっているか1. ip link product_uuid が k8s のノード内でユニークになっているか2. sudo cat /sys/class/dmi/id/product_uuid swap の無効化 Disabling Swap on a Kubernetes Node https://docs.platform9.com/support/disabling-swap-kubernetes-node/ • kubelet を実行する環境では、スワップは無効にしておく必要がある• sudo swapoff -a sudo sed -i '/ swap / s/^(.*)$/#1/g' /etc/fstab ポートアクセスの設定 Protocol Direction Port Range Purpose Used By TCP Inbound 6443* Kubernetes API server All TCP Inbound 2379-2380 etcd server client API kube-apiserver, etcd TCP Inbound 10250 Kubelet API Self, Control plane TCP Inbound 10251 kube-scheduler Self TCP Inbound 10252 kube-controller-manager Self https://kubernetes.io/docs/setup/independent/install -kubeadm/ より引用 docker のインストール apt-get update apt-get install -y apt-transport-https ca-certificates curl software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - add-apt-repository "deb https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") $(lsb_release -cs) stable" apt-get update && apt-get install -y docker-ce=$(apt-cache madison docker-ce | grep 17.03 | head -1 | awk '{print $3}') docker --version 各種ツールのインストール apt-get update && apt-get install -y apt-transport-https curl curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - cat <<EOF >/etc/apt/sources.list.d/kubernetes.list deb http://apt.kubernetes.io/ kubernetes-xenial main EOF apt-get update apt-get install -y kubelet kubeadm kubectl kubelet については、「kubelet.service」としてサービスとしてインストールされる 構成ファイルは「/etc/systemd/system/kubelet.service.d/」に配置される この段階では、kubeadm による設定を行っていないため、kubelet はクラッシュループを継続した状態となる cgroup の確認 docker を Container Runtime Interface (CRI) として使用する場合は自動的に設定が行われるので明示的な設定は不要 docker の cgroup ドライバーの確認 docker info | grep -i cgroup cgroupfs が使われているはず CRI の設定 /etc/default/kubelet にKUBELET_KUBEADM_EXTRA_ARGS が定義されている docker 以外の CRI (cgroupfs) を利用する場合は設定 Creating a single master cluster with kubeadm https://kubernetes.io/docs/setup/independent/create -cluster-kubeadm/ • マスタークラスターのインストール kubeadm を使用したインストール 初期セットアップの実行 kubeadm init --pod-network-cidr=10.244.0.0/16 ※上記 cidr は flannel を使用する場合の固定値 --apiserver-bind-port int32 Default: 6443 --cert-dir string Default: "/etc/kubernetes/pki" --kubernetes-version string Default: "stable-1.10" --service-cidr string Default: "10.96.0.0/12" --service-dns-domain string Default: "cluster.local" kubeadm join 10.108.0.1:6443 --token 2m2kks.5mg61l8z1a53hjjb --discovery-token-ca-cert-hash kubeadm init• https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-init/ kubeadm reset• https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-reset/ インストール (シングルクラスター) 2018年7月15日 11:35 Docker - 1 ページ
  • 2. kubeadm join 10.108.0.1:6443 --token 2m2kks.5mg61l8z1a53hjjb --discovery-token-ca-cert-hash sha256:2f911f824f20a03216453c95c1108433f1b360e03525f589b8decbd0a4150e94 実行後に出力される上記のメッセージがワーカーノードの参加で必要となる 初期設定ではトークンの有効期間は 24 時間となっており、次のコマンドで操作できる。 トークンの確認 kubeadm token list トークンの作成 kubeadm token create 証明書ハッシュの取得 openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //' クラスターの破棄 kubeadm reset 初期セットアップが完了すると、kubelet のクラッシュループが解消され起動した状態となる kubectl 実行用の構成情報のコピー kubeadm で生成された構成情報のユーザープロファイルへのコピー mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config ※root の場合、以下で代替も可能 export KUBECONFIG=/etc/kubernetes/admin.conf 状態の確認 kubeadm config view kubectl cluster-info kubectl config get-clusters kubectl config get-contexts get-clusters を実行した際に、6443 ではなく、localhost:8080 になっている場合は、構成情報が認識できていない Flannel の導入 Pod 同士の通信を可能にするためアドオンをインストールする アドオンをインストールしないと Pod 間の通信ができない kubectl get pods --all-namespaces NAMESPACE NAME READY STATUS RESTARTS AGE kube-system coredns-78fcdf6894-spg2c 0/1 Pending 0 5m kube-system coredns-78fcdf6894-xjbh6 0/1 Pending 0 5m kube-system etcd-k8s-master 0/1 Pending 0 2s kube-system kube-apiserver-k8s-master 0/1 Pending 0 2s kube-system kube-controller-manager-k8s-master 0/1 Pending 0 2s kube-system kube-proxy-mmgjw 1/1 NodeLost 0 5m kube-system kube-scheduler-k8s-master 0/1 Pending 0 2s 今回は、Flannel を使用して通信を可能にする iptables のチェーンにブリッジされたトラフィックを許可 sysctl net.bridge.bridge-nf-call-iptables=1 flannel のインストール kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.10.0/Documentation/kube-flannel.yml kubectl get pods --all-namespaces NAMESPACE NAME READY STATUS RESTARTS AGE kube-system coredns-78fcdf6894-spg2c 1/1 Running 0 6m kube-system coredns-78fcdf6894-xjbh6 1/1 Running 0 6m kube-system etcd-k8s-master 1/1 Running 0 12s kube-system kube-apiserver-k8s-master 1/1 Running 0 11s kube-system kube-controller-manager-k8s-master 1/1 Running 0 11s kube-system kube-flannel-ds-d75cf 1/1 Running 0 18s kube-system kube-proxy-mmgjw 1/1 Running 0 6m kube-system kube-scheduler-k8s-master 1/1 Running 0 10s マスターで pod を実行可能にする デフォルトではマスターで Pod を実行することはできないので、シングルクラスターの構成で実行する場合に実行 kubectl taint nodes --all node-role.kubernetes.io/master- Kubernetes Dashboard https://github.com/kubernetes/dashboard • Installation https://github.com/kubernetes/dashboard/wiki/Installation • KubernetesにDashboardをインストールして、認証なしでアクセスする https://qiita.com/sheepland/items/0ee17b80fcfb10227a41 • Kubernetes 1.8のアクセス制御について。あとDashboard。 https://www.kaitoy.xyz/2017/10/31/retry-dashboard-on-k8s-cluster-by-kubeadm/ • How to sign in kubernetes dashboard? https://stackoverflow.com/questions/46664104/how-to-sign-in-kubernetes-dashboard • ダッシュボードの展開 デプロイ ローカルからプロキシを介しての HTTP アクセスとなり、リモートから HTTP 接続はできない• 証明書のセットアップは実施していないためローカルアクセスのみを想定• プロキシを使用せず、直接 HTTPS でアクセスするためには、推奨セットアップを実施する• クイックセットアップ Kubernetes Dashboard https://github.com/kubernetes/dashboard/blob/master/README.md • デプロイ 作成 kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml 削除 kubectl delete -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml 設定の確認 kubectl -n kube-system edit service kubernetes-dashboard spec: clusterIP: 10.98.24.238 ports: - port: 443 protocol: TCP targetPort: 8443 selector: k8s-app: kubernetes-dashboard sessionAffinity: None type: ClusterIP HTTP でアクセス可能な環境として実行• 代替セットアップ デプロイ 作成 kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/alternative/kubernetes-dashboard.yaml 削除 kubectl delete -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/alternative/kubernetes-dashboard.yaml 設定の確認 kubectl -n kube-system edit service kubernetes-dashboard spec: clusterIP: 10.110.248.246 ports: - port: 80 protocol: TCP targetPort: 9090 selector: k8s-app: kubernetes-dashboard sessionAffinity: None type: ClusterIP HTTPS を使用して、外部からアクセスできる環境を整えたセットアップ• 推奨セットアップ 証明書の作成 Certificate management https://github.com/kubernetes/dashboard/wiki/Certificate-management • RSA 秘密鍵の作成 openssl genrsa -des3 -passout pass:x -out dashboard.pass.key 2048 Docker - 2 ページ
  • 3. RSA 秘密鍵の作成 openssl genrsa -des3 -passout pass:x -out dashboard.pass.key 2048 openssl rsa -passin pass:x -in dashboard.pass.key -out dashboard.key rm dashboard.pass.key CRL 要求の作成 openssl req -new -key dashboard.key -out dashboard.csr Country Name (2 letter code) [AU]:JP State or Province Name (full name) [Some-State]:Kairakutei Locality Name (eg, city) []:MasterEros Organization Name (eg, company) [Internet Widgits Pty Ltd]:erosuzaibatsu Organizational Unit Name (eg, section) []:Freelance Common Name (e.g. server FQDN or YOUR name) []:10.108.0.1 以降は任意項目 SSL 証明書の作成 openssl x509 -req -sha256 -days 365 -in dashboard.csr -signkey dashboard.key -out dashboard.crt シークレットの作成 作成 kubectl create secret generic kubernetes-dashboard-certs --from-file=$HOME/certs -n kube-system 確認 kubectl get secrets -n kube-system kubernetes-dashboard-certs デプロイ 作成 kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml 削除 kubectl delete -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml 設定の確認 kubectl -n kube-system edit service kubernetes-dashboard spec: clusterIP: 10.102.63.36 ports: - port: 443 protocol: TCP targetPort: 8443 selector: k8s-app: kubernetes-dashboard sessionAffinity: None type: ClusterIP アクセス方法 プロキシを起動してのアクセス プロキシの起動 ローカルからのアクセス用プロキシ kubectl proxy リモートからのアクセス用プロキシ kubectl proxy --address 0.0.0.0 --accept-hosts '.*' version 1.7 以降のダッシュボードの場合、http でプロキシ経由でトークンを使用してアクセスすることができない (トークンを入力して、サインインを押しても反応がない) Can't sign in into dashboard #2735 https://github.com/kubernetes/dashboard/issues/2735 • Accessing Dashboard 1.7.X and above https://github.com/kubernetes/dashboard/wiki/Accessing -Dashboard---1.7.X-and-above • version 1.7 のダッシュボードでは、セキュリティが強化され、HTTP エンドポイントでのトークンを使用したアクセスは、localhost / 127.0.0.1 からのみ実施できるようになっているため。 Skip することで、ダッシュボードにアクセスができるが、「system:serviceaccount:kube-system:kubernetes-dashboard」に権限がなく、ほとんどの操作ができない 外部からアクセスする場合には HTTPS エンドポイントを使用する必要があるが、これには推奨セットアップが必要 アクセス URL http://10.108.0.1:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/ http://localhost:8001/ui のアクセスは廃止予定のため上記の URL を使用する NodePort でのアクセス (プロキシを使用しないでノード上でポートをオープンする) NodePort の設定 kubectl -n kube-system edit service kubernetes-dashboard type: ClusterIP を type: NodePortに変更 ports: に以下のエントリを追加 nodePort: 31500 ポートの確認 kubectl -n kube-system get service kubernetes-dashboard nodePort を指定したことにより、ポートは固定で設定される URL にアクセス https://10.108.0.1:31500 Authentication https://github.com/kubernetes/dashboard/wiki/Access -control#authentication • トークンを使用した認証 リモートからのアクセスでは、認証が発生するため、使用するサービスアカウントに関連付けられているシークレットのトークンを確認し、認証を実施する必要がある。 サービスアカウントとトークンは事前に登録されているものがあり、それを使用することができる。 ダッシュボードの認証をスキップした場合は「system:serviceaccount:kube-system:kubernetes-dashboard」のサービスアカウントが使用される。 サービスアカウント 一覧 kubectl -n kube-system get serviceaccount 特定のアカウント kubectl -n kube-system get serviceaccount deployment-controller 詳細の取得 kubectl -n kube-system describe serviceaccount deployment-controller シークレット 一覧 kubectl -n kube-system get secret 特定のシークレット kubectl -n kube-system describe secret deployment-controller トークン部分のみを取得 How to sign in kubernetes dashboard? https://stackoverflow.com/questions/46664104/how-to-sign-in-kubernetes-dashboard • kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | awk '/^deployment-controller-token-/{print $1}') | awk '$1=="token:"{print $2}' 初期のサービスアカウントでは、ロール単位で限定的な割り当てとなっているため、管理用のアカウントを作成する場合は次の方法を行う。 サービスアカウント 作成 kubectl create serviceaccount cluster-admin-dashboard-sa 削除 kubectl delete serviceaccount cluster-admin-dashboard-sa ロールの設定 作成 kubectl create clusterrolebinding cluster-admin-dashboard-sa --clusterrole=cluster-admin --serviceaccount=default:cluster-admin-dashboard-sa 削除 kubectl delete clusterrolebinding cluster-admin-dashboard-sa トークンを取得 kubectl describe secret cluster-admin-dashboard-sa-token セキュリティ的に好ましくないが、ダッシュボードを HTTP 経由に変更し、kubernetes-dashboard に cluster-admin を設定することで、すべてのユーザーを管理権限で使用させることもできる (開発用途での利用を想定 / HTTPS でログインをスキップした場合も同様) KubernetesにDashboardをインストールして、認証なしでアクセスする https://qiita.com/sheepland/items/0ee17b80fcfb10227a41 • YAML で作成 cat <<EOF | kubectl create -f - apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: name: kubernetes-dashboard labels: k8s-app: kubernetes-dashboard Docker - 3 ページ
  • 4. k8s-app: kubernetes-dashboard roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: kubernetes-dashboard namespace: kube-system EOF オプションで作成 kubectl create clusterrolebinding kubernetes-dashboard --clusterrole=cluster-admin --serviceaccount=kube-system:kubernetes-dashboard 削除 kubectl delete clusterrolebinding kubernetes-dashboard Docker - 4 ページ