目次
2. 必要なツールをインストールします (3 つの仮想マシンすべてで実行)
序文
KubeSphereは、 Kubernetes上に構築された クラウドネイティブのアプリケーション指向分散オペレーティング システム です 。完全にオープン ソースで、マルチクラウドおよびマルチクラスター管理をサポートし、フルスタックの IT 自動化運用および保守機能を提供し、企業の DevOps ワークフローを簡素化します。そのアーキテクチャにより、サードパーティ アプリケーションとクラウドネイティブのエコロジー コンポーネント間のプラグ アンド プレイ統合が容易になります。
この記事のマルチサーバー環境は仮想マシンであり、インストールプロセスは公式ドキュメントに従って整理されています。
1. 環境整備
1. 仮想マシンの準備
- virtualBoxとvagrantのダウンロードアドレスは別記事を参照してください。
まだ VMware Workstation を使用して Linux 仮想マシンを構築していますか? VirtualBox+vagrant で仮想マシンを簡単に扱う方法を教えます。
- インストール後、仮想マシンの IP アドレス セグメントを設定します。これはすべて 56.x IP アドレスです。
- 「管理」-「グローバル設定」を選択し、イメージを保存するための大きな容量を持つハードディスクを選択します。ここでは E ドライブの下のフォルダーを選択しました。
2.vagrantfileを書く
vagrantfile は仮想マシンの作成に使用されます。この設定ファイルを使用すると、手動で仮想マシンを作成する必要がなく、vagrant がこのファイルに基づいて自動的に仮想マシンを作成します。以下でこれを使用して、k8s-node1、k8s-node2、k8s-node3 という 3 つの仮想マシンを作成します。
Vagrant.configure("2") do |config|
# 遍历
(1..3).each do |i|
config.vm.define "k8s-node#{i}" do |node|
# 设置虚拟机的Box
node.vm.box = "centos/7"
# 设置虚拟机的主机名
node.vm.hostname="k8s-node#{i}"
# 设置虚拟机的IP 102 103 104
node.vm.network "private_network", ip: "192.168.56.#{101+i}", netmask: "255.255.255.0"
# 设置主机与虚拟机的共享目录
# node.vm.synced_folder "~/Documents/vagrant/share", "/home/vagrant/share"
# VirtaulBox相关配置
node.vm.provider "virtualbox" do |v|
# 设置虚拟机的名称
v.name = "k8s-node#{i}"
# 设置虚拟机的内存大小
v.memory = 4096
# 设置虚拟机的CPU个数
v.cpus = 4
end
end
end
end
注: このファイルはスペースを入れずに英語のディレクトリに配置する必要があります。
3. 仮想マシンを起動して構成する
- vagrantfile があるフォルダーで cmd を実行し、「vagrant up」と入力して Enter キーを押すと、仮想マシンのデプロイが自動的に開始されます。
- 仮想マシンがデプロイされるまで待ちます。
- 仮想マシンを入力して root パスワード アクセスを有効にします。この操作は、後で Xshell などのクライアント ツールを介して接続する際の便宜のためです。
先ほど CMD ウィンドウに vagrant ssh xxx xxx と入力して、次のようにホスト名を表します。
vagrant ssh k8s-node1
接続後に root ユーザーのパスワードに切り替えます: vagrant
su root
sshd_config ファイルを変更する
vi /etc/ssh/sshd_config
修改
PasswordAuthentication yes
sshdを再起動する
service sshd restart
3 つの仮想マシンすべてが再審査請求操作を実行する必要がある
- ネットワークを構成する
すべての仮想マシンを停止し、3 つのノードを選択して、[管理] - [グローバル設定] - [ネットワーク] [NAT ネットワークの追加] を選択します。
次に、各仮想マシンのネットワーク タイプを NAT ネットワークに変更します。そしてMACアドレスを再生成します。
注: 4 番目のステップでは、更新ボタンをクリックして MAC アドレスを再生成する必要があります。
3 つの仮想マシンの IP アドレスを確認し、eth0 の IP アドレスを確認します。3 つの仮想マシン eth0 の IP アドレスは異なります。
//k8s-node1
[root@k8s-node1 vagrant]# ip addr
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:bd:06:c8 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global noprefixroute dynamic eth0
valid_lft 358sec preferred_lft 358sec
inet6 fe80::a00:27ff:febd:6c8/64 scope link
//k8s-node2
[root@k8s-node2 ~]# ip addr
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:66:07:0d brd ff:ff:ff:ff:ff:ff
inet 10.0.2.4/24 brd 10.0.2.255 scope global noprefixroute dynamic eth0
valid_lft 435sec preferred_lft 435sec
inet6 fe80::a00:27ff:fe66:70d/64 scope link
valid_lft forever preferred_lft forever
//k8s-node3
[root@k8s-node3 ~]# ip addr
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:8e:d6:e6 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.5/24 brd 10.0.2.255 scope global noprefixroute dynamic eth0
valid_lft 445sec preferred_lft 445sec
inet6 fe80::a00:27ff:fe8e:d6e6/64 scope link
valid_lft forever preferred_lft forever
- Linux 環境をセットアップします (3 つの仮想マシンをすべて実行する必要があります)
ファイアウォールをオフにする
systemctl ファイアウォールを停止します。
systemctl ファイアウォールを無効にします。
seLinuxを閉じる
sed -i 's/enforcing/disabled/' /etc/selinux/config
setenforce 0
クローズスワップ
swapoff -a #sed -ri 's/.*swap.*/#&/' /etc/fstabを一時的に閉じます#free -gを
永続的に閉じます#検証、swapは0である必要があります
- ホストレコードを追加
vi /etc/hosts
10.0.2.15 k8s-node1
10.0.2.4 k8s-node2
10.0.2.5 k8s-node3
注: IP アドレスは独自の eth0 アドレスである必要があります。
ブリッジされた IPV4 トラフィックを iptables チェーンに渡します。
cat > /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
アプリが有効になります
sysctl --system
ヒント: 上記の操作を行った後、将来の問題や再構成を防ぐために、仮想マシン イメージをバックアップできます。
2.kubesphereのデプロイ
1. ノード割り当て(単一マスターノード)
ノードIP | ホスト名 | 役割 |
---|---|---|
10.0.2.15 | k8s-node1 | マスター、etcd |
10.0.2.4 |
k8s-node2 | ノード |
10.0.2.5 |
k8s-node3 | ノード |
役割がマスターであるノードはマスターノードであり、特定のビジネスは展開されず、管理のみが行われます。
役割がノードであるノードは稼働ノードであり、特定のビジネスはこのノードにデプロイされます。
公式地図:
2. 必要なツールをインストールします (3 つの仮想マシンすべてで実行)
- 「curl」と入力してcurlがインストールされているかどうかを確認し、インストールされていない場合はcurlをインストールします
上記の内容が返された場合は、curl がインストールされています。それ以外の場合は、次のように入力します。
yum install -y curl
- socatをインストールする
yum install -y socat
- conntrackをインストールする
yum install -y conntrack
root ユーザーに切り替える
現地時間を確認し、タイムゾーンが UTC であることを確認します。
timedatectl
- タイムゾーンを上海に切り替える
timedatectl set-timezone Asia/Shanghai
タイムゾーンをもう一度確認するとCSTになります
- 時刻同期ツールのインストール
yum install -y chrony
時刻同期リストの表示
chronyc -n sources -v
現時点では変更せず、デフォルトの時刻同期リストを使用してください。
現地時間の同期ステータスを表示する
chronyc tracking
ローカル時間をチェックして、仮想マシンの時間が 3 日間一貫していることを確認します。
timedatectl status
- kubesphere インストール ツールをダウンロードします (マスター ノードによって実行されます)。
curl -sfL https://get-kk.kubesphere.io | VERSION=v1.1.1 sh -
注: 上記のコマンドを実行すると、KubeKey の最新バージョン (v1.1.1) がダウンロードされます。コマンド内のバージョン番号を変更して、指定したバージョンをダウンロードできます。
注: ダウンロードが失敗した場合は、まずexport KKZONE=cnを実行してから、上記のコマンドを実行してください。
- 実行可能権限を追加するには
kk
:
chmod +x kk
3. クラスターの作成(マスターノードで実行)
- 設定ファイルを作成する
./kk create config [--with-kubernetes version] [--with-kubesphere version] [(-f | --file) path]
例:./kk create config --with-kubernetes v1.18.6 --with-kubesphere v3.1.1
KubeSphere v3.1.1 をインストールするために推奨される Kubernetes バージョン: v1.17.9、v1.18.8、v1.19.8、および v1.20.4。Kubernetes バージョンを指定しない場合、KubeKey はデフォルトで Kubernetes v1.19.8 をインストールします。サポートされる Kubernetes バージョンの詳細については、サポート マトリックスを参照してください。
このステップでコマンドにフラグを追加しない場合
--with-kubesphere
、KubeSphere はデプロイされず、構成ファイル内のフィールドを使用してのみインストールできますaddons
。または、./kk create cluster
後でコマンドを使用するときにこのフラグを再度追加します。KubeSphere のバージョンを指定せずにフラグを追加すると
--with-kubesphere
、最新バージョンの KubeSphere がインストールされます。
完了すると、構成テンプレートが生成されたことがわかります。
- 自マシンの実際の状況に応じて、関連するノードの内容を設定します
- 1 つのコマンドで kubesphere をインストールする
./kk create cluster -f config-sample.yaml
config-sample.yaml
注: 別の名前を使用する場合は、上記を独自のファイルに 変更する必要があります 。
コンピュータとネットワーク環境によっては、インストール プロセス全体に 10 ~ 20 分かかる場合があります。
- インストールを完了する
#####################################################
### Welcome to KubeSphere! ###
#####################################################
Console: http://192.168.0.2:30880
Account: admin
Password: P@88w0rd
NOTES:
1. After you log into the console, please check the
monitoring status of service components in
the "Cluster Management". If any service is not
ready, please wait patiently until all components
are up and running.
2. Please change the default password after login.
#####################################################
https://kubesphere.io 20xx-xx-xx xx:xx:xx
#####################################################
- すべてのコンポーネントが正常にインストールされているかどうか、およびすべてのステータスが実行中または完了であるかどうかを確認します。
kubectl get pod --all-namespaces
これで、 <NodeIP:30880
デフォルトのアカウントとパスワード ( ) を使用して、 admin/P@88w0rd
KubeSphere の Web コンソールにアクセスできるようになりました。
注: コンソールにアクセスするには、環境に応じてポート転送ルールの構成が必要な場合があります。また、セキュリティ グループでポートが開いていることも確認してください
30880
。