{"id":43525,"date":"2023-01-14T08:00:00","date_gmt":"2023-08-16T07:04:12","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e7%ba%a2%e5%b8%bdcodeready-containersopenshift-4%e4%b8%8a%e5%90%af%e7%94%a8%e9%9b%86%e7%be%a4%e7%9b%91%e6%8e%a7%e5%b9%b6%e8%bf%9b%e8%a1%8c%e6%9e%84%e5%bb%ba%e3%80%82\/"},"modified":"2024-04-29T09:51:09","modified_gmt":"2024-04-29T01:51:09","slug":"%e5%9c%a8%e7%ba%a2%e5%b8%bdcodeready-containersopenshift-4%e4%b8%8a%e5%90%af%e7%94%a8%e9%9b%86%e7%be%a4%e7%9b%91%e6%8e%a7%e5%b9%b6%e8%bf%9b%e8%a1%8c%e6%9e%84%e5%bb%ba%e3%80%82","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e7%ba%a2%e5%b8%bdcodeready-containersopenshift-4%e4%b8%8a%e5%90%af%e7%94%a8%e9%9b%86%e7%be%a4%e7%9b%91%e6%8e%a7%e5%b9%b6%e8%bf%9b%e8%a1%8c%e6%9e%84%e5%bb%ba%e3%80%82\/","title":{"rendered":"\u5728\u7ea2\u5e3dCodeReady Containers(OpenShift 4)\u4e0a\u542f\u7528\u96c6\u7fa4\u76d1\u63a7\u5e76\u8fdb\u884c\u6784\u5efa"},"content":{"rendered":"<h1>\u9996\u5148<br \/>\n\u6700\u521d<br \/>\n\u5f00\u5934<br \/>\n\u9996\u8981<br \/>\n\u4e00\u5f00\u59cb<\/h1>\n<p>\u5728\u5b66\u4e60OpenShift\u671f\u95f4\uff0c\u6211\u8fdb\u884c\u4e86\u4e00\u4e9b\u8c03\u7814\uff0c\u5e76\u5c06\u6211\u8ba4\u4e3a\u6709\u5fc5\u8981\u4fdd\u5b58\u4e0b\u6765\u7684\u5185\u5bb9\u5199\u6210\u4e86\u4e00\u7bc7\u6587\u7ae0\u3002<br \/>\n\u5c3d\u7ba1&#8221;CodeReady Containers&#8221;\u9ed8\u8ba4\u60c5\u51b5\u4e0b\u7981\u7528\u4e86\u96c6\u7fa4\u76d1\u63a7\u529f\u80fd\uff08prometheus\u3001alertmanager\u3001grafana\u3001kube-state-metrics\u3001node-exporter\uff09\uff0c\u4f46\u6211\u6839\u636e&#8221;Getting Started Guide&#8221;\u7684\u53c2\u8003\u4fe1\u606f\u5c06\u5176\u542f\u7528\u4e86\u3002<br \/>\n\u6b64\u5916\uff0c\u6211\u8fd8\u5728\u5c1d\u8bd5\u5206\u914d\u6301\u4e45\u6027\u5b58\u50a8\u3002<\/p>\n<h1>\u73af\u5883<\/h1>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">macOS Big Sur v11.2.3<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">CodeReady Containers v1.23.1 (OpenShift 4.7)<\/ul>\n<h1>\u64cd\u4f5c\u6b65\u9aa4<\/h1>\n<p>\u6bcf\u6b21\u90fd\u8ba9\u4eba\u611f\u5230\u7591\u60d1\uff0c\u4f46\u662f\u4ece\u8bbe\u7f6e\u5f00\u59cb\uff0c\u8fdb\u5165\u914d\u7f6e\u3002\uff08\u8bb0\u597d\u4e86\uff0c\u81ea\u5df1\uff09<\/p>\n<p>\u8bbe\u7f6e\u540e\uff0c\u4f1a\u8be2\u95ee\u662f\u5426\u533f\u540d\u53d1\u9001\u4f7f\u7528\u60c5\u51b5\uff0c\u4f46\u7531\u4e8e\u6211\u4eec\u7684\u73af\u5883\u8d44\u6e90\u6709\u9650\uff0c\u6027\u80fd\u5e76\u4e0d\u597d\uff0c\u6240\u4ee5\u9009\u62e9&#8221;N&#8221;\u3002\u203b\u5f88\u62b1\u6b49\u65e0\u6cd5\u63d0\u4f9b\u5e2e\u52a9\u3002<br \/>\n\u53e6\u5916\uff0c\u5728\u7b2c\u4e00\u6b21\u8bbe\u7f6e\u65f6\uff0c\u4f1a\u5728\u4e2d\u9014\u8fdb\u884c\u56fe\u50cf\u7684\u4e0b\u8f7d\u548c\u5b89\u88c5\uff0c\u4f1a\u8981\u6c42\u8f93\u5165MacOS\u7684\u5bc6\u7801\u3002<\/p>\n<pre class=\"post-pre\"><code>% .\/crc setup\r\nCodeReady Containers is constantly improving and we would like to know more about usage (more details at https:\/\/developers.redhat.com\/article\/tool-data-collection)\r\nYour preference can be changed manually if desired using 'crc config set consent-telemetry &lt;yes\/no&gt;'\r\nWould you like to contribute anonymous usage statistics? [y\/N]: N\r\nNo worry, you can still enable telemetry manually with the command 'crc config set consent-telemetry yes'.\r\nINFO Checking if running as non-root              \r\nINFO Checking if podman remote executable is cached \r\nINFO Checking if admin-helper executable is cached \r\nINFO Caching admin-helper executable              \r\nINFO Using root access: Changing ownership of \/Users\/haomei\/.crc\/bin\/admin-helper-darwin \r\nPassword:\r\nINFO Using root access: Setting suid for \/Users\/haomei\/.crc\/bin\/admin-helper-darwin \r\nINFO Checking minimum RAM requirements            \r\nINFO Checking if HyperKit is installed            \r\nINFO Setting up virtualization with HyperKit      \r\nINFO Using root access: Changing ownership of \/Users\/haomei\/.crc\/bin\/hyperkit \r\nINFO Using root access: Setting suid for \/Users\/haomei\/.crc\/bin\/hyperkit \r\nINFO Checking if crc-driver-hyperkit is installed \r\nINFO Installing crc-machine-hyperkit              \r\nINFO Using root access: Changing ownership of \/Users\/haomei\/.crc\/bin\/crc-driver-hyperkit \r\nINFO Using root access: Setting suid for \/Users\/haomei\/.crc\/bin\/crc-driver-hyperkit \r\nINFO Checking file permissions for \/etc\/hosts     \r\nINFO Checking file permissions for \/etc\/resolver\/testing \r\nINFO Checking if CRC bundle is extracted in '$HOME\/.crc' \r\nINFO Checking if \/Users\/haomei\/.crc\/cache\/crc_hyperkit_4.7.0.crcbundle exists \r\nINFO Extracting bundle from the CRC executable    \r\nINFO Ensuring directory \/Users\/haomei\/.crc\/cache exists \r\nINFO Extracting embedded bundle crc_hyperkit_4.7.0.crcbundle to \/Users\/haomei\/.crc\/cache \r\nINFO Uncompressing crc_hyperkit_4.7.0.crcbundle   \r\ncrc.qcow2: 9.97 GiB \/ 9.97 GiB [-------------------------------------------------------------------------------------------------------------------------------------------] 100.00%\r\nSetup is complete, you can now run 'crc start' to start the OpenShift cluster\r\n<\/code><\/pre>\n<p>\u4e0b\u4e00\u4e2a\u662f\u914d\u7f6e\u3002\u5728CRC\u4e2d\uff0c\u9ed8\u8ba4\u53ef\u7528\u5185\u5b58\u503c\u4e3a9GB\uff089216MiB\uff09\uff0c\u4f46\u8981\u542f\u7528\u96c6\u7fa4\u76d1\u89c6\uff0c\u5efa\u8bae\u4f7f\u752814GiB\uff0814336MiB\uff09\u6216\u66f4\u9ad8\u7684\u5185\u5b58\u3002<\/p>\n<pre class=\"post-pre\"><code>% .\/crc config set memory 16384\r\nChanges to configuration property 'memory' are only applied when the CRC instance is started.\r\nIf you already have a running CRC instance, then for this configuration change to take effect, stop the CRC instance with 'crc stop' and restart it with 'crc start'.\r\n<\/code><\/pre>\n<p>\u7531\u4e8e\u53d8\u5f97\u66f4\u52a0\u65b9\u4fbf\uff0c\u73b0\u5728\u4e5f\u53ef\u4ee5\u901a\u8fc7config\u547d\u4ee4\u6709\u6548\u5730\u8fdb\u884c\u96c6\u7fa4\u76d1\u63a7\u3002\u8fd9\u8ba9\u4eba\u611f\u5230\u975e\u5e38\u9ad8\u5174\u3002<\/p>\n<pre class=\"post-pre\"><code>% .\/crc config set enable-cluster-monitoring true\r\nSuccessfully configured enable-cluster-monitoring to true\r\n<\/code><\/pre>\n<p>\u53ef\u4ee5\u4f7f\u7528config view\u547d\u4ee4\u6765\u67e5\u770b\u5df2\u8bbe\u5b9a\u7684config\u5217\u8868\u3002<\/p>\n<pre class=\"post-pre\"><code>% .\/crc config view                              \r\n- consent-telemetry                     : no\r\n- enable-cluster-monitoring             : true\r\n- memory                                : 16384\r\n<\/code><\/pre>\n<p>\u53ea\u9700\u5728\u201cstart\u201d\u547d\u4ee4\u4e2d\u542f\u52a8\u5373\u53ef\u3002<br \/>\n\u521d\u6b21\u542f\u52a8\u65f6\u9700\u8981\u4f7f\u7528\u201c-p\u201d\u9009\u9879\u6307\u5b9apull secret\u3002<br \/>\n\u8bf7\u4e8b\u5148\u4ece\u5f00\u53d1\u8005\u7f51\u7ad9\u4e0b\u8f7d\u5e76\u4fdd\u5b58\u597d\u81ea\u5df1\u7684\u201cpull-secret.txt\u201d\u6587\u4ef6\u3002<\/p>\n<pre class=\"post-pre\"><code>% .\/crc start -p ..\/pull-secret.txt \r\nINFO Checking if running as non-root              \r\nINFO Checking if podman remote executable is cached \r\nINFO Checking if admin-helper executable is cached \r\nINFO Checking minimum RAM requirements            \r\nINFO Checking if HyperKit is installed            \r\nINFO Checking if crc-driver-hyperkit is installed \r\nINFO Checking file permissions for \/etc\/hosts     \r\nINFO Checking file permissions for \/etc\/resolver\/testing \r\nINFO Loading bundle: crc_hyperkit_4.7.0.crcbundle ... \r\nINFO Creating CodeReady Containers VM for OpenShift 4.7.0... \r\nINFO CodeReady Containers VM is running           \r\nINFO Generating new SSH Key pair ...              \r\nINFO Updating authorized keys ...                 \r\nINFO Copying kubeconfig file to instance dir ...  \r\nINFO Starting network time synchronization in CodeReady Containers VM \r\nINFO Network restart not needed                   \r\nINFO Check internal and public DNS query ...      \r\nINFO Check DNS query from host ...                \r\nINFO Adding user's pull secret to instance disk... \r\nINFO Verifying validity of the kubelet certificates ... \r\nINFO Starting OpenShift kubelet service           \r\nINFO Waiting for kube-apiserver availability... [takes around 2min] \r\nINFO Adding user's pull secret to the cluster ... \r\nINFO Updating cluster ID ...                      \r\nINFO Enabling cluster monitoring operator...      \r\nINFO Starting OpenShift cluster ... [waiting for the cluster to stabilize] \r\nINFO 6 operators are progressing: dns, image-registry, network, openshift-controller-manager, operator-lifecycle-manager-packageserver, service-ca \r\nINFO 6 operators are progressing: dns, image-registry, network, openshift-controller-manager, operator-lifecycle-manager-packageserver, service-ca \r\nINFO 6 operators are progressing: dns, image-registry, network, openshift-controller-manager, operator-lifecycle-manager-packageserver, service-ca \r\nINFO 3 operators are progressing: image-registry, openshift-controller-manager, service-ca \r\nINFO 4 operators are progressing: image-registry, monitoring, openshift-controller-manager, service-ca \r\nINFO 2 operators are progressing: console, monitoring \r\nINFO 2 operators are progressing: monitoring, openshift-controller-manager \r\nINFO 2 operators are progressing: kube-apiserver, openshift-controller-manager \r\nINFO 2 operators are progressing: kube-apiserver, openshift-controller-manager \r\nINFO Operator kube-apiserver is progressing       \r\nINFO 2 operators are progressing: kube-apiserver, operator-lifecycle-manager-packageserver \r\nINFO 3 operators are progressing: kube-apiserver, monitoring, operator-lifecycle-manager-packageserver \r\nINFO 2 operators are progressing: kube-apiserver, monitoring \r\nINFO All operators are available. Ensuring stability ... \r\nINFO Operators are stable (2\/3) ...               \r\nINFO Operators are stable (3\/3) ...               \r\nINFO Updating kubeconfig                          \r\nWARN The cluster might report a degraded or error state. This is expected since several operators have been disabled to lower the resource usage. For more information, please consult the documentation \r\nStarted the OpenShift cluster.\r\n\r\nThe server is accessible via web console at:\r\n  https:\/\/console-openshift-console.apps-crc.testing\r\n\r\nLog in as administrator:\r\n  Username: kubeadmin\r\n  Password: T3sJD-jjueE-2BnHe-ftNBw\r\n\r\nLog in as user:\r\n  Username: developer\r\n  Password: developer\r\n\r\nUse the 'oc' command line interface:\r\n  $ eval $(crc oc-env)\r\n  $ oc login -u developer https:\/\/api.crc.testing:6443\r\n<\/code><\/pre>\n<p>\u914d\u7f6e\u73af\u5883\uff0c\u4ee5\u4fbf\u80fd\u4f7f\u7528oc\u547d\u4ee4\u3002<\/p>\n<pre class=\"post-pre\"><code>% eval $(.\/crc oc-env)\r\n<\/code><\/pre>\n<p>\u6211\u5c06\u4f7f\u7528 kubeadmin \u8fdb\u884c\u767b\u5f55\u3002<\/p>\n<pre class=\"post-pre\"><code>% oc login -u kubeadmin -p T3sJD-jjueE-2BnHe-ftNBw https:\/\/api.crc.testing:6443\r\nLogin successful.\r\n\r\nYou have access to 61 projects, the list has been suppressed. You can list all projects with 'oc projects'\r\n\r\nUsing project \"default\".\r\n<\/code><\/pre>\n<p>OpenShift\u96c6\u7fa4\u76d1\u63a7\u4f1a\u90e8\u7f72\u5728\u201copenshift-monitoring\u201d\u9879\u76ee\uff08\u547d\u540d\u7a7a\u95f4\uff09\u4e2d\u3002<\/p>\n<pre class=\"post-pre\"><code>% oc get pods -n openshift-monitoring\r\nNAME                                           READY   STATUS    RESTARTS   AGE\r\nalertmanager-main-0                            5\/5     Running   0          11m\r\nalertmanager-main-1                            5\/5     Running   0          11m\r\nalertmanager-main-2                            5\/5     Running   0          11m\r\ncluster-monitoring-operator-686555c948-chw9v   2\/2     Running   4          12m\r\ngrafana-6f4d96d7fd-kp2dt                       2\/2     Running   0          11m\r\nkube-state-metrics-749954d685-sjslc            3\/3     Running   0          11m\r\nnode-exporter-jfxw4                            2\/2     Running   0          11m\r\nopenshift-state-metrics-587d97bb47-tsnpd       3\/3     Running   0          11m\r\nprometheus-adapter-664dfbdf7b-frrnw            1\/1     Running   0          10m\r\nprometheus-adapter-664dfbdf7b-wkshz            1\/1     Running   0          10m\r\nprometheus-k8s-0                               7\/7     Running   1          11m\r\nprometheus-k8s-1                               7\/7     Running   1          11m\r\nprometheus-operator-658ccb589c-686cf           2\/2     Running   1          11m\r\ntelemeter-client-599864d5f-h6xjp               3\/3     Running   0          11m\r\nthanos-querier-665b8bc578-8bj8q                5\/5     Running   0          11m\r\nthanos-querier-665b8bc578-cmfqx                5\/5     Running   0          11m\r\n\r\n<\/code><\/pre>\n<h1>\u786e\u8ba4\u52a8\u4f5c<\/h1>\n<p>\u5982\u679c\u8981\u6309\u8282\u70b9\u5355\u4f4d\u5f15\u7528\u6307\u6807\uff0c\u5219\u5e94\u6267\u884c&#8221;oc adm top node&#8221;\u3002<\/p>\n<pre class=\"post-pre\"><code>% oc adm top nodes\r\nNAME                 CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%   \r\ncrc-l6qvn-master-0   1397m        34%    10494Mi         65%\r\n<\/code><\/pre>\n<p>\u6267\u884c\u547d\u4ee4&#8221;oc adm top pod&#8221;\u6765\u83b7\u5f97\u4ee5Pod\u4e3a\u5355\u4f4d\u7684\u6307\u6807\u3002<\/p>\n<pre class=\"post-pre\"><code>% oc adm top pods -n openshift-monitoring\r\nNAME                                           CPU(cores)   MEMORY(bytes)   \r\nalertmanager-main-0                            2m           73Mi            \r\nalertmanager-main-1                            1m           75Mi            \r\nalertmanager-main-2                            2m           78Mi            \r\ncluster-monitoring-operator-686555c948-chw9v   0m           64Mi            \r\ngrafana-6f4d96d7fd-kp2dt                       2m           50Mi            \r\nkube-state-metrics-749954d685-sjslc            0m           72Mi            \r\nnode-exporter-jfxw4                            18m          26Mi            \r\nopenshift-state-metrics-587d97bb47-tsnpd       0m           44Mi            \r\nprometheus-adapter-664dfbdf7b-frrnw            5m           38Mi            \r\nprometheus-adapter-664dfbdf7b-wkshz            2m           36Mi            \r\nprometheus-k8s-0                               37m          828Mi           \r\nprometheus-k8s-1                               41m          797Mi           \r\nprometheus-operator-658ccb589c-686cf           1m           135Mi           \r\ntelemeter-client-599864d5f-h6xjp               0m           47Mi            \r\nthanos-querier-665b8bc578-8bj8q                4m           74Mi            \r\nthanos-querier-665b8bc578-cmfqx                2m           84Mi  \r\n<\/code><\/pre>\n<p>\u5728Web\u63a7\u5236\u53f0\u4e0a\u8fdb\u884c\u786e\u8ba4\u3002\u4f7f\u7528crc\u547d\u4ee4\u5e76\u6307\u5b9a\u201cconsole\u201d\u9009\u9879\u6765\u6267\u884cWeb\u63a7\u5236\u53f0\u3002<\/p>\n<pre class=\"post-pre\"><code>% .\/crc console   \r\nOpening the OpenShift Web Console in the default browser...\r\n<\/code><\/pre>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d52fe37434c4406cce5fd\/29-0.png\" alt=\"\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8 2021-03-15 11.52.05.png\" \/><\/div>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d52fe37434c4406cce5fd\/30-2.png\" alt=\"\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8 2021-03-15 11.58.40.png\" \/><\/div>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d52fe37434c4406cce5fd\/31-0.png\" alt=\"\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8 2021-03-15 11.55.33.png\" \/><\/div>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d52fe37434c4406cce5fd\/32-0.png\" alt=\"\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8 2021-03-15 11.56.14.png\" \/><\/div>\n<h1>\u6c38\u4e45\u50a8\u5b58\u7a7a\u95f4\u7684\u5206\u914d<\/h1>\n<p>\u4ee5\u524d\u7684\u7248\u672c\u4e2d\uff0c\u6211\u8bb0\u5f97\u9ed8\u8ba4\u60c5\u51b5\u4e0b\u6709\u4e00\u4e2a\u52a8\u6001\u4f9b\u5e94\u5546\u6765\u63d0\u4f9b\u672c\u5730PV\uff0c\u4f46\u4e0d\u77e5\u4f55\u65f6\u6d88\u5931\u4e86\u3002\u7ecf\u8fc7\u4e00\u756a\u8c03\u67e5\uff0c\u6211\u5728\u4ee5\u4e0b\u7684wiki\u4e0a\u627e\u5230\u4e86\u89e3\u51b3\u65b9\u6cd5\uff1a<br \/>\nhttps:\/\/github.com\/code-ready\/crc\/wiki\/Dynamic-volume-provisioning<br \/>\n\u6211\u5c06\u90e8\u7f72\u8fd9\u4e2a&#8221;local-path-provisioner&#8221;\u90e8\u5206\u3002<br \/>\n\u76f4\u63a5\u590d\u5236\u7c98\u8d34\u5c31\u53ef\u4ee5\u4e86\u3002<\/p>\n<pre class=\"post-pre\"><code>% oc new-project local-path-storage\r\n% oc create serviceaccount local-path-provisioner-service-account -n local-path-storage\r\n% oc adm policy add-scc-to-user hostaccess -z local-path-provisioner-service-account -n local-path-storage\r\n% cat &lt;&lt;EOF | oc apply -f -\r\napiVersion: rbac.authorization.k8s.io\/v1\r\nkind: ClusterRole\r\nmetadata:\r\n  name: local-path-provisioner-role\r\nrules:\r\n- apiGroups: [\"\"]\r\n  resources: [\"nodes\", \"persistentvolumeclaims\"]\r\n  verbs: [\"get\", \"list\", \"watch\"]\r\n- apiGroups: [\"\"]\r\n  resources: [\"endpoints\", \"persistentvolumes\", \"pods\"]\r\n  verbs: [\"*\"]\r\n- apiGroups: [\"\"]\r\n  resources: [\"events\"]\r\n  verbs: [\"create\", \"patch\"]\r\n- apiGroups: [\"storage.k8s.io\"]\r\n  resources: [\"storageclasses\"]\r\n  verbs: [\"get\", \"list\", \"watch\"]\r\n---\r\napiVersion: rbac.authorization.k8s.io\/v1\r\nkind: ClusterRoleBinding\r\nmetadata:\r\n  name: local-path-provisioner-bind\r\nroleRef:\r\n  apiGroup: rbac.authorization.k8s.io\r\n  kind: ClusterRole\r\n  name: local-path-provisioner-role\r\nsubjects:\r\n- kind: ServiceAccount\r\n  name: local-path-provisioner-service-account\r\n  namespace: local-path-storage\r\n---\r\napiVersion: apps\/v1\r\nkind: Deployment\r\nmetadata:\r\n  name: local-path-provisioner\r\n  namespace: local-path-storage\r\nspec:\r\n  replicas: 1\r\n  selector:\r\n    matchLabels:\r\n      app: local-path-provisioner\r\n  template:\r\n    metadata:\r\n      labels:\r\n        app: local-path-provisioner\r\n    spec:\r\n      serviceAccountName: local-path-provisioner-service-account\r\n      containers:\r\n      - name: local-path-provisioner\r\n        image: rancher\/local-path-provisioner:v0.0.12\r\n        imagePullPolicy: IfNotPresent\r\n        command:\r\n        - local-path-provisioner\r\n        - --debug\r\n        - start\r\n        - --config\r\n        - \/etc\/config\/config.json\r\n        volumeMounts:\r\n        - name: config-volume\r\n          mountPath: \/etc\/config\/\r\n        env:\r\n        - name: POD_NAMESPACE\r\n          valueFrom:\r\n            fieldRef:\r\n              fieldPath: metadata.namespace\r\n      volumes:\r\n        - name: config-volume\r\n          configMap:\r\n            name: local-path-config\r\n---\r\napiVersion: storage.k8s.io\/v1\r\nkind: StorageClass\r\nmetadata:\r\n  name: local-path\r\nprovisioner: rancher.io\/local-path\r\nvolumeBindingMode: WaitForFirstConsumer\r\nreclaimPolicy: Delete\r\n---\r\nkind: ConfigMap\r\napiVersion: v1\r\nmetadata:\r\n  name: local-path-config\r\n  namespace: local-path-storage\r\ndata:\r\n  config.json: |-\r\n        {\r\n                \"nodePathMap\":[\r\n                {\r\n                        \"node\":\"DEFAULT_PATH_FOR_NON_LISTED_NODES\",\r\n                        \"paths\":[\"\/mnt\/pv-data\"]\r\n                }\r\n                ]\r\n        }\r\nEOF\r\n<\/code><\/pre>\n<p>\u8fd9\u6837\u4e00\u6765\uff0c\u5c31\u53ef\u4ee5\u4f7f\u7528\u540d\u4e3a\u201clocal-path\u201d\u7684StorageClass\u4e86\u3002<\/p>\n<p>\u63a5\u4e0b\u6765\uff0c\u5728\u96c6\u7fa4\u76d1\u63a7\u7684configmap\u4e2d\u8fdb\u884c\u5b58\u50a8\u8bbe\u7f6e\u3002<br \/>\n\u9996\u5148\uff0c\u7531\u4e8econfigmap\u672c\u8eab\u4e0d\u5b58\u5728\uff0c\u6211\u4eec\u9700\u8981\u521b\u5efa\u5b83\u3002\u5b83\u7684\u540d\u79f0\u662f\u201ccluster-monitoring-config\u201d\u3002<\/p>\n<pre class=\"post-pre\"><code>% oc create configmap cluster-monitoring-config -n openshift-monitoring\r\nconfigmap\/cluster-monitoring-config created\r\n<\/code><\/pre>\n<p>\u4e00\u65e6\u5b8c\u6210\uff0c\u5c31\u6703\u9032\u884c\u7de8\u8f2f\u3002<\/p>\n<pre class=\"post-pre\"><code>% oc edit configmap cluster-monitoring-config -n openshift-monitoring\r\n<\/code><\/pre>\n<p>\u5728vi\u7f16\u8f91\u5668\u4e2d\u5207\u6362\u5230yaml\u7f16\u8f91\u6a21\u5f0f\uff0c\u7136\u540e\u6dfb\u52a0\u5305\u542b&#8221;data:&#8221;\u884c\u53ca\u5176\u540e\u7eed\u8bbe\u7f6e\u3002<br \/>\n\u8bbe\u7f6eprometheus\u7684\u6570\u636e\u4fdd\u7559\u671f\u4e3a&#8221;retention: 24h&#8221;\u3002\u8bf7\u6839\u636e\u5b58\u50a8\u5bb9\u91cf\u8fdb\u884c\u8c03\u6574\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"c1\"># Please edit the object below. Lines beginning with a '#' will be ignored,<\/span>\r\n<span class=\"c1\"># and an empty file will abort the edit. If an error occurs while saving this file will be<\/span>\r\n<span class=\"c1\"># reopened with the relevant failures.<\/span>\r\n<span class=\"c1\">#<\/span>\r\n<span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">v1<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">ConfigMap<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">creationTimestamp<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">2021-03-15T06:31:08Z\"<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">cluster-monitoring-config<\/span>\r\n  <span class=\"na\">namespace<\/span><span class=\"pi\">:<\/span> <span class=\"s\">openshift-monitoring<\/span>\r\n  <span class=\"na\">resourceVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">53959\"<\/span>\r\n  <span class=\"na\">selfLink<\/span><span class=\"pi\">:<\/span> <span class=\"s\">\/api\/v1\/namespaces\/openshift-monitoring\/configmaps\/cluster-monitoring-config<\/span>\r\n  <span class=\"na\">uid<\/span><span class=\"pi\">:<\/span> <span class=\"s\">755425ba-c5b7-48bd-a29f-d375cd29a694<\/span>\r\n<span class=\"na\">data<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"s\">config.yaml<\/span><span class=\"pi\">:<\/span> <span class=\"pi\">|<\/span>\r\n    <span class=\"s\">prometheusK8s:<\/span>\r\n      <span class=\"s\">volumeClaimTemplate:<\/span>\r\n        <span class=\"s\">spec:<\/span>\r\n          <span class=\"s\">storageClassName: local-path<\/span>\r\n          <span class=\"s\">resources:<\/span>\r\n            <span class=\"s\">requests:<\/span>\r\n              <span class=\"s\">storage: 40Gi<\/span>\r\n      <span class=\"s\">retention: 24h<\/span>\r\n    <span class=\"s\">alertmanagerMain:<\/span>\r\n      <span class=\"s\">volumeClaimTemplate:<\/span>\r\n        <span class=\"s\">spec:<\/span>\r\n          <span class=\"s\">storageClassName: local-path<\/span>\r\n          <span class=\"s\">resources:<\/span>\r\n            <span class=\"s\">requests:<\/span>\r\n              <span class=\"s\">storage: 40Gi<\/span>\r\n<\/code><\/pre>\n<p>\u5f53\u60a8\u4f7f\u7528\u300c:wq\u300d\u8fdb\u884c\u4fdd\u5b58\u65f6\uff0c\u5c06\u4f1a\u8f93\u51fa\u7f16\u8f91\u5b8c\u6210\u7684\u6d88\u606f\u3002<\/p>\n<pre class=\"post-pre\"><code>configmap\/cluster-monitoring-config edited\r\n<\/code><\/pre>\n<p>\u914d\u7f6e\u6216\u7f16\u8f91configmap\u4f1a\u6839\u636e\u5185\u5bb9\u91cd\u65b0\u542f\u52a8prometheus\u548calertmanager\u3002<\/p>\n<pre class=\"post-pre\"><code>% oc get pod -n openshift-monitoring -w\r\nNAME                                         READY   STATUS    RESTARTS   AGE\r\nalertmanager-main-0                           5\/5     Running   0          31m\r\nalertmanager-main-1                           5\/5     Running   0          31m\r\nalertmanager-main-2                           5\/5     Running   0          31m\r\ncluster-monitoring-operator-686555c948-g7frt  2\/2     Running   4          32m\r\ngrafana-6f4d96d7fd-6bz9x                      2\/2     Running   0          32m\r\nkube-state-metrics-749954d685-2rj98           3\/3     Running   0          32m\r\nnode-exporter-qf9kt                           2\/2     Running   0          32m\r\nopenshift-state-metrics-587d97bb47-tv9qm      3\/3     Running   0          32m\r\nprometheus-adapter-78f4dff485-b97lk           1\/1     Running   0          30m\r\nprometheus-adapter-78f4dff485-ctjr2           1\/1     Running   0          30m\r\nprometheus-k8s-0                              7\/7     Running   1          31m\r\nprometheus-k8s-1                              7\/7     Running   1          31m\r\nprometheus-operator-658ccb589c-zkhjs          2\/2     Running   1          32m\r\ntelemeter-client-5c9f466b48-2qfw5             3\/3     Running   0          32m\r\nthanos-querier-74f6ff8cd6-bmkzg               5\/5     Running   0          32m\r\nthanos-querier-74f6ff8cd6-djm75               5\/5     Running   0          32m\r\nalertmanager-main-0                           5\/5     Terminating   0          30m  \u2190alertmanager\u306e\u505c\u6b62\u51e6\u7406\u958b\u59cb\r\nalertmanager-main-1                           5\/5     Terminating   0          30m\r\n            :\r\nprometheus-k8s-0                              7\/7     Terminating         1          30m\u3000\u2190prometheus\u306e\u505c\u6b62\u51e6\u7406\u958b\u59cb\r\nprometheus-k8s-1                              7\/7     Terminating         1          30m\r\n            :\r\nalertmanager-main-0                           5\/5     Running             0          8s\u3000\u2190alertmanager\u306e\u8d77\u52d5\u5b8c\u4e86\r\nalertmanager-main-1                           5\/5     Running             0          7s\r\nalertmanager-main-2                           5\/5     Running             0          7s\r\n            :\r\nprometheus-k8s-1                              7\/7     Running             1          9s\u3000\u2190prometheus\u306e\u8d77\u52d5\u5b8c\u4e86\r\nprometheus-k8s-0                              7\/7     Running             1          12s\r\n<\/code><\/pre>\n<p>\u6211\u5c06\u786e\u8ba4PVC\u548cPV\u662f\u5426\u5df2\u6b63\u786e\u5206\u914d\u3002<\/p>\n<pre class=\"post-pre\"><code>% oc get pvc -n openshift-monitoring   \r\nNAME                                       STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE\r\nalertmanager-main-db-alertmanager-main-0   Bound    pvc-96694b93-ec7a-4c10-b80c-6880f3104d70   40Gi       RWO            local-path     17m\r\nalertmanager-main-db-alertmanager-main-1   Bound    pvc-130939d0-5a1d-4eac-8a9d-c0b3dfb5a1b1   40Gi       RWO            local-path     17m\r\nalertmanager-main-db-alertmanager-main-2   Bound    pvc-c27a7084-ef29-4429-8aee-1f3bd8d843f8   40Gi       RWO            local-path     17m\r\nprometheus-k8s-db-prometheus-k8s-0         Bound    pvc-250c335f-ec8a-43e1-8f21-af5ac8635016   40Gi       RWO            local-path     3m30s\r\nprometheus-k8s-db-prometheus-k8s-1         Bound    pvc-df236008-9d14-4acc-b1f4-7fd9ab9feeee   40Gi       RWO            local-path     3m29s\r\n% oc get pv | grep openshift-monitoring\r\npvc-130939d0-5a1d-4eac-8a9d-c0b3dfb5a1b1   40Gi       RWO            Delete           Bound       openshift-monitoring\/alertmanager-main-db-alertmanager-main-1   local-path              17m\r\npvc-250c335f-ec8a-43e1-8f21-af5ac8635016   40Gi       RWO            Delete           Bound       openshift-monitoring\/prometheus-k8s-db-prometheus-k8s-0         local-path              3m57s\r\npvc-96694b93-ec7a-4c10-b80c-6880f3104d70   40Gi       RWO            Delete           Bound       openshift-monitoring\/alertmanager-main-db-alertmanager-main-0   local-path              17m\r\npvc-c27a7084-ef29-4429-8aee-1f3bd8d843f8   40Gi       RWO            Delete           Bound       openshift-monitoring\/alertmanager-main-db-alertmanager-main-2   local-path              17m\r\npvc-df236008-9d14-4acc-b1f4-7fd9ab9feeee   40Gi       RWO            Delete           Bound       openshift-monitoring\/prometheus-k8s-db-prometheus-k8s-1         local-path              3m57s\r\n<\/code><\/pre>\n<h1>\u6700\u540e<\/h1>\n<p>\u6211\u53c2\u8003\u7684\u6587\u4ef6\u5982\u4e0b\u3002<\/p>\n<p>\u25a0\u300aRed Hat CodeReady Containers 1.23\u300b\u4ea7\u54c1\u6587\u4ef6<br \/>\nhttps:\/\/access.redhat.com\/documentation\/zh-cn\/red_hat_codeready_containers\/1.23\/html-single\/getting_started_guide\/index<\/p>\n<p>\u25a0code-ready.github.io\u7684\u300c\u5feb\u901f\u5165\u95e8\u6307\u5357\u300d<br \/>\nhttps:\/\/code-ready.github.io\/crc\/<\/p>\n<p>\u25a0Red Hat OpenShift 4.7\u7684\u4ea7\u54c1\u6587\u6863 &#8211; \u914d\u7f6e\u96c6\u7fa4\u76d1\u63a7\u7684\u6301\u4e45\u5316\u5b58\u50a8\u8bbe\u7f6e<br \/>\nhttps:\/\/access.redhat.com\/documentation\/ja-jp\/openshift_container_platform\/4.7\/html-single\/monitoring\/index#configuring-persistent-storage<\/p>\n<p>\u25a0 \u6211\u8fd9\u6b21\u53c2\u8003\u7684\u6587\u7ae0\u662f CRC \u7684 Wiki \u4e2d\u7684\u300c\u52a8\u6001\u5377\u914d\u989d\u300d\uff0c\u94fe\u63a5\u5982\u4e0b\uff1a<br \/>\nhttps:\/\/github.com\/code-ready\/crc\/wiki<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u9996\u5148 \u6700\u521d \u5f00\u5934 \u9996\u8981 \u4e00\u5f00\u59cb \u5728\u5b66\u4e60OpenShift\u671f\u95f4\uff0c\u6211\u8fdb\u884c\u4e86\u4e00\u4e9b\u8c03\u7814\uff0c\u5e76\u5c06\u6211\u8ba4\u4e3a\u6709\u5fc5\u8981\u4fdd\u5b58\u4e0b\u6765\u7684\u5185\u5bb9 [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-43525","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u5728\u7ea2\u5e3dCodeReady Containers(OpenShift 4)\u4e0a\u542f\u7528\u96c6\u7fa4\u76d1\u63a7\u5e76\u8fdb\u884c\u6784\u5efa - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/\u5728\u7ea2\u5e3dcodeready-containersopenshift-4\u4e0a\u542f\u7528\u96c6\u7fa4\u76d1\u63a7\u5e76\u8fdb\u884c\u6784\u5efa\u3002\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u5728\u7ea2\u5e3dCodeReady Containers(OpenShift 4)\u4e0a\u542f\u7528\u96c6\u7fa4\u76d1\u63a7\u5e76\u8fdb\u884c\u6784\u5efa\" \/>\n<meta property=\"og:description\" content=\"\u9996\u5148 \u6700\u521d \u5f00\u5934 \u9996\u8981 \u4e00\u5f00\u59cb \u5728\u5b66\u4e60OpenShift\u671f\u95f4\uff0c\u6211\u8fdb\u884c\u4e86\u4e00\u4e9b\u8c03\u7814\uff0c\u5e76\u5c06\u6211\u8ba4\u4e3a\u6709\u5fc5\u8981\u4fdd\u5b58\u4e0b\u6765\u7684\u5185\u5bb9 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u5728\u7ea2\u5e3dcodeready-containersopenshift-4\u4e0a\u542f\u7528\u96c6\u7fa4\u76d1\u63a7\u5e76\u8fdb\u884c\u6784\u5efa\u3002\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-08-16T07:04:12+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-29T01:51:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d52fe37434c4406cce5fd\/29-0.png\" \/>\n<meta name=\"author\" content=\"\u6587, \u7fd4\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u6587, \u7fd4\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e7%ba%a2%e5%b8%bdcodeready-containersopenshift-4%e4%b8%8a%e5%90%af%e7%94%a8%e9%9b%86%e7%be%a4%e7%9b%91%e6%8e%a7%e5%b9%b6%e8%bf%9b%e8%a1%8c%e6%9e%84%e5%bb%ba%e3%80%82\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e7%ba%a2%e5%b8%bdcodeready-containersopenshift-4%e4%b8%8a%e5%90%af%e7%94%a8%e9%9b%86%e7%be%a4%e7%9b%91%e6%8e%a7%e5%b9%b6%e8%bf%9b%e8%a1%8c%e6%9e%84%e5%bb%ba%e3%80%82\/\",\"name\":\"\u5728\u7ea2\u5e3dCodeReady Containers(OpenShift 4)\u4e0a\u542f\u7528\u96c6\u7fa4\u76d1\u63a7\u5e76\u8fdb\u884c\u6784\u5efa - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-08-16T07:04:12+00:00\",\"dateModified\":\"2024-04-29T01:51:09+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/64d5cc7727fffbff2f9a2a8da1de3e5c\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e7%ba%a2%e5%b8%bdcodeready-containersopenshift-4%e4%b8%8a%e5%90%af%e7%94%a8%e9%9b%86%e7%be%a4%e7%9b%91%e6%8e%a7%e5%b9%b6%e8%bf%9b%e8%a1%8c%e6%9e%84%e5%bb%ba%e3%80%82\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e7%ba%a2%e5%b8%bdcodeready-containersopenshift-4%e4%b8%8a%e5%90%af%e7%94%a8%e9%9b%86%e7%be%a4%e7%9b%91%e6%8e%a7%e5%b9%b6%e8%bf%9b%e8%a1%8c%e6%9e%84%e5%bb%ba%e3%80%82\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e7%ba%a2%e5%b8%bdcodeready-containersopenshift-4%e4%b8%8a%e5%90%af%e7%94%a8%e9%9b%86%e7%be%a4%e7%9b%91%e6%8e%a7%e5%b9%b6%e8%bf%9b%e8%a1%8c%e6%9e%84%e5%bb%ba%e3%80%82\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u5728\u7ea2\u5e3dCodeReady Containers(OpenShift 4)\u4e0a\u542f\u7528\u96c6\u7fa4\u76d1\u63a7\u5e76\u8fdb\u884c\u6784\u5efa\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/64d5cc7727fffbff2f9a2a8da1de3e5c\",\"name\":\"\u6587, \u7fd4\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/920c3d673e0bccacc98e5e6b7149bb3c22edd8d39cb753e5d7d7e471498118a1?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/920c3d673e0bccacc98e5e6b7149bb3c22edd8d39cb753e5d7d7e471498118a1?s=96&d=mm&r=g\",\"caption\":\"\u6587, \u7fd4\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/wenxiang\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e7%ba%a2%e5%b8%bdcodeready-containersopenshift-4%e4%b8%8a%e5%90%af%e7%94%a8%e9%9b%86%e7%be%a4%e7%9b%91%e6%8e%a7%e5%b9%b6%e8%bf%9b%e8%a1%8c%e6%9e%84%e5%bb%ba%e3%80%82\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u5728\u7ea2\u5e3dCodeReady Containers(OpenShift 4)\u4e0a\u542f\u7528\u96c6\u7fa4\u76d1\u63a7\u5e76\u8fdb\u884c\u6784\u5efa - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/zh\/blog\/\u5728\u7ea2\u5e3dcodeready-containersopenshift-4\u4e0a\u542f\u7528\u96c6\u7fa4\u76d1\u63a7\u5e76\u8fdb\u884c\u6784\u5efa\u3002\/","og_locale":"zh_CN","og_type":"article","og_title":"\u5728\u7ea2\u5e3dCodeReady Containers(OpenShift 4)\u4e0a\u542f\u7528\u96c6\u7fa4\u76d1\u63a7\u5e76\u8fdb\u884c\u6784\u5efa","og_description":"\u9996\u5148 \u6700\u521d \u5f00\u5934 \u9996\u8981 \u4e00\u5f00\u59cb \u5728\u5b66\u4e60OpenShift\u671f\u95f4\uff0c\u6211\u8fdb\u884c\u4e86\u4e00\u4e9b\u8c03\u7814\uff0c\u5e76\u5c06\u6211\u8ba4\u4e3a\u6709\u5fc5\u8981\u4fdd\u5b58\u4e0b\u6765\u7684\u5185\u5bb9 [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u5728\u7ea2\u5e3dcodeready-containersopenshift-4\u4e0a\u542f\u7528\u96c6\u7fa4\u76d1\u63a7\u5e76\u8fdb\u884c\u6784\u5efa\u3002\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-08-16T07:04:12+00:00","article_modified_time":"2024-04-29T01:51:09+00:00","og_image":[{"url":"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d52fe37434c4406cce5fd\/29-0.png"}],"author":"\u6587, \u7fd4","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u6587, \u7fd4","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"9 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e7%ba%a2%e5%b8%bdcodeready-containersopenshift-4%e4%b8%8a%e5%90%af%e7%94%a8%e9%9b%86%e7%be%a4%e7%9b%91%e6%8e%a7%e5%b9%b6%e8%bf%9b%e8%a1%8c%e6%9e%84%e5%bb%ba%e3%80%82\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e7%ba%a2%e5%b8%bdcodeready-containersopenshift-4%e4%b8%8a%e5%90%af%e7%94%a8%e9%9b%86%e7%be%a4%e7%9b%91%e6%8e%a7%e5%b9%b6%e8%bf%9b%e8%a1%8c%e6%9e%84%e5%bb%ba%e3%80%82\/","name":"\u5728\u7ea2\u5e3dCodeReady Containers(OpenShift 4)\u4e0a\u542f\u7528\u96c6\u7fa4\u76d1\u63a7\u5e76\u8fdb\u884c\u6784\u5efa - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-08-16T07:04:12+00:00","dateModified":"2024-04-29T01:51:09+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/64d5cc7727fffbff2f9a2a8da1de3e5c"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e7%ba%a2%e5%b8%bdcodeready-containersopenshift-4%e4%b8%8a%e5%90%af%e7%94%a8%e9%9b%86%e7%be%a4%e7%9b%91%e6%8e%a7%e5%b9%b6%e8%bf%9b%e8%a1%8c%e6%9e%84%e5%bb%ba%e3%80%82\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e7%ba%a2%e5%b8%bdcodeready-containersopenshift-4%e4%b8%8a%e5%90%af%e7%94%a8%e9%9b%86%e7%be%a4%e7%9b%91%e6%8e%a7%e5%b9%b6%e8%bf%9b%e8%a1%8c%e6%9e%84%e5%bb%ba%e3%80%82\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e7%ba%a2%e5%b8%bdcodeready-containersopenshift-4%e4%b8%8a%e5%90%af%e7%94%a8%e9%9b%86%e7%be%a4%e7%9b%91%e6%8e%a7%e5%b9%b6%e8%bf%9b%e8%a1%8c%e6%9e%84%e5%bb%ba%e3%80%82\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u5728\u7ea2\u5e3dCodeReady Containers(OpenShift 4)\u4e0a\u542f\u7528\u96c6\u7fa4\u76d1\u63a7\u5e76\u8fdb\u884c\u6784\u5efa"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/64d5cc7727fffbff2f9a2a8da1de3e5c","name":"\u6587, \u7fd4","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/920c3d673e0bccacc98e5e6b7149bb3c22edd8d39cb753e5d7d7e471498118a1?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/920c3d673e0bccacc98e5e6b7149bb3c22edd8d39cb753e5d7d7e471498118a1?s=96&d=mm&r=g","caption":"\u6587, \u7fd4"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/wenxiang\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e7%ba%a2%e5%b8%bdcodeready-containersopenshift-4%e4%b8%8a%e5%90%af%e7%94%a8%e9%9b%86%e7%be%a4%e7%9b%91%e6%8e%a7%e5%b9%b6%e8%bf%9b%e8%a1%8c%e6%9e%84%e5%bb%ba%e3%80%82\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43525","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=43525"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43525\/revisions"}],"predecessor-version":[{"id":84552,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43525\/revisions\/84552"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=43525"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=43525"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=43525"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}