このブログを検索

この記事の内容は、個人の見解、検証の範囲のものであり、誤りがある可能性があります。
個人の責任において情報活用をお願いします。


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

2023年6月30日金曜日

Rancharでkubernetesの管理をしてみる 第3回 デフォルトで作成したユーザーは思っていた以上にできることが少なかった・・・

今回は、前回作成したデフォルト設定のユーザーが管理者権限と比べてどんなことが制限されているのか見ていきたいと思います。
まずログインしてみると、メンバー追加したクラスターだけが確認できます。
では、このクラスターへ実行可能な操作を確認してみましょう。


とはいえ、この辺の操作は問題なくできると思っています。
kubectlshellでコマンドが実行できることは確認できました。


新しく名前空間を作成し、ローカルのYAMLファイルを読み込ませてPodやServiceを作成してみましょう。


あ、名前空間作るための権限ついてないっぽいw
うーん、defaultの名前空間だったらリソースは作れるのか・・・?
『Import YAML』ボタンからYAMLファイルを読み込ませてみましょう


『Read from File』から読み込ませるYAMLファイルを選びます。


内容が表示されたら『Import』で・・・えぇ・・・


あー、ダメなんですね・・・
なるほど、デフォルト状態では操作はできないみたいですね。
defaultの名前空間でも、このユーザーは作成しようとしたリソースの操作を許可されてないと怒られてしまったようです。 ユーザー作ったり権限与えたりとかその辺ができないとイメージしていましたが、考えが甘かったようです。


せっかくなので、ほかにもできないことを調べたいと思います。
メニュー画面からやはりユーザーに対する管理、クラスタに対しての管理もできないようです。


この辺はイメージ通りではありました。
ちょっと思った通りではなくて思いのほかショックを受けてしまいましたが、よい確認ができたと思っておきます。

次回は、どうやったら今回できなかったPodの作成などができるのかについて調べてみたいと思います。

2023年5月26日金曜日

Rancharでkubernetesの管理をしてみる 第2回 ユーザーの作成とクラスタメンバーへの追加

前回、Rancharを構築してKubernetesを管理下に置いてみました。
今回は、作業用のユーザーをデフォルトの設定で作成してクラスタが操作できるようにクラスタのメンバーに追加する作業を行ってみます。

まずは、ユーザーの作成を行います。
「CONFIGURATION」から「Users&Authentication」を選択します
「Create」からユーザーの作成を行います。
作成自体はユーザー名を入れて、パスワードを設定し「Create」をするだけで可能です。
今回は使用しませんでしたが、チェックボックスで次回ログイン時にパスワードを変更させたり、ランダムでパスワードを生成したりもできるようですね。
細かい権限設定もできるようですが、それはまた今度調べたいと思います。
今回は「user01」を作成してみます。
作成したuser01で再ログインしてみます。
作っただけではログインしても以下のように何も操作できない状態となります。
では、このユーザーにアクセスを行わせるクラスタへ権限の付与を行いましょう。
adminでログインしなおします。
ユーザーに操作させたいKubernetesクラスタをクリックします。
「Cluster Members」を表示し「Add」をクリックします。
「Select Member」で追加したいユーザー検索して設定します。
今回は先ほど作成した「user01」になります。
user01がクラスタのメンバーとして追加されました。
この状態で改めてログインすると、先ほど権限をくっつけたk8s-1クラスタが表示されました。
今回はここまでにします。
次回は、管理者権限と比べてどんなことが制限されているのか見ていきたいと思います。

2023年4月28日金曜日

Rancharでkubernetesの管理をしてみる 第1回 『Rancharの構築とkubernetesの追加』

kubernetesでいろいろと構築することを過去にやってきましたので、今回からは管理系のお勉強をしたいと思います。
早速導入ですが、これはDockerのコマンド一発でできてしまいました。
世の中便利になりましたね・・・

公式ドキュメント:https://www.rancher.co.jp/quick-start/

ただ、それを知っているかどうかとそれを見つけられるかどうかなど、いろいろなものがありすぎて複雑だなぁと感じる私は地球の重力に魂を引かれているのでしょう。
Dockerの入っているマシンを用意したら以下のコマンドを実行して下さい。
このあとkubernetesのクラスタを追加するので、各ノードと通信できるマシンという点だけ注意してください。
# docker run -d --restart=unless-stopped -p 80:80 -p 443:443 --privileged rancher/rancher
これだけで作業完了です。
コンテナ起動時にホストへのhttps通信をコンテナに転送するように設定されているので、ブラウザでアクセス可能ですがそのままだとパスワードがわからないので確認しておきましょう。

パスワードの確認はコンテナのlogから確認するので、コンテナのIDを確認します。
# sudo docker ps
CONTAINER ID   IMAGE             COMMAND           CREATED          STATUS          PORTS                                                                      NAMES
977d197a93b5   rancher/rancher   "entrypoint.sh"   41 seconds ago   Up 35 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   frosty_meninsky
この「CONTAINER ID」を使ってログを表示するとその中にパスワードが入っているので以下のコマンドでそれを抽出します。
# docker logs 977d197a93b5 2>&1 | grep "Bootstrap Passwor ログイン後は、パスワードの再設定を行います。
12文字以上という結構長いパスワード要求でちょっと困りました(個人的にはNSX以外で初めてでしたね。)

