OKD 4 : インストール #12022/04/19 |
|
Red Hat OpenShift 4 のアップストリーム、OKD 4 のインストールです。
当例では以下のような環境を例に OKD 4 クラスターを構成します。
--------------+----------------+-----------------+--------------
|10.0.0.25 | |10.0.0.24
+-------------+-------------+ | +--------------+-------------+
| [mgr.okd4.srv.world] | | | [bootstrap.okd4.srv.world] |
| Manager Node | | | Bootstrap Node |
| DNS | | | |
| Nginx | | | |
+---------------------------+ | +----------------------------+
|
--------------+----------------+-----------------+--------------
|10.0.0.40 | |10.0.0.41
+-------------+-------------+ | +--------------+-------------+
| [master-0.okd4.srv.world] | | | [master-1.okd4.srv.world] |
| Control Plane#1 | | | Control Plane#2 |
| | | | |
| | | | |
+---------------------------+ | +----------------------------+
|
--------------+----------------+
|10.0.0.42
+-------------+-------------+
| [master-2.okd4.srv.world] |
| Control Plane#3 |
| |
| |
+---------------------------+
|
構築にあたっては、下記が最小のシステム要件となっています。(公式ドキュメントより)* Bootstrap ノード ⇒ 4 CPU, 16 GB RAM, 100 GB Storage, Fedora CoreOS * Control Plane ノード ⇒ 4 CPU, 16 GB RAM, 100 GB Storage, Fedora CoreOS * Compute ノード ⇒ 2 CPU, 8 GB RAM, 100 GB Storage, Fedora CoreOS |
|
|
* Bootstrap ノードはクラスター構築時のみ必要なノードとなります。
|
|
|
まず最初に Manager ノードを設定します。
|
|
| [1] | |
| [2] | |
| [3] | Manager ノードで、クラスター内で必要な DNS 設定を Dnsmasq に適用しておきます。 |
|
[root@mgr ~]#
vi /etc/dnsmasq.conf # 80行目 : 追記 # apps.(任意のクラスター名).(ドメイン名)/IP アドレス # [*.apps.okd4.srv.world] は全て [10.0.0.25] とする address=/apps.okd4.srv.world/10.0.0.25 # 145行目 : ドメイン名を追記 domain=okd4.srv.world
[root@mgr ~]#
vi /etc/hosts
# [api], [api-int], [bootstrap] の名前は固定
# [master-0] はそれぞれのノードのホスト名
# [etcd-0], [_etcd-server-ssl._tcp] は [master-0] の別名で名前は固定
# Control Plane を増やす場合 : [etcd-(n)]
# ⇒ (IP アドレス) (ホスト名) etcd-1 _etcd-server-ssl._tcp
10.0.0.24 bootstrap
10.0.0.25 api api-int
10.0.0.40 master-0 etcd-0 _etcd-server-ssl._tcp
10.0.0.41 master-1 etcd-1 _etcd-server-ssl._tcp
10.0.0.42 master-2 etcd-2 _etcd-server-ssl._tcp
[root@mgr ~]#
systemctl restart dnsmasq
# DNS 設定変更 # デバイス名や IP アドレス等は自身の環境に置き換え [root@mgr ~]# DNS=$(nmcli device show enp1s0 | grep ^IP4.DNS | awk '{print $2}') [root@mgr ~]# nmcli connection modify enp1s0 ipv4.dns "10.0.0.25 $DNS" [root@mgr ~]# nmcli connection modify enp1s0 ipv4.dns-search "okd4.srv.world" [root@mgr ~]# nmcli connection up enp1s0 |
| [4] | Manager ノードで、クラスター内で必要な設定を Nginx に適用しておきます。 |
|
[root@mgr ~]#
dnf -y install nginx-mod-stream
[root@mgr ~]#
vi /etc/nginx/nginx.conf
server {
# 39行目 : 待ち受けポート変更
listen 8080 default_server;
listen [::]:8080 default_server;
# 最終行に追記
stream {
upstream k8s-api {
server 10.0.0.24:6443;
server 10.0.0.40:6443;
server 10.0.0.41:6443;
server 10.0.0.42:6443;
}
upstream machine-config {
server 10.0.0.24:22623;
server 10.0.0.40:22623;
server 10.0.0.41:22623;
server 10.0.0.42:22623;
}
upstream ingress-http {
server 10.0.0.40:80;
server 10.0.0.41:80;
server 10.0.0.42:80;
}
upstream ingress-https {
server 10.0.0.40:443;
server 10.0.0.41:443;
server 10.0.0.42:443;
}
upstream ingress-health {
server 10.0.0.40:1936;
server 10.0.0.41:1936;
server 10.0.0.42:1936;
}
server {
listen 6443;
proxy_pass k8s-api;
}
server {
listen 22623;
proxy_pass machine-config;
}
server {
listen 80;
proxy_pass ingress-http;
}
server {
listen 443;
proxy_pass ingress-https;
}
server {
listen 1936;
proxy_pass ingress-health;
}
}
[root@mgr ~]# systemctl restart nginx |
| [5] | SELinux を有効にしている場合は、ポリシーの変更が必要です。 |
|
[root@mgr ~]# setsebool -P httpd_can_network_connect on [root@mgr ~]# setsebool -P httpd_graceful_shutdown on [root@mgr ~]# setsebool -P httpd_can_network_relay on [root@mgr ~]# setsebool -P nis_enabled on [root@mgr ~]# semanage port -a -t http_port_t -p tcp 6443 [root@mgr ~]# semanage port -a -t http_port_t -p tcp 22623 [root@mgr ~]# semanage port -a -t http_port_t -p tcp 1936 |
| [6] | Firewalld を有効にしている場合は、サービスポートの許可が必要です。 |
|
[root@mgr ~]# firewall-cmd --add-service={dns,http,https} success [root@mgr ~]# firewall-cmd --add-port={6443/tcp,22623/tcp,1936/tcp,8080/tcp} success [root@mgr ~]# firewall-cmd --runtime-to-permanent success |
| Sponsored Link |
|
|