{"id":43648,"date":"2024-03-12T14:18:39","date_gmt":"2024-02-29T04:42:51","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8power-systems%e8%99%9a%e6%8b%9f%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a%e5%ae%89%e8%a3%85openshift-4-7%ef%bc%88%e7%ac%ac5%e9%83%a8%e5%88%86%ef%bc%89%ef%bc%9a%e7%94%a8%e6%88%b7%e8%87%aa%e5%ae%9a\/"},"modified":"2025-07-30T03:36:27","modified_gmt":"2025-07-29T19:36:27","slug":"%e5%9c%a8power-systems%e8%99%9a%e6%8b%9f%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a%e5%ae%89%e8%a3%85openshift-4-7%ef%bc%88%e7%ac%ac5%e9%83%a8%e5%88%86%ef%bc%89%ef%bc%9a%e7%94%a8%e6%88%b7%e8%87%aa%e5%ae%9a","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8power-systems%e8%99%9a%e6%8b%9f%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a%e5%ae%89%e8%a3%85openshift-4-7%ef%bc%88%e7%ac%ac5%e9%83%a8%e5%88%86%ef%bc%89%ef%bc%9a%e7%94%a8%e6%88%b7%e8%87%aa%e5%ae%9a\/","title":{"rendered":"\u5728Power Systems\u865a\u62df\u670d\u52a1\u5668\u4e0a\u5b89\u88c5OpenShift 4.7\uff08\u7b2c5\u90e8\u5206\uff09\uff1a\u7528\u6237\u81ea\u5b9a\u4e49\u76d1\u63a7"},"content":{"rendered":"<h1>\u9996\u5148<\/h1>\n<p>\u5728\u8fd9\u7bc7\u6587\u7ae0\u4e2d\uff0c\u6211\u4eec\u901a\u8fc7Power Systems Virtual Server\uff08\u4ee5\u4e0b\u7b80\u79f0PowerVS\uff09\u5f15\u5165OpenShift 4.7\u540e\u7684\u64cd\u4f5c\u6765\u914d\u7f6e\u57fa\u7840\u8bbe\u65bd\u8282\u70b9\uff0c\u5e76\u542f\u7528\u7528\u6237\u5b9a\u4e49\u7684\u76d1\u63a7\u529f\u80fd\u3002\u672c\u6587\u5c06\u4ecb\u7ecd\u5982\u4f55\u6536\u96c6\u7528\u6237\u521b\u5efa\u9879\u76ee\u7684\u6307\u6807\u6570\u636e\u5e76\u8bbe\u7f6e\u8b66\u62a5\u89c4\u5219\u3002<\/p>\n<blockquote><p>\u5728OpenShift\u5bb9\u5668\u5e73\u53f04.7\u4e2d\uff0c\u7fa4\u96c6\u7ec4\u4ef6\u901a\u8fc7\u6536\u96c6\u516c\u5f00\u5728\u670d\u52a1\u7ec8\u7aef\u7684\u6307\u6807\u6765\u8fdb\u884c\u76d1\u89c6\u3002\u60a8\u8fd8\u53ef\u4ee5\u8bbe\u7f6e\u6536\u96c6\u7528\u6237\u5b9a\u4e49\u9879\u76ee\u6307\u6807\u3002<\/p><\/blockquote>\n<blockquote><p>\u60a8\u53ef\u4ee5\u4e3a\u81ea\u5b9a\u4e49\u9879\u76ee\u521b\u5efa\u8b66\u62a5\u89c4\u5219\u3002\u8fd9\u4e9b\u8b66\u62a5\u89c4\u5219\u5c06\u6839\u636e\u6240\u9009\u5ea6\u91cf\u7684\u503c\u6267\u884c\u8b66\u62a5\u3002<\/p><\/blockquote>\n<h1>1. \u6536\u96c6\u6307\u6807\u6570\u636e<\/h1>\n<h2>1.1. \u90e8\u7f72\u652f\u6301\u5ea6\u91cf\u6807\u51c6\u7684\u5bb9\u5668<\/h2>\n<p>\u6784\u5efa\u548c\u90e8\u7f72\u542f\u7528\u4e86\u7528\u6237\u5b9a\u4e49\u7684\u201cmpMetrics-3.0\u201d\u529f\u80fd\u7684Open Liberty\u3002<\/p>\n<pre class=\"post-pre\"><code>oc new-project open-liberty \r\noc new-build <span class=\"nt\">--name<\/span><span class=\"o\">=<\/span>open-liberty <span class=\"nt\">--strategy<\/span><span class=\"o\">=<\/span>docker <span class=\"nt\">--binary<\/span>\r\noc start-build open-liberty <span class=\"nt\">--from-dir<\/span><span class=\"o\">=<\/span><span class=\"nb\">.<\/span> <span class=\"nt\">--follow<\/span>\r\noc get is\r\n<span class=\"c\">### \u6a19\u6e96\u51fa\u529b\u2193<\/span>\r\nNAME           IMAGE REPOSITORY                                                             TAGS     UPDATED\r\nopen-liberty   image-registry.openshift-image-registry.svc:5000\/open-liberty\/open-liberty   latest   About a minute ago\r\n\r\noc apply <span class=\"nt\">-f<\/span> deployment.yaml\r\noc get pod\r\n<span class=\"c\">### \u6a19\u6e96\u51fa\u529b\u2193<\/span>\r\nNAME                            READY   STATUS      RESTARTS   AGE\r\nopen-liberty-1-build            0\/1     Completed   0          4m18s\r\nopen-liberty-76f55fbcf6-bgpms   1\/1     Running     0          22s\r\nopen-liberty-76f55fbcf6-p2f54   1\/1     Running     0          22s\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"k\">FROM<\/span><span class=\"s\"> openliberty\/open-liberty:21.0.0.4-full-java11-openj9-ubi<\/span>\r\n<span class=\"k\">COPY<\/span><span class=\"s\"> server.xml \/config\/<\/span>\r\n<span class=\"k\">EXPOSE<\/span><span class=\"s\"> 9080<\/span>\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"cp\">&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;<\/span>\r\n<span class=\"nt\">&lt;server<\/span> <span class=\"na\">description=<\/span><span class=\"s\">\"new server\"<\/span><span class=\"nt\">&gt;<\/span>\r\n\r\n    <span class=\"c\">&lt;!-- Enable features --&gt;<\/span>\r\n    <span class=\"nt\">&lt;featureManager&gt;<\/span>\r\n        <span class=\"nt\">&lt;feature&gt;<\/span>mpMetrics-3.0<span class=\"nt\">&lt;\/feature&gt;<\/span>\r\n    <span class=\"nt\">&lt;\/featureManager&gt;<\/span>\r\n\r\n    <span class=\"c\">&lt;!-- To access this server from a remote client add a host attribute to the following element, e.g. host=\"*\" --&gt;<\/span>\r\n    <span class=\"nt\">&lt;httpEndpoint<\/span> <span class=\"na\">id=<\/span><span class=\"s\">\"defaultHttpEndpoint\"<\/span>\r\n                  <span class=\"na\">host=<\/span><span class=\"s\">\"*\"<\/span>\r\n                  <span class=\"na\">httpPort=<\/span><span class=\"s\">\"9080\"<\/span>\r\n                  <span class=\"na\">accessLoggingRef=<\/span><span class=\"s\">\"accessLogging\"<\/span> <span class=\"nt\">\/&gt;<\/span>\r\n    <span class=\"nt\">&lt;httpAccessLogging<\/span> <span class=\"na\">id=<\/span><span class=\"s\">\"accessLogging\"<\/span> <span class=\"na\">filePath=<\/span><span class=\"s\">\"\/logs\/http_access.log\"<\/span><span class=\"nt\">\/&gt;<\/span>\r\n\r\n    <span class=\"c\">&lt;!-- Metrics configuration without security --&gt;<\/span>\r\n    <span class=\"nt\">&lt;mpMetrics<\/span> <span class=\"na\">authentication=<\/span><span class=\"s\">\"false\"<\/span><span class=\"nt\">\/&gt;<\/span>\r\n\r\n<span class=\"nt\">&lt;\/server&gt;<\/span>\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">apps\/v1<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Deployment<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">open-liberty<\/span>\r\n  <span class=\"na\">labels<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">app<\/span><span class=\"pi\">:<\/span> <span class=\"s\">open-liberty<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">serviceName<\/span><span class=\"pi\">:<\/span> <span class=\"s\">open-liberty<\/span>\r\n  <span class=\"na\">replicas<\/span><span class=\"pi\">:<\/span> <span class=\"m\">2<\/span>\r\n  <span class=\"na\">selector<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">matchLabels<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">app<\/span><span class=\"pi\">:<\/span> <span class=\"s\">open-liberty<\/span>\r\n  <span class=\"na\">template<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">labels<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"na\">app<\/span><span class=\"pi\">:<\/span> <span class=\"s\">open-liberty<\/span>\r\n    <span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">containers<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">open-liberty<\/span>\r\n          <span class=\"na\">image<\/span><span class=\"pi\">:<\/span> <span class=\"s\">image-registry.openshift-image-registry.svc:5000\/open-liberty\/open-liberty<\/span>\r\n          <span class=\"na\">ports<\/span><span class=\"pi\">:<\/span>\r\n            <span class=\"pi\">-<\/span> <span class=\"na\">containerPort<\/span><span class=\"pi\">:<\/span> <span class=\"m\">9080<\/span>\r\n<\/code><\/pre>\n<p>\u73b0\u5728\u53ef\u4ee5\u4ece\u90e8\u7f72\u7684open-liberty\u83b7\u53d6\u6307\u6807\u6570\u636e\u3002<\/p>\n<pre class=\"post-pre\"><code>oc logs open-liberty-76f55fbcf6-4rl8f\r\n<span class=\"c\">### \u6a19\u6e96\u51fa\u529b\u2193<\/span>\r\nLaunching defaultServer <span class=\"o\">(<\/span>Open Liberty 21.0.0.4\/wlp-1.0.51.cl210420210407-0944<span class=\"o\">)<\/span> on Eclipse OpenJ9 VM, version 11.0.11+9 <span class=\"o\">(<\/span>en_US<span class=\"o\">)<\/span>\r\n<span class=\"o\">[<\/span>AUDIT   <span class=\"o\">]<\/span> CWWKE0001I: The server defaultServer has been launched.\r\n<span class=\"o\">[<\/span>AUDIT   <span class=\"o\">]<\/span> CWWKG0093A: Processing configuration drop-ins resource: \/opt\/ol\/wlp\/usr\/servers\/defaultServer\/configDropins\/defaults\/keystore.xml\r\n<span class=\"o\">[<\/span>AUDIT   <span class=\"o\">]<\/span> CWWKG0093A: Processing configuration drop-ins resource: \/opt\/ol\/wlp\/usr\/servers\/defaultServer\/configDropins\/defaults\/open-default-port.xml\r\n<span class=\"o\">[<\/span>AUDIT   <span class=\"o\">]<\/span> CWWKZ0058I: Monitoring dropins <span class=\"k\">for <\/span>applications.\r\n<span class=\"o\">[<\/span>AUDIT   <span class=\"o\">]<\/span> CWWKS4104A: LTPA keys created <span class=\"k\">in <\/span>2.390 seconds. LTPA key file: \/opt\/ol\/wlp\/output\/defaultServer\/resources\/security\/ltpa.keys\r\n<span class=\"o\">[<\/span>AUDIT   <span class=\"o\">]<\/span> CWWKT0016I: Web application available <span class=\"o\">(<\/span>default_host<span class=\"o\">)<\/span>: http:\/\/open-liberty-76f55fbcf6-4rl8f:9080\/metrics\/\r\n<span class=\"o\">[<\/span>AUDIT   <span class=\"o\">]<\/span> CWWKT0016I: Web application available <span class=\"o\">(<\/span>default_host<span class=\"o\">)<\/span>: http:\/\/open-liberty-76f55fbcf6-4rl8f:9080\/ibm\/api\/\r\n<span class=\"o\">[<\/span>AUDIT   <span class=\"o\">]<\/span> CWWKF0012I: The server installed the following features: <span class=\"o\">[<\/span>json-1.0, monitor-1.0, mpConfig-2.0, mpMetrics-3.0].\r\n\uff65\uff65\uff65\r\n\r\noc rsh open-liberty-76f55fbcf6-4rl8f <span class=\"se\">\\<\/span>\r\n  curl http:\/\/open-liberty-76f55fbcf6-4rl8f:9080\/metrics\/ | <span class=\"nb\">grep<\/span> <span class=\"nt\">-v<\/span> <span class=\"s2\">\"^#\"<\/span>\r\n<span class=\"c\">### \u6a19\u6e96\u51fa\u529b\u2193<\/span>\r\nbase_gc_total<span class=\"o\">{<\/span><span class=\"nv\">name<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"global\"<\/span><span class=\"o\">}<\/span> 7\r\nbase_gc_total<span class=\"o\">{<\/span><span class=\"nv\">name<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"scavenge\"<\/span><span class=\"o\">}<\/span> 81\r\nbase_cpu_systemLoadAverage 0.2\r\nbase_classloader_loadedClasses_count 8107\r\nbase_thread_count 59\r\nbase_classloader_unloadedClasses_total 1\r\nbase_cpu_processCpuTime_seconds 48.408673\r\nbase_gc_time_seconds<span class=\"o\">{<\/span><span class=\"nv\">name<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"scavenge\"<\/span><span class=\"o\">}<\/span> 0.543\r\nbase_gc_time_seconds<span class=\"o\">{<\/span><span class=\"nv\">name<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"global\"<\/span><span class=\"o\">}<\/span> 0.231\r\nbase_jvm_uptime_seconds 289.746\r\nbase_memory_committedHeap_bytes 9.9418112E7\r\nbase_thread_max_count 66\r\nbase_classloader_loadedClasses_total 8108\r\nbase_cpu_availableProcessors 8\r\nbase_thread_daemon_count 55\r\nbase_memory_maxHeap_bytes 4.26377216E9\r\nbase_cpu_processCpuLoad_percent 0.0019186088524468436\r\nbase_memory_usedHeap_bytes 5.722572E7\r\nvendor_servlet_request_total<span class=\"o\">{<\/span><span class=\"nv\">servlet<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"io_openliberty_microprofile_metrics_internal_public_PublicMetricsRESTProxyServlet\"<\/span><span class=\"o\">}<\/span> 1\r\nvendor_session_invalidatedbyTimeout_total<span class=\"o\">{<\/span><span class=\"nv\">appname<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"default_host_metrics\"<\/span><span class=\"o\">}<\/span> 0\r\nvendor_threadpool_activeThreads<span class=\"o\">{<\/span><span class=\"nv\">pool<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"Default_Executor\"<\/span><span class=\"o\">}<\/span> 1\r\nvendor_session_liveSessions<span class=\"o\">{<\/span><span class=\"nv\">appname<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"default_host_metrics\"<\/span><span class=\"o\">}<\/span> 1\r\nvendor_threadpool_size<span class=\"o\">{<\/span><span class=\"nv\">pool<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"Default_Executor\"<\/span><span class=\"o\">}<\/span> 16\r\nvendor_servlet_responseTime_total_seconds<span class=\"o\">{<\/span><span class=\"nv\">servlet<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"io_openliberty_microprofile_metrics_internal_public_PublicMetricsRESTProxyServlet\"<\/span><span class=\"o\">}<\/span> 0.09025113500000001\r\nvendor_session_invalidated_total<span class=\"o\">{<\/span><span class=\"nv\">appname<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"default_host_metrics\"<\/span><span class=\"o\">}<\/span> 0\r\nvendor_session_create_total<span class=\"o\">{<\/span><span class=\"nv\">appname<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"default_host_metrics\"<\/span><span class=\"o\">}<\/span> 1\r\nvendor_session_activeSessions<span class=\"o\">{<\/span><span class=\"nv\">appname<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"default_host_metrics\"<\/span><span class=\"o\">}<\/span> 0\r\n<\/code><\/pre>\n<h2>1.2. \u670d\u52a1\u76d1\u63a7\u5668\u8bbe\u7f6e<\/h2>\n<p>\u4f7f\u7528OpenShift\u76d1\u63a7\u521b\u5efa\u670d\u52a1\u548c\u670d\u52a1\u76d1\u89c6\u5668\u4ee5\u6536\u96c6\u5ea6\u91cf\u3002<\/p>\n<pre class=\"post-pre\"><code>oc apply <span class=\"nt\">-f<\/span> service.yaml\r\noc apply <span class=\"nt\">-f<\/span> service-monitor.yaml\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><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\">Service<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">labels<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">app<\/span><span class=\"pi\">:<\/span> <span class=\"s\">open-liberty<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">open-liberty<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">ports<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"pi\">-<\/span> <span class=\"na\">protocol<\/span><span class=\"pi\">:<\/span> <span class=\"s\">TCP<\/span>\r\n      <span class=\"na\">port<\/span><span class=\"pi\">:<\/span> <span class=\"m\">9080<\/span>\r\n      <span class=\"na\">targetPort<\/span><span class=\"pi\">:<\/span> <span class=\"m\">9080<\/span>\r\n      <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">web<\/span>\r\n  <span class=\"na\">selector<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">app<\/span><span class=\"pi\">:<\/span> <span class=\"s\">open-liberty<\/span>\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">monitoring.coreos.com\/v1<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">ServiceMonitor<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">labels<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">k8s-app<\/span><span class=\"pi\">:<\/span> <span class=\"s\">open-liberty<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">open-liberty<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">endpoints<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"na\">interval<\/span><span class=\"pi\">:<\/span> <span class=\"s\">30s<\/span>\r\n    <span class=\"na\">port<\/span><span class=\"pi\">:<\/span> <span class=\"s\">web<\/span>\r\n    <span class=\"na\">scheme<\/span><span class=\"pi\">:<\/span> <span class=\"s\">http<\/span>\r\n  <span class=\"na\">selector<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">matchLabels<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">app<\/span><span class=\"pi\">:<\/span> <span class=\"s\">open-liberty<\/span>\r\n<\/code><\/pre>\n<p>Open Liberty\u5df2\u5f00\u59cb\u6536\u96c6\u6307\u6807\u3002\u8fde\u63a5\u6e90\u7684IP\u5730\u5740\u662f&#8221;prometheus-user-workload-0&#8243;\u548c&#8221;prometheus-user-workload-1&#8243;\u3002<\/p>\n<pre class=\"post-pre\"><code>oc rsh open-liberty-76f55fbcf6-4rl8f <span class=\"nb\">tail<\/span> <span class=\"nt\">-f<\/span> \/logs\/http_access.log\r\n<span class=\"c\">### \u6a19\u6e96\u51fa\u529b\u2193<\/span>\r\n10.131.0.41 - <span class=\"o\">[<\/span>22\/May\/2021:08:26:44 +0000] <span class=\"s2\">\"GET \/metrics HTTP\/1.1\"<\/span> 200 6890\r\n10.131.0.42 - <span class=\"o\">[<\/span>22\/May\/2021:08:27:06 +0000] <span class=\"s2\">\"GET \/metrics HTTP\/1.1\"<\/span> 200 6883\r\n10.131.0.41 - <span class=\"o\">[<\/span>22\/May\/2021:08:27:14 +0000] <span class=\"s2\">\"GET \/metrics HTTP\/1.1\"<\/span> 200 6873\r\n10.131.0.42 - <span class=\"o\">[<\/span>22\/May\/2021:08:27:36 +0000] <span class=\"s2\">\"GET \/metrics HTTP\/1.1\"<\/span> 200 6880\r\n\uff65\uff65\uff65\r\n\r\noc get pod <span class=\"nt\">-n<\/span> openshift-user-workload-monitoring <span class=\"nt\">-o<\/span> wide\r\n<span class=\"c\">### \u6a19\u6e96\u51fa\u529b\u2193<\/span>\r\nNAME                                   READY   STATUS    RESTARTS   AGE    IP             NODE       NOMINATED NODE   READINESS GATES\r\nprometheus-operator-54c8557d7d-524qv   2\/2     Running   0          6d8h   10.129.0.56    master-2   &lt;none&gt;           &lt;none&gt;\r\nprometheus-user-workload-0             5\/5     Running   0          6d8h   10.131.0.41    infra-2    &lt;none&gt;           &lt;none&gt;\r\nprometheus-user-workload-1             5\/5     Running   0          6d8h   10.131.0.42    infra-2    &lt;none&gt;           &lt;none&gt;\r\nthanos-ruler-user-workload-0           3\/3     Running   0          6d8h   10.129.2.146   infra-1    &lt;none&gt;           &lt;none&gt;\r\nthanos-ruler-user-workload-1           3\/3     Running   0          6d8h   10.128.2.22    infra-0    &lt;none&gt;           &lt;none&gt;\r\n<\/code><\/pre>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d539937434c4406cd0214\/22-0.png\" alt=\"metrics01.PNG\" \/><\/div>\n<h1>2. \u544a\u8b66\u89c4\u5219\u8bbe\u7f6e<\/h1>\n<h2>2.1. \u5236\u5b9a\u666e\u7f57\u7c73\u4fee\u65af\u89c4\u5219<\/h2>\n<p>\u4f7f\u7528Kubernetes\u6307\u6807\uff0c\u521b\u5efa\u57fa\u4e8ePrometheus\u89c4\u5219\u7684\u90e8\u7f72\u526f\u672c\u6570\u7684\u6761\u4ef6\u3002\u4e5f\u53ef\u4ee5\u6839\u636eOpen Liberty\u7684\u6307\u6807\u6765\u8bbe\u7f6e\u6761\u4ef6\u3002<\/p>\n<pre class=\"post-pre\"><code>oc apply <span class=\"nt\">-f<\/span> prometheus-rule.yaml\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">monitoring.coreos.com\/v1<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">PrometheusRule<\/span>\r\n<span class=\"na\">metadata<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">open-liberty-alert<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">groups<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">open-liberty<\/span>\r\n    <span class=\"na\">rules<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"pi\">-<\/span> <span class=\"na\">alert<\/span><span class=\"pi\">:<\/span> <span class=\"s\">OpenLibertyAlert<\/span>\r\n      <span class=\"na\">expr<\/span><span class=\"pi\">:<\/span> <span class=\"s\">kube_deployment_status_replicas_available{deployment=\"open-liberty\"} &lt; <\/span><span class=\"m\">2<\/span>\r\n      <span class=\"na\">for<\/span><span class=\"pi\">:<\/span> <span class=\"s\">1m<\/span>\r\n      <span class=\"na\">labels<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"na\">severity<\/span><span class=\"pi\">:<\/span> <span class=\"s\">critical<\/span>\r\n      <span class=\"na\">annotations<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"na\">summary<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Deployment open-liberty replicas &lt; <\/span><span class=\"m\">2<\/span>\r\n<\/code><\/pre>\n<h2>2.2. Prometheus\u89c4\u5219\u89e6\u53d1<\/h2>\n<p>\u4e3a\u4e86\u786e\u4fddPrometheus\u89c4\u5219\u7684\u6709\u6548\u6027\uff0c\u6211\u4eec\u5c06\u66f4\u6539\u526f\u672c\u6570\u91cf\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"c\"># \u30ec\u30d7\u30ea\u30ab\u6570\u5909\u66f4<\/span>\r\noc scale <span class=\"nt\">--replicas<\/span><span class=\"o\">=<\/span>1 deploy open-liberty\r\noc get pod\r\n<span class=\"c\">### \u6a19\u6e96\u51fa\u529b\u2193<\/span>\r\nNAME                    READY   STATUS    RESTARTS   AGE\r\nopen-liberty-76f55fbcf6-nq6cb   1\/1     Running     0          44m\r\n<\/code><\/pre>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d539937434c4406cd0214\/31-0.png\" alt=\"alert03.PNG\" \/><\/div>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d539937434c4406cd0214\/32-0.png\" alt=\"alert01.PNG\" \/><\/div>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d539937434c4406cd0214\/33-0.png\" alt=\"alert02.PNG\" \/><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u9996\u5148 \u5728\u8fd9\u7bc7\u6587\u7ae0\u4e2d\uff0c\u6211\u4eec\u901a\u8fc7Power Systems Virtual Server\uff08\u4ee5\u4e0b\u7b80\u79f0PowerVS\uff09 [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[138,132,143,141,133,142,16,53,140,136,4,137,34,135,134,50,83,51,11,131,52,130,139],"class_list":["post-43648","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-alert-management","tag-alert-rules","tag-application-monitoring","tag-cloud-computing","tag-container-metrics","tag-container-orchestration","tag-devops","tag-ibm","tag-ibm-power-systems","tag-infrastructure-monitoring","tag-kubernetes","tag-metrics-collection","tag-monitoring","tag-monitoring-tutorial","tag-open-liberty","tag-openshift","tag-performance-metrics","tag-power-systems","tag-prometheus","tag-service-monitor","tag-user-defined","tag-user-defined-monitoring","tag-virtual-servers"],"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>OpenShift 4.7 on Power Systems: Complete Guide to User-Defined Monitoring - Tutorial<\/title>\n<meta name=\"description\" content=\"Learn how to configure user-defined monitoring for OpenShift 4.7 on Power Systems virtual servers. This comprehensive tutorial covers collecting metrics from custom projects, setting up service monitors, creating Prometheus alert rules, and implementing effective monitoring strategies for your OpenShift applications. Discover step-by-step instructions for deploying Open Liberty with metrics, configuring service monitors, and setting up alert rules to gain deeper insights into your Kubernetes environment.\" \/>\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\/\u5728power-systems\u865a\u62df\u670d\u52a1\u5668\u4e0a\u5b89\u88c5openshift-4-7\uff08\u7b2c5\u90e8\u5206\uff09\uff1a\u7528\u6237\u81ea\u5b9a\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u5728Power Systems\u865a\u62df\u670d\u52a1\u5668\u4e0a\u5b89\u88c5OpenShift 4.7\uff08\u7b2c5\u90e8\u5206\uff09\uff1a\u7528\u6237\u81ea\u5b9a\u4e49\u76d1\u63a7\" \/>\n<meta property=\"og:description\" content=\"Learn how to configure user-defined monitoring for OpenShift 4.7 on Power Systems virtual servers. This comprehensive tutorial covers collecting metrics from custom projects, setting up service monitors, creating Prometheus alert rules, and implementing effective monitoring strategies for your OpenShift applications. Discover step-by-step instructions for deploying Open Liberty with metrics, configuring service monitors, and setting up alert rules to gain deeper insights into your Kubernetes environment.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u5728power-systems\u865a\u62df\u670d\u52a1\u5668\u4e0a\u5b89\u88c5openshift-4-7\uff08\u7b2c5\u90e8\u5206\uff09\uff1a\u7528\u6237\u81ea\u5b9a\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2024-02-29T04:42:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-29T19:36:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d539937434c4406cd0214\/22-0.png\" \/>\n<meta name=\"author\" content=\"\u96c5, \u609f\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u96c5, \u609f\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 \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%a8power-systems%e8%99%9a%e6%8b%9f%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a%e5%ae%89%e8%a3%85openshift-4-7%ef%bc%88%e7%ac%ac5%e9%83%a8%e5%88%86%ef%bc%89%ef%bc%9a%e7%94%a8%e6%88%b7%e8%87%aa%e5%ae%9a\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8power-systems%e8%99%9a%e6%8b%9f%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a%e5%ae%89%e8%a3%85openshift-4-7%ef%bc%88%e7%ac%ac5%e9%83%a8%e5%88%86%ef%bc%89%ef%bc%9a%e7%94%a8%e6%88%b7%e8%87%aa%e5%ae%9a\/\",\"name\":\"OpenShift 4.7 on Power Systems: Complete Guide to User-Defined Monitoring - Tutorial\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2024-02-29T04:42:51+00:00\",\"dateModified\":\"2025-07-29T19:36:27+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/f044a4b7fa4ee2701702942002419ca6\"},\"description\":\"Learn how to configure user-defined monitoring for OpenShift 4.7 on Power Systems virtual servers. This comprehensive tutorial covers collecting metrics from custom projects, setting up service monitors, creating Prometheus alert rules, and implementing effective monitoring strategies for your OpenShift applications. Discover step-by-step instructions for deploying Open Liberty with metrics, configuring service monitors, and setting up alert rules to gain deeper insights into your Kubernetes environment.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8power-systems%e8%99%9a%e6%8b%9f%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a%e5%ae%89%e8%a3%85openshift-4-7%ef%bc%88%e7%ac%ac5%e9%83%a8%e5%88%86%ef%bc%89%ef%bc%9a%e7%94%a8%e6%88%b7%e8%87%aa%e5%ae%9a\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8power-systems%e8%99%9a%e6%8b%9f%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a%e5%ae%89%e8%a3%85openshift-4-7%ef%bc%88%e7%ac%ac5%e9%83%a8%e5%88%86%ef%bc%89%ef%bc%9a%e7%94%a8%e6%88%b7%e8%87%aa%e5%ae%9a\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8power-systems%e8%99%9a%e6%8b%9f%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a%e5%ae%89%e8%a3%85openshift-4-7%ef%bc%88%e7%ac%ac5%e9%83%a8%e5%88%86%ef%bc%89%ef%bc%9a%e7%94%a8%e6%88%b7%e8%87%aa%e5%ae%9a\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u5728Power Systems\u865a\u62df\u670d\u52a1\u5668\u4e0a\u5b89\u88c5OpenShift 4.7\uff08\u7b2c5\u90e8\u5206\uff09\uff1a\u7528\u6237\u81ea\u5b9a\u4e49\u76d1\u63a7\"}]},{\"@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\/f044a4b7fa4ee2701702942002419ca6\",\"name\":\"\u96c5, \u609f\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/e71a913e914f1aad1efc391f92084294bac54bc782acd289638580134cf667a6?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/e71a913e914f1aad1efc391f92084294bac54bc782acd289638580134cf667a6?s=96&d=mm&r=g\",\"caption\":\"\u96c5, \u609f\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/yawu\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8power-systems%e8%99%9a%e6%8b%9f%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a%e5%ae%89%e8%a3%85openshift-4-7%ef%bc%88%e7%ac%ac5%e9%83%a8%e5%88%86%ef%bc%89%ef%bc%9a%e7%94%a8%e6%88%b7%e8%87%aa%e5%ae%9a\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"OpenShift 4.7 on Power Systems: Complete Guide to User-Defined Monitoring - Tutorial","description":"Learn how to configure user-defined monitoring for OpenShift 4.7 on Power Systems virtual servers. This comprehensive tutorial covers collecting metrics from custom projects, setting up service monitors, creating Prometheus alert rules, and implementing effective monitoring strategies for your OpenShift applications. Discover step-by-step instructions for deploying Open Liberty with metrics, configuring service monitors, and setting up alert rules to gain deeper insights into your Kubernetes environment.","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\/\u5728power-systems\u865a\u62df\u670d\u52a1\u5668\u4e0a\u5b89\u88c5openshift-4-7\uff08\u7b2c5\u90e8\u5206\uff09\uff1a\u7528\u6237\u81ea\u5b9a\/","og_locale":"zh_CN","og_type":"article","og_title":"\u5728Power Systems\u865a\u62df\u670d\u52a1\u5668\u4e0a\u5b89\u88c5OpenShift 4.7\uff08\u7b2c5\u90e8\u5206\uff09\uff1a\u7528\u6237\u81ea\u5b9a\u4e49\u76d1\u63a7","og_description":"Learn how to configure user-defined monitoring for OpenShift 4.7 on Power Systems virtual servers. This comprehensive tutorial covers collecting metrics from custom projects, setting up service monitors, creating Prometheus alert rules, and implementing effective monitoring strategies for your OpenShift applications. Discover step-by-step instructions for deploying Open Liberty with metrics, configuring service monitors, and setting up alert rules to gain deeper insights into your Kubernetes environment.","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u5728power-systems\u865a\u62df\u670d\u52a1\u5668\u4e0a\u5b89\u88c5openshift-4-7\uff08\u7b2c5\u90e8\u5206\uff09\uff1a\u7528\u6237\u81ea\u5b9a\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2024-02-29T04:42:51+00:00","article_modified_time":"2025-07-29T19:36:27+00:00","og_image":[{"url":"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d539937434c4406cd0214\/22-0.png"}],"author":"\u96c5, \u609f","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u96c5, \u609f","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"1 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8power-systems%e8%99%9a%e6%8b%9f%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a%e5%ae%89%e8%a3%85openshift-4-7%ef%bc%88%e7%ac%ac5%e9%83%a8%e5%88%86%ef%bc%89%ef%bc%9a%e7%94%a8%e6%88%b7%e8%87%aa%e5%ae%9a\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8power-systems%e8%99%9a%e6%8b%9f%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a%e5%ae%89%e8%a3%85openshift-4-7%ef%bc%88%e7%ac%ac5%e9%83%a8%e5%88%86%ef%bc%89%ef%bc%9a%e7%94%a8%e6%88%b7%e8%87%aa%e5%ae%9a\/","name":"OpenShift 4.7 on Power Systems: Complete Guide to User-Defined Monitoring - Tutorial","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2024-02-29T04:42:51+00:00","dateModified":"2025-07-29T19:36:27+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/f044a4b7fa4ee2701702942002419ca6"},"description":"Learn how to configure user-defined monitoring for OpenShift 4.7 on Power Systems virtual servers. This comprehensive tutorial covers collecting metrics from custom projects, setting up service monitors, creating Prometheus alert rules, and implementing effective monitoring strategies for your OpenShift applications. Discover step-by-step instructions for deploying Open Liberty with metrics, configuring service monitors, and setting up alert rules to gain deeper insights into your Kubernetes environment.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8power-systems%e8%99%9a%e6%8b%9f%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a%e5%ae%89%e8%a3%85openshift-4-7%ef%bc%88%e7%ac%ac5%e9%83%a8%e5%88%86%ef%bc%89%ef%bc%9a%e7%94%a8%e6%88%b7%e8%87%aa%e5%ae%9a\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8power-systems%e8%99%9a%e6%8b%9f%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a%e5%ae%89%e8%a3%85openshift-4-7%ef%bc%88%e7%ac%ac5%e9%83%a8%e5%88%86%ef%bc%89%ef%bc%9a%e7%94%a8%e6%88%b7%e8%87%aa%e5%ae%9a\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8power-systems%e8%99%9a%e6%8b%9f%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a%e5%ae%89%e8%a3%85openshift-4-7%ef%bc%88%e7%ac%ac5%e9%83%a8%e5%88%86%ef%bc%89%ef%bc%9a%e7%94%a8%e6%88%b7%e8%87%aa%e5%ae%9a\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u5728Power Systems\u865a\u62df\u670d\u52a1\u5668\u4e0a\u5b89\u88c5OpenShift 4.7\uff08\u7b2c5\u90e8\u5206\uff09\uff1a\u7528\u6237\u81ea\u5b9a\u4e49\u76d1\u63a7"}]},{"@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\/f044a4b7fa4ee2701702942002419ca6","name":"\u96c5, \u609f","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/e71a913e914f1aad1efc391f92084294bac54bc782acd289638580134cf667a6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e71a913e914f1aad1efc391f92084294bac54bc782acd289638580134cf667a6?s=96&d=mm&r=g","caption":"\u96c5, \u609f"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/yawu\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8power-systems%e8%99%9a%e6%8b%9f%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a%e5%ae%89%e8%a3%85openshift-4-7%ef%bc%88%e7%ac%ac5%e9%83%a8%e5%88%86%ef%bc%89%ef%bc%9a%e7%94%a8%e6%88%b7%e8%87%aa%e5%ae%9a\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43648","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\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=43648"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43648\/revisions"}],"predecessor-version":[{"id":109400,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43648\/revisions\/109400"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=43648"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=43648"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=43648"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}