ログインすると画面はこんな感じです。
ここからkubernetesの構築を行うこともできるようなのですが、既存のkubernetesをこのRancharに追加してみたいと思います。
クラスターのページから、『Inport Existing』を実行します。
『Import any Kubernetes cluster』の『Generic』をクリックします。
登録するクラスタの名前を設定します。
ここでは k8s-1 と設定しました『Create』をクリックします。
そうすると、クラスターの追加を行う Kubectl のコマンドが表示されます。
証明書の問題が発生した場合は2つ目のコマンドを使うように案内されるため、そちらを使いましょう
実際に実行してみると、以下のものが作られます。
clusterrole.rbac.authorization.k8s.io/proxy-clusterrole-kubeapiserver created
clusterrolebinding.rbac.authorization.k8s.io/proxy-role-binding-kubernetes-master created
namespace/cattle-system created
serviceaccount/cattle created
clusterrolebinding.rbac.authorization.k8s.io/cattle-admin-binding created
secret/cattle-credentials-7e1f7cb created
clusterrole.rbac.authorization.k8s.io/cattle-admin created
Warning: spec.template.spec.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms[0].matchExpressions[0].key: beta.kubernetes.io/os is deprecated since v1.14; use "kubernetes.io/os" instead
deployment.apps/cattle-cluster-agent created
正常に展開できた場合はしばらくして、RancherのUIに戻ると『Active』と追加スタクラスターで表示されます。
Rancherのホームを表示すると、クラスターの右端のボタンからなんとkubectlを実行可能なshellが起動可能です。

先ほどクラスターを追加した際に作成された名前空間『cattle-system』にあるpodを確認してみましょう。
こんな感じで複数k8sクラスターがあってもここからk8sの切り替えてkubectlコマンドが実行できるので楽でいいですね。

2018年9月19日水曜日

【Rancher】Rancher2.0をやってみよう その2 環境設定 日本語化してみた


前回は2ステップデプロイでRancher環境を作成しました。今回から実際に設定してみる
つもりでしたが、クラスタの環境作成に時間がかかりそうなのでUIを日本語へ設定変更してクラスターを作成できる場所を確認します。日本語表示への切り替えは簡単です。右下の”English”をクリックしてメニューから日本語を選択するだけです。簡単に日本語UIに変わりました。


クラスタータブをクリックします。デフォルトで利用できるデプロイ先は以下の7つです。(カスタム、インポートは含まず)


ノードドライバータブを確認します。先ほど確認したクラスタータブで選択できる場所を増やすことができます。


デフォルトで登録されているノードドライバー。


試しにInactiveになっているものをすべて Activeに変更してみます。


アクティベート中、、、


ほぼアクティブ化完了


クラスタータブの選択肢が増えました。


クラスターデプロイするホスト環境とネットワーク接続方法どうしよう、、、。手っ取り早くクラウドかそれともリソース確保してvSphereかopenstackか。。会社の検証環境のリソース確認しよう。。今回はこの辺で。

【Rancher】Rancher2.0をやってみよう その1 環境作成


コンテナ管理ツールのRancherを試してみることにしました。
とりあえず、環境構築。今回は私が利用する環境はこちら。

  • Windows10
  • VMware(R) Workstation Tech Preview 2018 Pro
  • Ubuntu16.04LTS

では、さっそくやってみたいと思います。まずは手順を調べてみます。Rancherのサイトへアクセスします。下部へスクロールして”Get startGet started with Rancher”より"Deploy Rancher 2.0"をクリックします。



”Quick Start”が表示されます。下部へスクロールします。


2ステップでのデプロイ方法が記載されています。
この2ステップデプロイでの必要要件とデプロイ方法が書かれていました。
2ステップデプロイ必要要件

  • 64bit Ubuntu16.04
  • メモリ4GB以上
  • Docker 1.12.6, 1.13.1 または 17.03.2


私の利用するUbuntuのDocker環境を確認します。18.06.1-ceでした。

  @ubuntu:~$
  @ubuntu:~$ docker -v
  Docker version 18.06.1-ce, build e68fc7a
  @ubuntu:~$

GitHubに17.03.2インストール用のスクリプトがアップされてました。 
rancher/install-docker
https://github.com/rancher/install-docker/blob/master/17.03.2.sh
wgetでスクリプトをダウンロード


スクリプトを実行したらすでにDokcerがインストールされていたのでエラーメッセージが表示されました。


インストールされていたDockerをアンインストール。
sudo apt-get purge docker-ce


スクリプトを再度実行


~中略~



スクリプト実行完了。DockerCEのバージョンも17.03.2になりました。
以下のコマンドを実行。
sudo docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher


しばらく待ちます。私の自宅の回線は遅いので時間がかかります。。。


やっと終わりました。
ダウンロードしたコンテナを確認します。
sudo docker container ls


WebブラウザからRancherにアクセスします。事故署名証明書によるエラーが表示されます。


パスワード設定画面が表示されます。パスワードを設定します。


URLを設定します。


トップ画面が表示されました。


次回よりRancherを操作してみます。