「MicroK8s」の版間の差分
ナビゲーションに移動
検索に移動
196行目: | 196行目: | ||
*このコマンドが実行されたMicroK8sインスタンスが、クラスタのマスターとなり、[[Kubernetes]]コントロールプレーンをホストする | *このコマンドが実行されたMicroK8sインスタンスが、クラスタのマスターとなり、[[Kubernetes]]コントロールプレーンをホストする | ||
<pre> | <pre> | ||
− | $ multipass exec | + | $ multipass list |
+ | Name State IPv4 Image | ||
+ | microk8s-vm Running 192.168.64.2 Ubuntu 18.04 LTS | ||
+ | delhi:~ hirotoyagi$ multipass shell | ||
+ | |||
+ | $ multipass exec microk8s-vm -- sudo iptables -P FORWARD ACCEPT | ||
$ microk8s add-node | $ microk8s add-node |
2020年11月10日 (火) 15:24時点における版
| Kubernetes | Docker |
目次
MicroK8s
インストール
Macにインストール
- https://jp.ubuntu.com/blog/kubernetes-on-mac-how-to-set-up-jp
- https://microk8s.io/docs/install-alternatives#heading--macos
$ brew install ubuntu/microk8s/microk8s $ microk8s install
Macネットワークトラブルシュート
Ubuntuにインストール
$ sudo snap install microk8s --classic
ステータスの確認
$ microk8s status --wait-ready microk8s is running high-availability: no datastore master nodes: 127.0.0.1:19001 datastore standby nodes: none addons: enabled: ha-cluster # Configure high availability on the current node disabled: ambassador # Ambassador API Gateway and Ingress cilium # SDN, fast with full network policy dashboard # The Kubernetes dashboard dns # CoreDNS fluentd # Elasticsearch-Fluentd-Kibana logging and monitoring gpu # Automatic enablement of Nvidia CUDA helm # Helm 2 - the package manager for Kubernetes helm3 # Helm 3 - Kubernetes package manager host-access # Allow Pods connecting to Host services smoothly ingress # Ingress controller for external access istio # Core Istio service mesh services jaeger # Kubernetes Jaeger operator with its simple config knative # The Knative framework on Kubernetes. kubeflow # Kubeflow for easy ML deployments linkerd # Linkerd is a service mesh for Kubernetes and other frameworks metallb # Loadbalancer for your Kubernetes cluster metrics-server # K8s Metrics Server for API access to service metrics multus # Multus CNI enables attaching multiple network interfaces to pods prometheus # Prometheus operator for monitoring and logging rbac # Role-Based Access Control for authorisation registry # Private image registry exposed on localhost:32000 storage # Storage class; allocates storage from host directory
サービスの有効化/無効化
- 組み込みで有効化可能なアドオンサービスの確認
- サービスを無効化する場合は、disable
$ microk8s enable --help
- サービスを有効化する
$ microk8s enable dashboard dns registry istio
ダッシュボード
$ microk8s dashboard-proxy
Kubectl
- MicroK8s は専用のバージョンのkubrctlをバンドルしている。
- コマンドを監視と制御のために実行することができる。
$ microk8s kubectl get all --all-namespaces NAMESPACE NAME READY STATUS RESTARTS AGE kube-system pod/calico-node-m9j8n 1/1 Running 0 90m kube-system pod/metrics-server-8bbfb4bdb-679mc 1/1 Running 0 7m38s :
- MicroK8s は、すでにインストール済みのkubectlとの衝突を防ぐためにネームスペースを指定したkubectlコマンドを使用する
- もしインストール済みの物がないのであれば、簡単にエイリアスを指定できる
- ~/.bash_aliases に以下を記載
alias kubectl='microk8s kubectl'
- ~/.bash_profile に以下を追記
if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi
*https://hondou.homedns.org/pukiwiki/index.php?k8s%20microK8s
$ token=$(microk8s kubectl -n kube-system get secret | grep default-token | cut -d " " -f1) $ microk8s kubectl -n kube-system describe secret $token $ microk8s kubectl port-forward -n kube-system service/kubernetes-dashboard 10443:443
コマンド
https://microk8s.io/docs/commands
コマンド | 内容 |
microk8s add-node | クラスタへの接続文字列を生成 |
microk8s config | |
microk8s ctr | |
microk8s dbctl | |
microk8s disable | |
microk8s enable | |
microk8s inspect | |
microk8s join | |
microk8s kubectl | |
microk8s leave | |
microk8s refresh-certs | |
microk8s remove-node | |
microk8s reset | ノードを初期状態にリセット |
microk8s start | 停止されたノードを開始 |
microk8s status | ステータス情報を表示 |
microk8s stop | カレントノードの停止 |
はじめに
- Kubernetes は、appやserviceをデプロイするためにあるので、kubecltでそれらをKubernetesに対して行うことができる
- デモアプリをインストールしてみる
$ kubectl create deployment nginx --image=nginx
- 確認
$ kubectl get pods
アドオンの使用
- MicroK8s は最低限のコンポーネントを使用するが、豊富な機能が "add-ons" とタイプすることで利用できる
- サービス間の連携を容易にするDNS管理、 アプリケーションがストレージが必要な場合、'storage' アドオンはホストに直接領域を提供する。これらは簡単にセットアップできる
$ microk8s enable dns storage
開始と終了
- MicroK8sは、停止するまで実行し続ける。停止と開始は、以下のコマンド。
$ microk8s stop $microk8s start
クラスタリング
- 2つ以上のすでに稼働しているMicoroK8sインスタンスにクラスタを作成するには、add-nodeコマンドを使用
- このコマンドが実行されたMicroK8sインスタンスが、クラスタのマスターとなり、Kubernetesコントロールプレーンをホストする
$ multipass list Name State IPv4 Image microk8s-vm Running 192.168.64.2 Ubuntu 18.04 LTS delhi:~ hirotoyagi$ multipass shell $ multipass exec microk8s-vm -- sudo iptables -P FORWARD ACCEPT $ microk8s add-node From the node you wish to join to this cluster, run the following: microk8s join 192.168.0.47:25000/8d0a8aefaa574545524af88c13a36647 If the node you are adding is not reachable through the default interface you can use one of the following: microk8s join 192.168.0.46:25000/8d0a8aefaa574545524af88c13a36647 microk8s join 192.168.0.47:25000/8d0a8aefaa574545524af88c13a36647 microk8s join 192.168.122.1:25000/8d0a8aefaa574545524af88c13a36647 microk8s join 172.17.0.1:25000/8d0a8aefaa574545524af88c13a36647 microk8s join 10.1.220.128:25000/8d0a8aefaa574545524af88c13a36647
- add-node コマンドは、 microk8s joinコマンドでジョインしたいクラスタをMicroK8sで 実行すべきコマンドを出力する
- add-nodeを実行したマスター側で出力されたコマンドを、参加させたいワーカーノード側で実行する
$ multipass info --all Name: microk8s-vm State: Running IPv4: 192.168.64.2 Release: Ubuntu 18.04.5 LTS Image hash: 9fdd8fa3091b (Ubuntu 18.04 LTS) Load: 0.92 1.13 0.77 Disk usage: 6.0G out of 48.3G Memory usage: 674.4M out of 3.9G $ multipass ls Name State IPv4 Image microk8s-vm Running 192.168.64.2 Ubuntu 18.04 LTS
© 2006 矢木浩人