延續前一回的安裝話題,在 Disconnected OCP - 離線 OCP 叢集中,安裝與更新套件,是一個經典的場景。 由於無法直接從 registry.redhat.io
或 quay.io
抓取 Operator 或映像,必須要搭建私有 Quay registry 來解決離島的補給問題。
類似 Harbor https://goharbor.io/
還是 ECR 這種 https://aws.amazon.com/tw/ecr/
但是咧,業主就是有錢,買買買!通通擺進來不要那麼囉唆。
管理不費心,還不用什麼雲地網路串接,通通離線讓稽核人員不要找麻煩。
oc adm catalog mirror
可以把 Red Hat Operator Catalog(或自訂 Operator)整包抓下來,再推送到私有 Quay。
網管人員先在自己的聯網設備上,把東西拉下來,再拖進機房裡面,擺到倉庫。
jq -c '.auths += {"quay.xxx.com": {"auth":"<base64-username:password>"}}' pull-secret.json > merged-pull-secret.json
oc adm catalog mirror \
registry.redhat.io/redhat/redhat-operator-index:v4.14 \
quay.xxx.com/olm/redhat-operator-index:v4.14 \
--registry-config=merged-pull-secret.json
apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource
metadata:
name: redhat-operators-disconnected
namespace: openshift-marketplace
spec:
sourceType: grpc
image: quay.xxx.com/olm/redhat-operator-index:v4.14
displayName: "Red Hat Operators (Disconnected)"
publisher: quay.xxx.com
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
name: servicemeshoperator
namespace: openshift-operators
spec:
channel: stable
name: servicemeshoperator
source: redhat-operators-disconnected
sourceNamespace: openshift-marketplace
oc adm catalog mirror
會抓下整個 Catalog,體積可能非常大,若只需要特定 Operator,可以改用 oc mirror plugin
搭配 imageSetConfig 精準選取。