在IBM云的经典基础架构上使用Red Hat OpenShift: 使用安全组控制对外部的访问

首先

在Classic Infrastructure上的Red Hat OpenShift on IBM Cloud(ROKS)中,正如上面所述,L4负载均衡器是通过NLB Pod(ibm-cloud-provider-ip-<IP地址>-xxxxxxxx)实现的,因此外部访问会直接经过worker node上的NLB Pod。

image.png

我在本文中确认了NLB Pod分配的IP地址实际上是分配给工作节点上的eth1接口的公用可移动IP地址,因此在安全组中应该能够进行通信控制。

另外,由于NLB Pod将直接从外部进行访问,因此结合Calico的安全功能也是有效的选择,IBM Cloud文档中介绍了该方法(参考)。考虑到影响范围并不限于eth1全体,而只限于NLB Pod,这被认为是一个有力的选择。

2. 在使用安全组时需要注意的事项

    • アプリケーションごとに制限することが難しい(eth1への一括適用になる)

 

    • security groupを初回適用するためにはcustomer portalからの再起動が必要になる。

 

    • 新たなworker nodeが追加される度に適用作業が必要である。

 

    • アクセス許可の制御漏れに注意。少なくとも以下のアクセス許可は必要だと思われる。

ノード間のVRRP
CISからのヘルスチェック

3. 应用程序准备

[root@syasudacentos7 ~]# oc new-app --docker-image=nginx:latest
[root@syasudacentos7 ~]# oc expose svc nginx
[root@syasudacentos7 ~]# oc get routes
NAME    HOST/PORT                                                                                                     PATH   SERVICES   PORT     TERMINATION   WILDCARD
nginx   nginx-default.xxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-0000.jp-tok.containers.appdomain.cloud          nginx      80-tcp                 None

4. 在应用安全组之前进行访问确认

[root@syasudacentos7 ~]# curl -I http://nginx-default.xxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-0000.jp-tok.containers.appdomain.cloud
HTTP/1.1 200 OK
server: nginx/1.25.1
date: Mon, 14 Aug 2023 00:20:13 GMT
content-type: text/html
content-length: 615
last-modified: Tue, 13 Jun 2023 15:08:10 GMT
etag: "6488865a-267"
accept-ranges: bytes
set-cookie: 3bc5f7a8aec67b74b33e81d956f57cb9=c3d3e037efd05ebc09dfdb4c6919f5c1; path=/; HttpOnly
cache-control: private
syasuda@ShinobunoMacBook-Pro ~ % curl -I http://nginx-default.xxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-0000.jp-tok.containers.appdomain.cloud
HTTP/1.1 200 OK
server: nginx/1.25.1
date: Mon, 14 Aug 2023 00:20:29 GMT
content-type: text/html
content-length: 615
last-modified: Tue, 13 Jun 2023 15:08:10 GMT
etag: "6488865a-267"
accept-ranges: bytes
set-cookie: 3bc5f7a8aec67b74b33e81d956f57cb9=c3d3e037efd05ebc09dfdb4c6919f5c1; path=/; HttpOnly
cache-control: private

5. 应用安全组

创建安全组

image.png

将安全组应用到工作节点的VSI上。

image.png

5-3. 修改安全组。

image.png

6. 确认对安全组应用后的访问情况

[root@syasudacentos7 ~]# curl -I http://nginx-default.xxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-0000.jp-tok.containers.appdomain.cloud
(応答なし)
syasuda@ShinobunoMacBook-Pro ~ % curl -I http://nginx-default.xxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-0000.jp-tok.containers.appdomain.cloud
HTTP/1.1 200 OK
server: nginx/1.25.1
date: Mon, 14 Aug 2023 00:35:43 GMT
content-type: text/html
content-length: 615
last-modified: Tue, 13 Jun 2023 15:08:10 GMT
etag: "6488865a-267"
accept-ranges: bytes
set-cookie: 3bc5f7a8aec67b74b33e81d956f57cb9=49a05c8390329603b2121331038518e4; path=/; HttpOnly
cache-control: private
广告
将在 10 秒后关闭
bannerAds