《OpenShift 4.x HOL教程汇总》
本文在 OpenShift4.12 + ACS 3.73.1 环境中进行验证。
文章目录
环境要求
OpenShift 4.9/OpenShift 4.10/OpenShift 4.11/OpenShift 4.12 集群
安装 RHACS Operator
- 在 OpenShift 控制台上的“管理员”视图中的“OperatorHub”中找到“Advanced Cluster Security”,然后点击进入。
- 在右侧滑出的页面中可以看到当前Operator版本是“3.73.1”,然后点击“安装”。
- 然后在 “安装 Operator” 页面中使用以下配置(注意:以下部分截图未更新,因此显示版本号非 3.73.1),然后点击“安装”。
- 在“安装的 Operator”页面中可以看到已经安装好的 “Advanced Cluster Security for Kubernetes”。
创建 RHACS 环境
创建 Central 实例
- 创建stackrox项目。
$ oc new-project stackrox
- 进入 “Advanced Cluster Security for Kubernetes” Operator,按照以下YAML创建一个名为“stackrox-central-services”的“Central”实例。说明:可以调整“scaling”中的数量。
apiVersion: platform.stackrox.io/v1alpha1
kind: Central
metadata:
name: stackrox-central-services
namespace: stackrox
spec:
central:
exposure:
loadBalancer:
enabled: false
port: 443
nodePort:
enabled: false
route:
enabled: true
persistence:
persistentVolumeClaim:
claimName: stackrox-db
egress:
connectivityPolicy: Online
scanner:
analyzer:
scaling:
autoScaling: Enabled
maxReplicas: 5
minReplicas: 2
replicas: 3
scannerComponent: Enabled
- 可以在 stackrox-central-services 中的 Resources 查看部署的资源。
- 执行命令获取 RHACS 的 admin 用户登录密码,或在控制台查看名为 central-htpasswd 的 secret 对象中 password 对应的密码。
$ oc get secret central-htpasswd -n stackrox -o go-template='{{index .data "password" | base64decode}}'
- 还可在控制台的“开发者”视图中进入“拓扑”查看运行的 Deployment。
说明:在部署的时候如果出现 LimitRange 冲突情况,只需删除导致冲突的 LimitRange 即可。另外如果存储一直处于 “pending” 状态,可以尝试手动创建 PV。
- 点击上图中右上 centeral 部署的 “打开 URI” 箭头,进入 ACS 控制台。然后用 admin 用户名和获得的密码登录 ACS 控制台。
将 OpenShift 集群注册到 RHACS
本步将运行 RHACS 的 OpenShift 集群注册到 RHACS 中。
获取 Authentication Token
- 进入 RHACS 控制台的 Integrations 菜单,可以看到当前已经针对“StackRox”、“docker”、“RedHat Quay.io”、“RedHat”有了配置。
- 进入 Integrations 页面最下方的 “cluster init bundle”。
- 点击进入“Generate bundle”,在提供 “demo-cluster”名称后点击 “Generate” 按钮。
- 在以下页面中点击 “Download Kubertes secrets file”,然后保存生成的 demo-cluster-cluster-init-secrets.yaml 文件。
- 执行命令,根据 demo-cluster-cluster-init-secrets.yaml 创建3个secret对象。
$ oc apply -f demo-cluster-cluster-init-secrets.yaml -n stackrox
secret/admission-control-tls created
secret/collector-tls created
secret/sensor-tls created
创建 Secured Cluster 实例
- 在 “Advanced Cluster Security for Kubernetes” Operator中按照以下YAML创建一个名为 “stackrox-secured-cluster-services” 的 “Secured Cluster” 实例。
apiVersion: platform.stackrox.io/v1alpha1
kind: SecuredCluster
metadata:
name: stackrox-secured-cluster-services
namespace: stackrox
spec:
admissionControl:
listenOnCreates: true
listenOnEvents: true
listenOnUpdates: true
clusterName: demo-cluster
perNode:
collector:
collection: KernelModule
imageFlavor: Regular
taintToleration: TolerateTaints
- 可以在 stackrox-secured-cluster-services 中的 Resources 查看部署的资源。
- 还可在控制台的“开发者”视图中进入“拓扑”查看运行的 Deployment,其中右侧是本节新部署的资源。
在 ACS 控制台查看 OpenShift 集群
- 在 RHACS 控制台中的 “Clusters” 中可以看到注册名为 demo-cluster 的 OpenShift 集群,它的组件状态为全部为绿色。
- 在 RHACS 控制台中的 “System Health” 查看集群组件状态,它的组件状态为全部为绿色。
- 同时在 RHACS 控制台中的 Dashboard 可以看到该 OpenShift 集群的安全情况。
参考
https://redhat-scholars.github.io/acs-workshop/acs-workshop/index.html
本文含有隐藏内容,请 开通VIP 后查看