Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Masayuki Ozawa
850 views
K8s install (single cluster)
k8s シングルクラスターのインストール (Ubuntu 16.04)
Technology
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Downloaded 10 times
1
/ 4
2
/ 4
3
/ 4
4
/ 4
More Related Content
PPTX
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
by
toshi_pp
PDF
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
by
Shuji Yamada
PDF
Using ngx_lua / lua-nginx-module in pixiv
by
Shunsuke Michii
PPTX
IBM Log Analysis with LogDNAを評価した話
by
Daisuke Hiraoka
PDF
2015-01-27 Introduction to Docker
by
Shuji Yamada
PDF
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
by
Masahiro Nagano
PDF
【dots. IT勉強会】開発環境のDocker化
by
Yuki Kanazawa
PDF
第37回「Dockerのユースケースと将来」(2014/10/30 on しすなま!)
by
System x 部 (生!) : しすなま! @ Lenovo Enterprise Solutions Ltd.
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
by
toshi_pp
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
by
Shuji Yamada
Using ngx_lua / lua-nginx-module in pixiv
by
Shunsuke Michii
IBM Log Analysis with LogDNAを評価した話
by
Daisuke Hiraoka
2015-01-27 Introduction to Docker
by
Shuji Yamada
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
by
Masahiro Nagano
【dots. IT勉強会】開発環境のDocker化
by
Yuki Kanazawa
第37回「Dockerのユースケースと将来」(2014/10/30 on しすなま!)
by
System x 部 (生!) : しすなま! @ Lenovo Enterprise Solutions Ltd.
What's hot
PPTX
Docker & Kubernetes基礎
by
Daisuke Hiraoka
PDF
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
by
Ryo Nakamaru
PDF
Docker入門: コンテナ型仮想化技術の仕組みと使い方
by
Yuichi Ito
PDF
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
by
Masahito Zembutsu
PDF
捕鯨!詳解docker
by
雄哉 吉田
PDF
アプリ屋もDockerをドカドカ使おう ~ Docker入門
by
Hori Tasuku
PDF
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
by
Kunihiro TANAKA
PDF
Docker swarm mode 入門と ECS との比較
by
Yoshinori Teraoka
PDF
Windows Server 2016上でLinuxコンテナが動いた!
by
Takashi Kanai
PDF
CIデモ環境 構築手順書
by
VirtualTech Japan Inc.
PDF
分散環境におけるDocker とオーケストレーション
by
Masahito Zembutsu
PDF
コンテナ型仮想化とはなんだったのか
by
えむ ばーど
PDF
今日から始めるDigitalOcean
by
Masahito Zembutsu
PDF
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
by
Masahito Zembutsu
PDF
自動化ハンズオン
by
VirtualTech Japan Inc.
PPTX
microPCFを使ってみよう
by
Hiroaki_UKAJI
PDF
Docker最新動向2017秋+セキュリティの落とし穴
by
Masahito Zembutsu
PDF
JAWS-UG コンテナ支部 Docker入門 ハンズオン
by
Ryo Nakamaru
PDF
爆速プレビュープロキシ pool
by
mookjp
PDF
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
by
Emma Haruka Iwao
Docker & Kubernetes基礎
by
Daisuke Hiraoka
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
by
Ryo Nakamaru
Docker入門: コンテナ型仮想化技術の仕組みと使い方
by
Yuichi Ito
Rancher/Kubernetes入門ハンズオン資料~第2回さくらとコンテナの夕べ #さくらの夕べ 番外編
by
Masahito Zembutsu
捕鯨!詳解docker
by
雄哉 吉田
アプリ屋もDockerをドカドカ使おう ~ Docker入門
by
Hori Tasuku
いまさら聞けないDocker - 第5回コンテナ型仮想化の情報交換会@大阪
by
Kunihiro TANAKA
Docker swarm mode 入門と ECS との比較
by
Yoshinori Teraoka
Windows Server 2016上でLinuxコンテナが動いた!
by
Takashi Kanai
CIデモ環境 構築手順書
by
VirtualTech Japan Inc.
分散環境におけるDocker とオーケストレーション
by
Masahito Zembutsu
コンテナ型仮想化とはなんだったのか
by
えむ ばーど
今日から始めるDigitalOcean
by
Masahito Zembutsu
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
by
Masahito Zembutsu
自動化ハンズオン
by
VirtualTech Japan Inc.
microPCFを使ってみよう
by
Hiroaki_UKAJI
Docker最新動向2017秋+セキュリティの落とし穴
by
Masahito Zembutsu
JAWS-UG コンテナ支部 Docker入門 ハンズオン
by
Ryo Nakamaru
爆速プレビュープロキシ pool
by
mookjp
Docker on RHEL & Project Atomic 入門 - #Dockerjp 4
by
Emma Haruka Iwao
Similar to K8s install (single cluster)
PDF
もっとも簡単なKubernetes構築 on Raspberry pi (July tech festa winter 2021)
by
Kamon Nobuchika
PPTX
Dockerからcontainerdへの移行
by
Akihiro Suda
PDF
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
by
Toru Makabe
PDF
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
by
Takashi Kanai
PDF
Rancher2.3とwindows Containerで作るkubernetesクラスタ
by
Takashi Kanai
PDF
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55
by
Preferred Networks
PDF
Dockerからcontainerdへの移行
by
Kohei Tokunaga
PPTX
RKE + Rancher 2.0
by
cyberblack28 Ichikawa
PDF
最速・最短・最簡単でKubernetesを始めるハウツー with k0s
by
Kamon Nobuchika
PPTX
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
by
Akihito Inoh
PPTX
Kubernetes on Mesos Deep Dive [Japanese]
by
JUNICHI YOSHISE
PPTX
Kubernetes etc.. & rancher 2.0 technical preview “Let’s import GKE/Bluemix/AK...
by
cyberblack28 Ichikawa
PDF
Kubernetes1.9でWindowsコンテナーをクラスタ化
by
Takashi Kanai
PPTX
Kubernetes ときどき Serverless -- cndjp第1回勉強会
by
Hiroshi Hayakawa
PDF
半日でわかる コンテナー技術 (応用編)
by
Toru Makabe
PDF
Rancher basic seminar_200924
by
Junji Nishihara
PDF
Lenovo seminar rancher_200513
by
Junji Nishihara
PDF
Acm2.1 short public
by
Yuhki Hanada
PDF
Windows コンテナを AKS に追加する
by
Yuto Takei
PPTX
Kubernetesオンラインセミナー kubernetesの始め方
by
Kujirai Takahiro
もっとも簡単なKubernetes構築 on Raspberry pi (July tech festa winter 2021)
by
Kamon Nobuchika
Dockerからcontainerdへの移行
by
Akihiro Suda
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
by
Toru Makabe
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
by
Takashi Kanai
Rancher2.3とwindows Containerで作るkubernetesクラスタ
by
Takashi Kanai
Kubernetes ControllerをScale-Outさせる方法 / Kubernetes Meetup Tokyo #55
by
Preferred Networks
Dockerからcontainerdへの移行
by
Kohei Tokunaga
RKE + Rancher 2.0
by
cyberblack28 Ichikawa
最速・最短・最簡単でKubernetesを始めるハウツー with k0s
by
Kamon Nobuchika
Kubernetes Meetup Tokyo #8 Self-hosted Kubernetes を調べてみた
by
Akihito Inoh
Kubernetes on Mesos Deep Dive [Japanese]
by
JUNICHI YOSHISE
Kubernetes etc.. & rancher 2.0 technical preview “Let’s import GKE/Bluemix/AK...
by
cyberblack28 Ichikawa
Kubernetes1.9でWindowsコンテナーをクラスタ化
by
Takashi Kanai
Kubernetes ときどき Serverless -- cndjp第1回勉強会
by
Hiroshi Hayakawa
半日でわかる コンテナー技術 (応用編)
by
Toru Makabe
Rancher basic seminar_200924
by
Junji Nishihara
Lenovo seminar rancher_200513
by
Junji Nishihara
Acm2.1 short public
by
Yuhki Hanada
Windows コンテナを AKS に追加する
by
Yuto Takei
Kubernetesオンラインセミナー kubernetesの始め方
by
Kujirai Takahiro
More from Masayuki Ozawa
PDF
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。
by
Masayuki Ozawa
PPTX
DBA から開発者への情報提供
by
Masayuki Ozawa
PDF
Managed Instance チートシート
by
Masayuki Ozawa
PPTX
Sql server 運用 101
by
Masayuki Ozawa
PDF
Sql database managed instance overview and internals
by
Masayuki Ozawa
PDF
Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介
by
Masayuki Ozawa
PPTX
ここからはじめる SQL Server の状態取得
by
Masayuki Ozawa
PDF
Sql server 構築 運用 tips
by
Masayuki Ozawa
PDF
SQL Server パフォーマンスカウンター
by
Masayuki Ozawa
PDF
Sql server 2016 always on 可用性グループ new features
by
Masayuki Ozawa
PDF
Pacemaker 操作方法メモ
by
Masayuki Ozawa
PDF
db tech showcase 2019 SQL Server 2019 最新情報 - SQL Serverの進化をまとめてお届け!
by
Masayuki Ozawa
PDF
Power apps formula cheat sheet
by
Masayuki Ozawa
PDF
SQL Server 現状診断サービス ご紹介資料
by
Masayuki Ozawa
PDF
de:code 2018 DA06 SQL Server 管理者におくる SQL Server on Linux Tips
by
Masayuki Ozawa
PDF
Windows エンジニア向け sql server on linux のためのスキルアップデート
by
Masayuki Ozawa
PPTX
Sql server 2016 ctp 3.0 新機能
by
Masayuki Ozawa
PDF
db tech showcase 2019 SQL Database Hyperscale 徹底分析 - 最新アーキテクチャの特徴を理解する
by
Masayuki Ozawa
PDF
A25 sql server data page structure deep dive
by
Masayuki Ozawa
PDF
SQL Server 簡易診断サービス ご紹介資料
by
Masayuki Ozawa
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。
by
Masayuki Ozawa
DBA から開発者への情報提供
by
Masayuki Ozawa
Managed Instance チートシート
by
Masayuki Ozawa
Sql server 運用 101
by
Masayuki Ozawa
Sql database managed instance overview and internals
by
Masayuki Ozawa
Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介
by
Masayuki Ozawa
ここからはじめる SQL Server の状態取得
by
Masayuki Ozawa
Sql server 構築 運用 tips
by
Masayuki Ozawa
SQL Server パフォーマンスカウンター
by
Masayuki Ozawa
Sql server 2016 always on 可用性グループ new features
by
Masayuki Ozawa
Pacemaker 操作方法メモ
by
Masayuki Ozawa
db tech showcase 2019 SQL Server 2019 最新情報 - SQL Serverの進化をまとめてお届け!
by
Masayuki Ozawa
Power apps formula cheat sheet
by
Masayuki Ozawa
SQL Server 現状診断サービス ご紹介資料
by
Masayuki Ozawa
de:code 2018 DA06 SQL Server 管理者におくる SQL Server on Linux Tips
by
Masayuki Ozawa
Windows エンジニア向け sql server on linux のためのスキルアップデート
by
Masayuki Ozawa
Sql server 2016 ctp 3.0 新機能
by
Masayuki Ozawa
db tech showcase 2019 SQL Database Hyperscale 徹底分析 - 最新アーキテクチャの特徴を理解する
by
Masayuki Ozawa
A25 sql server data page structure deep dive
by
Masayuki Ozawa
SQL Server 簡易診断サービス ご紹介資料
by
Masayuki Ozawa
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 ページ
Download