Help us understand the problem. What is going on with this article?

Rancherを使ってkubernetesを構築

はじめに

kubernetesを勉強している間にRancherというツールを見つけて、まずは触ってみないことには!となったので、実際に作ってみました。

Rancherとは

OSSで提供されているコンテナ管理ツールとなります。
Rancherを調べると主な機能として3つ取り上げられています。

・マルチクラウドをベースとしたKubernetesクラスタを一元管理
・数多くのOSSをカタログ化しており、Rancherをインストールした直後からそれらを利用することが可能
・他のOSSとの連携が可能

個人的には、UI上でkubernetesの環境が作れて高可用性の作成も簡単に作れるところや、
Kubernetes環境をUI上で管理できるところが、これからKubernetesを勉強する人にとっても良いところだと思います。

Rancher導入準備

最初はRaspberry Pi上に作ったkubernetes上にRancherの載せようと思ったのですが、Armに対応していないことが発覚。。。
仕方ないので、VM上にCentOS7の仮想マシンを用意してどうせならRancherを使ってkubernetesを構築することにしました。

サーバ IPアドレス
nn-rancher-server 10.16.30.112
nn-rancher-k8s-master1 10.16.30.113
nn-rancher-k8s-worker1 10.16.30.114
nn-rancher-k8s-worker2 10.16.30.115

■全てのサーバに共通して以下を実施

以下については割愛します。
・Firewallの停止
・SELinuxの無効化
・PKGの最新化

ネットワークブリッジを通過するパケットが、ホスト・システムのiptablesルールによって処理されるように有効化します。

# vi /etc/sysctl.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1

sysctl.confの内容を反映させます。

# sysctl -p

Dokcer-ceのインストール

# yum install -y yum-utils
# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# yum install -y docker-ce docker-ce-cli containerd.io
# systemctl start docker
# systemctl enable docker

rancher-server

Rancher-ServerでRancherを起動します。

# docker run -d --name rancher --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher

起動したら、RancherServerのIPアドレスでURLを開き、adminユーザーのパスワードを設定します。
FireShot Capture 011 - Rancher - 192.168.13.100.png

次の画面でRancherサーバのURLを設定します。デフォルトでIPアドレスが書かれているので、そのまま保存します。
FireShot Capture 016 - Rancher - 192.168.13.100.png

設定後以下の画面が表示されるので、まずはクラスターを作ります。
FireShot Capture 019 - Rancher - 192.168.13.100.png

今回は自分が管理しているVMマシンになるので。From existing nodes (Custom)を選択します。
FireShot Capture 024 - Rancher - 192.168.13.100.png

選んだらクラスター名を入力する画面がでるので任意の名前を選択します。
FireShot Capture 027 - Rancher - 192.168.13.100.png

最後にMasterノードにする際のコマンドとWorkerノードにする際のコマンドを表示させ、
コマンドをコピーしてそれぞれのノードにて実行し、kubernetes環境を構築します。

■Masterノードの場合:
FireShot Capture 024 - Rancher - 10.16.30.112.png

■Workerノードの場合:
FireShot Capture 027 - Rancher - 10.16.30.112.png

最後に作成したrancher-k8sのダッシュボードにて ❌ がないことを確認し、
念のためにkubectlを起動させて、kubectl get nodeでMasterとWorkerのステータスがReadyになっていることを確認します。
FireShot Capture 030 - Rancher - 10.16.30.112.png
FireShot Capture 033 - Rancher - 10.16.30.112.png

最後に

まずはRancherを使ったk8sの構築を実施しました。
1からkubernetesの高可用性クラスタを作った時は、最初は何も分からなくて調べたりしてとても勉強にはなりましたが、
こうもあっさりできてしまうと高可用性クラスタの構築などもとても楽そうですね。
せっかく作ったのでkubernetesと並行しながら色々な機能を試してみてまとまったら記事にしていきたいと思います。

nnagashima
新卒からMSP業界に所属し現在進行中。新しいものや技術的に興味があり、 自分で検証をしないと気が済まない性格で役に立つものを提供したい。趣味は写真とロードバイク。AWS / Docker / Kubernetes / Pulumi / Prometheus / Grafana大好き。
https://nnagashima.hateblo.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした