{"id":43737,"date":"2023-12-02T01:03:40","date_gmt":"2023-09-21T23:21:33","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8power-systems-virtual-server%e4%b8%8a%e5%ae%89%e8%a3%85openshift-4-7%ef%bc%88%e7%ac%ac%e5%9b%9b%e9%83%a8%e5%88%86%ef%bc%89%ef%bc%9ainfra%e8%8a%82%e7%82%b9%e9%85%8d%e7%bd%ae\/"},"modified":"2024-05-04T11:44:11","modified_gmt":"2024-05-04T03:44:11","slug":"%e5%9c%a8power-systems-virtual-server%e4%b8%8a%e5%ae%89%e8%a3%85openshift-4-7%ef%bc%88%e7%ac%ac%e5%9b%9b%e9%83%a8%e5%88%86%ef%bc%89%ef%bc%9ainfra%e8%8a%82%e7%82%b9%e9%85%8d%e7%bd%ae","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8power-systems-virtual-server%e4%b8%8a%e5%ae%89%e8%a3%85openshift-4-7%ef%bc%88%e7%ac%ac%e5%9b%9b%e9%83%a8%e5%88%86%ef%bc%89%ef%bc%9ainfra%e8%8a%82%e7%82%b9%e9%85%8d%e7%bd%ae\/","title":{"rendered":"\u5728Power Systems Virtual Server\u4e0a\u5b89\u88c5OpenShift 4.7\uff08\u7b2c\u56db\u90e8\u5206\uff09\uff1ainfra\u8282\u70b9\u914d\u7f6e"},"content":{"rendered":"<h1>\u9996\u5148<\/h1>\n<p>\u5728\u8fd9\u7bc7\u6587\u7ae0\u4e2d\uff0c\u6211\u4eec\u5c06\u6267\u884cPower Systems Virtual Server\uff08\u4ee5\u4e0b\u79f0\u4e3aPowerVS\uff09\u7684OpenShift 4.7\u540e\u7eed\u64cd\u4f5c\uff0c\u5bf9infra\u8282\u70b9\u8fdb\u884c\u914d\u7f6e\u3002infra\u8282\u70b9\u53ea\u8fd0\u884c\u76d1\u63a7\u3001\u65e5\u5fd7\u8bb0\u5f55\u3001\u8def\u7531\u548c\u955c\u50cf\u6ce8\u518c\u8868\u3002\u7531\u4e8e\u76d1\u63a7\u548c\u65e5\u5fd7\u8bb0\u5f55\u63a8\u8350\u4f7f\u7528\u5757\u5b58\u50a8\uff0c\u6240\u4ee5\u6211\u4eec\u4f1a\u5411\u865a\u62df\u670d\u52a1\u5668\u5b9e\u4f8b\u6dfb\u52a0\u5377\uff0c\u5e76\u901a\u8fc7\u672c\u5730\u5b58\u50a8\u8fd0\u8425\u5546\u8fdb\u884c\u4f7f\u7528\u3002\u914d\u7f6einfra\u8282\u70b9\u540e\uff0c\u8bb8\u591aPod\u5c06\u4eceworker\u8282\u70b9\u8f6c\u79fb\uff0cworker\u8282\u70b9\u7684CPU\u548c\u5185\u5b58\u4f7f\u7528\u91cf\u5c06\u51cf\u5c11\uff0c\u5982\u4e0b\u56fe\u6240\u793a\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d543b37434c4406cd21dd\/2-0.png\" alt=\"01_custom.PNG\" \/><\/div>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d543b37434c4406cd21dd\/3-0.png\" alt=\"infra.PNG\" \/><\/div>\n<h1>1. \u5821\u5792\u8282\u70b9\u67b6\u6784\u8c03\u6574<\/h1>\n<p>\u4e3a\u4e86\u5411OpenShift\u96c6\u7fa4\u6dfb\u52a0infra\u8282\u70b9\uff0c\u6211\u4eec\u9700\u8981\u66f4\u6539bastion\u8282\u70b9\u7684\u914d\u7f6e\u3002\u6709\u5173\u66f4\u6539\u4e4b\u524d\u7684\u72b6\u6001\uff0c\u8bf7\u53c2\u8003\u672c\u6587\u3002<\/p>\n<h2>1.1. \u4fee\u6539dnsmasq\u7684\u914d\u7f6e<\/h2>\n<p>\u5728\u542f\u52a8infra\u8282\u70b9\u65f6\uff0c\u5c06grub.cfg-01-(MAC\u5730\u5740)\u901a\u8fc7tftp\u8fdb\u884c\u4f20\u8f93\u3002\u60a8\u53ef\u4ee5\u5728IBM Cloud\u63a7\u5236\u53f0\u4e0a\u786e\u8ba4infra\u8282\u70b9\u7684MAC\u5730\u5740\u3002<\/p>\n<pre class=\"post-pre\"><code>vi \/var\/lib\/tftpboot\/boot\/grub2\/powerpc-ieee1275\/grub.cfg-01-fa-1b-ef-af-c1-20\r\n<span class=\"nv\">default<\/span><span class=\"o\">=<\/span>0\r\n<span class=\"nv\">fallback<\/span><span class=\"o\">=<\/span>1\r\n<span class=\"nb\">timeout<\/span><span class=\"o\">=<\/span>1\r\nmenuentry <span class=\"s2\">\"infra-0 CoreOS (BIOS)\"<\/span> <span class=\"o\">{<\/span>\r\nlinux <span class=\"s2\">\"rhcos-4.7.7-ppc64le-live-kernel-ppc64le\"<\/span> rd.neednet<span class=\"o\">=<\/span>1 <span class=\"nv\">ip<\/span><span class=\"o\">=<\/span>192.168.25.115::192.168.25.100:255.255.255.0:infra-0:env2:none <span class=\"nv\">nameserver<\/span><span class=\"o\">=<\/span>192.168.25.100 coreos.inst<span class=\"o\">=<\/span><span class=\"nb\">yes <\/span>coreos.inst\r\n.install_dev<span class=\"o\">=<\/span>sda coreos.live.rootfs_url<span class=\"o\">=<\/span>http:\/\/192.168.25.100:8080\/rhcos-4.7.7-ppc64le-live-rootfs.ppc64le.img coreos.inst.ignition_url<span class=\"o\">=<\/span>http:\/\/192.168.25.100:8080\/worker.ign\r\ninitrd <span class=\"s2\">\"rhcos-4.7.7-ppc64le-live-initramfs.ppc64le.img\"<\/span>\r\n<span class=\"o\">}<\/span>\r\n<span class=\"c\">### vi\u7d42\u4e86<\/span>\r\n\r\nvi \/var\/lib\/tftpboot\/boot\/grub2\/powerpc-ieee1275\/grub.cfg-01-fa-88-3c-5c-37-20\r\n<span class=\"nv\">default<\/span><span class=\"o\">=<\/span>0\r\n<span class=\"nv\">fallback<\/span><span class=\"o\">=<\/span>1\r\n<span class=\"nb\">timeout<\/span><span class=\"o\">=<\/span>1\r\nmenuentry <span class=\"s2\">\"infra-1 CoreOS (BIOS)\"<\/span> <span class=\"o\">{<\/span>\r\nlinux <span class=\"s2\">\"rhcos-4.7.7-ppc64le-live-kernel-ppc64le\"<\/span> rd.neednet<span class=\"o\">=<\/span>1 <span class=\"nv\">ip<\/span><span class=\"o\">=<\/span>192.168.25.116::192.168.25.100:255.255.255.0:infra-1:env2:none <span class=\"nv\">nameserver<\/span><span class=\"o\">=<\/span>192.168.25.100 coreos.inst<span class=\"o\">=<\/span><span class=\"nb\">yes <\/span>coreos.inst\r\n.install_dev<span class=\"o\">=<\/span>sda coreos.live.rootfs_url<span class=\"o\">=<\/span>http:\/\/192.168.25.100:8080\/rhcos-4.7.7-ppc64le-live-rootfs.ppc64le.img coreos.inst.ignition_url<span class=\"o\">=<\/span>http:\/\/192.168.25.100:8080\/worker.ign\r\ninitrd <span class=\"s2\">\"rhcos-4.7.7-ppc64le-live-initramfs.ppc64le.img\"<\/span>\r\n<span class=\"o\">}<\/span>\r\n<span class=\"c\">### vi\u7d42\u4e86<\/span>\r\n\r\nvi \/var\/lib\/tftpboot\/boot\/grub2\/powerpc-ieee1275\/grub.cfg-01-fa-ba-6f-8a-9c-20\r\n<span class=\"nv\">default<\/span><span class=\"o\">=<\/span>0\r\n<span class=\"nv\">fallback<\/span><span class=\"o\">=<\/span>1\r\n<span class=\"nb\">timeout<\/span><span class=\"o\">=<\/span>1\r\nmenuentry <span class=\"s2\">\"infra-2 CoreOS (BIOS)\"<\/span> <span class=\"o\">{<\/span>\r\nlinux <span class=\"s2\">\"rhcos-4.7.7-ppc64le-live-kernel-ppc64le\"<\/span> rd.neednet<span class=\"o\">=<\/span>1 <span class=\"nv\">ip<\/span><span class=\"o\">=<\/span>192.168.25.117::192.168.25.100:255.255.255.0:infra-2:env2:none <span class=\"nv\">nameserver<\/span><span class=\"o\">=<\/span>192.168.25.100 coreos.inst<span class=\"o\">=<\/span><span class=\"nb\">yes <\/span>coreos.inst\r\n.install_dev<span class=\"o\">=<\/span>sda coreos.live.rootfs_url<span class=\"o\">=<\/span>http:\/\/192.168.25.100:8080\/rhcos-4.7.7-ppc64le-live-rootfs.ppc64le.img coreos.inst.ignition_url<span class=\"o\">=<\/span>http:\/\/192.168.25.100:8080\/worker.ign\r\ninitrd <span class=\"s2\">\"rhcos-4.7.7-ppc64le-live-initramfs.ppc64le.img\"<\/span>\r\n<span class=\"o\">}<\/span>\r\n<span class=\"c\">### vi\u7d42\u4e86<\/span>\r\n\r\nvi \/etc\/hosts<span class=\"o\">(<\/span>\u4ee5\u4e0b\u3092\u8ffd\u52a0<span class=\"o\">)<\/span>\r\n192.168.25.115  infra-0\r\n192.168.25.116  infra-1\r\n192.168.25.117  infra-2\r\n<span class=\"c\">### vi\u7d42\u4e86<\/span>\r\n\r\nvi \/etc\/dnsmasq.conf<span class=\"o\">(<\/span>\u4ee5\u4e0b\u3092\u8ffd\u52a0<span class=\"o\">)<\/span>\r\ndhcp-host<span class=\"o\">=<\/span>fa:1b:ef:af:c1:20,infra-0,192.168.25.115\r\ndhcp-host<span class=\"o\">=<\/span>fa:88:3c:5c:37:20,infra-1,192.168.25.116\r\ndhcp-host<span class=\"o\">=<\/span>fa:ba:6f:8a:9c:20,infra-2,192.168.25.117\r\n<span class=\"c\">### vi\u7d42\u4e86<\/span>\r\n\r\nsystemctl restart dnsmasq\r\n<\/code><\/pre>\n<h2>1.2. \u66f4\u6539haproxy\u914d\u7f6e<\/h2>\n<p>\u5bf9\u4e8einfra\u8282\u70b9\u4e0a\u7684\u8def\u7531\u5668\uff0c\u8fdb\u884c\u8d1f\u8f7d\u5747\u8861\u8bbe\u7f6e\u3002\u8bf7\u6ce8\u610f\uff0c\u5982\u679c\u5c06worker\u8282\u70b9\u6ce8\u91ca\u6389\uff0c\u5c06\u65e0\u6cd5\u5728OpenShift\u63a7\u5236\u53f0\u8bbf\u95ee\u4e4b\u524d\u5c06\u8def\u7531\u5668\u79fb\u52a8\u5230infra\u8282\u70b9\u4e0a\u3002<\/p>\n<pre class=\"post-pre\"><code>vi \/etc\/haproxy\/haproxy.cfg<span class=\"o\">(<\/span>backend\u306binfra\u30ce\u30fc\u30c9\u3092\u8ffd\u52a0\u3057worker\u306f\u30b3\u30e1\u30f3\u30c8\u30a2\u30a6\u30c8<span class=\"o\">)<\/span>\r\nbackend http-80\r\n    \uff65\uff65\uff65\r\n    <span class=\"c\">#server  worker-0 worker-0.ocp.powervs:80 check<\/span>\r\n    <span class=\"c\">#server  worker-1 worker-1.ocp.powervs:80 check<\/span>\r\n    server  infra-0 infra-0.ocp.powervs:80 check\r\n    server  infra-1 infra-1.ocp.powervs:80 check\r\n    server  infra-2 infra-2.ocp.powervs:80 check\r\n\r\nbackend https-443\r\n    \uff65\uff65\uff65\r\n    <span class=\"c\">#server  worker-0 worker-0.ocp.powervs:443 check<\/span>\r\n    <span class=\"c\">#server  worker-1 worker-1.ocp.powervs:443 check<\/span>\r\n    server  infra-0 infra-0.ocp.powervs:443 check\r\n    server  infra-1 infra-1.ocp.powervs:443 check\r\n    server  infra-2 infra-2.ocp.powervs:443 check\r\n<span class=\"c\">### vi\u7d42\u4e86<\/span>\r\n\r\nsystemctl restart haproxy\r\n<\/code><\/pre>\n<h1>2. \u589e\u52a0 infra \u8282\u70b9<\/h1>\n<h2>2.1. \u521b\u5efaPowerVS\u5b9e\u4f8b<\/h2>\n<p>\u6211\u5011\u5c07\u6dfb\u52a0\u4e0b\u8868\u4e2d\u7684PowerVS\u5be6\u4f8b\u4f5c\u70bainfra\u7bc0\u9ede\u9032\u884c\u5275\u5efa\u3002<\/p>\n<div>\n<div class=\"post-table\">\u30ce\u30fc\u30c9vCPU\u4eee\u60f3RAM\u30b9\u30c8\u30ec\u30fc\u30b8IP\u30a2\u30c9\u30ec\u30b9\u30d6\u30fc\u30c8<br \/>\n\u30a4\u30e1\u30fc\u30b8\u8ffd\u52a0<br \/>\n\u30dc\u30ea\u30e5\u30fc\u30e0infra-00.5(shared)16GB120GB192.168.25.115rhos-47infra-00<br \/>\ninfra-01<br \/>\ninfra-02<br \/>\ninfra-03infra-10.5(shared)16GB120GB192.168.25.116rhos-47infra-10<br \/>\ninfra-11<br \/>\ninfra-12<br \/>\ninfra-13infra-20.5(shared)16GB120GB192.168.25.117rhos-47infra-20<br \/>\ninfra-21<br \/>\ninfra-22<br \/>\ninfra-23<\/div>\n<\/div>\n<p>\u53e6\u5916\uff0c\u6211\u5011\u6703\u70ba\u64cd\u4f5c\u54e1\u5275\u5efa12\u500b\u5132\u5b58\u5340\uff0c\u5bb9\u91cf\u4e26\u6c92\u6709\u660e\u78ba\u7684\u4f9d\u64da\u3002<\/p>\n<p>\u25a0 \u76d1\u6d4b\u7528<\/p>\n<div>\n<div class=\"post-table\">\u7528\u9014Pod\u500b\u6570\u5bb9\u91cfPrometheusprometheus-k8s-&lt;\u756a\u53f7&gt;220GBAlertManageralertmanager-main-&lt;\u756a\u53f7&gt;320GBPrometheus(\u30e6\u30fc\u30b6\u30fc\u5b9a\u7fa9)prometheus-user-workload-&lt;\u756a\u53f7&gt;220GBThanosRuler(\u30e6\u30fc\u30b6\u30fc\u5b9a\u7fa9)thanos-ruler-user-workload-&lt;\u756a\u53f7&gt;220GB<\/div>\n<\/div>\n<p>\u25a0 \u7528\u4e8e\u8bb0\u5f55<\/p>\n<div>\n<div class=\"post-table\">\u7528\u9014Pod\u500b\u6570\u5bb9\u91cfElasticsearchelasticsearch-cdm-&lt;\u756a\u53f7&gt;340GB<\/div>\n<\/div>\n<p>\u4f7f\u7528ibmcloud\u547d\u4ee4\u521b\u5efa\u57fa\u7840\u7ed3\u6784\u8282\u70b9\u7684\u5b9e\u4f8b\u548c\u5b58\u50a8\u5377\u3002\u7531\u4e8e\u5c06\u5377\u8fde\u63a5\u5230\u57fa\u7840\u7ed3\u6784\u8282\u70b9\u5b9e\u4f8b\u540e\u5bfc\u81f4RHCOS\u5b89\u88c5\u5931\u8d25\uff0c\u65e0\u6cd5\u52a0\u5165OpenShift\u96c6\u7fa4\uff0c\u6240\u4ee5\u7a0d\u540e\u518d\u8fdb\u884c\u8fde\u63a5\u3002<\/p>\n<pre class=\"post-pre\"><code>ibmcloud pi instance-create infra-0 <span class=\"nt\">--image<\/span> rhcos-47 <span class=\"nt\">--memory<\/span> 16             <span class=\"se\">\\<\/span>\r\n <span class=\"nt\">--network<\/span> <span class=\"s2\">\"ocp-net 192.168.25.115\"<\/span> <span class=\"nt\">--processors<\/span> 0.5 <span class=\"nt\">--processor-type<\/span> shared <span class=\"se\">\\<\/span>\r\n <span class=\"nt\">--key-name<\/span> sshkey <span class=\"nt\">--key-name<\/span> sshkey <span class=\"nt\">--sys-type<\/span> s922 <span class=\"nt\">--storage-type<\/span> tier3\r\n\r\nibmcloud pi instance-create infra-1 <span class=\"nt\">--image<\/span> rhcos-47 <span class=\"nt\">--memory<\/span> 16             <span class=\"se\">\\<\/span>\r\n <span class=\"nt\">--network<\/span> <span class=\"s2\">\"ocp-net 192.168.25.116\"<\/span> <span class=\"nt\">--processors<\/span> 0.5 <span class=\"nt\">--processor-type<\/span> shared <span class=\"se\">\\<\/span>\r\n <span class=\"nt\">--key-name<\/span> sshkey <span class=\"nt\">--key-name<\/span> sshkey <span class=\"nt\">--sys-type<\/span> s922 <span class=\"nt\">--storage-type<\/span> tier3\r\n\r\nibmcloud pi instance-create infra-2 <span class=\"nt\">--image<\/span> rhcos-47 <span class=\"nt\">--memory<\/span> 16             <span class=\"se\">\\<\/span>\r\n <span class=\"nt\">--network<\/span> <span class=\"s2\">\"ocp-net 192.168.25.117\"<\/span> <span class=\"nt\">--processors<\/span> 0.5 <span class=\"nt\">--processor-type<\/span> shared <span class=\"se\">\\<\/span>\r\n <span class=\"nt\">--key-name<\/span> sshkey <span class=\"nt\">--key-name<\/span> sshkey <span class=\"nt\">--sys-type<\/span> s922 <span class=\"nt\">--storage-type<\/span> tier3\r\n\r\nibmcloud pi volume-create infra-00 <span class=\"nt\">--type<\/span> tier3 <span class=\"nt\">--size<\/span> 20\r\nibmcloud pi volume-create infra-01 <span class=\"nt\">--type<\/span> tier3 <span class=\"nt\">--size<\/span> 20\r\nibmcloud pi volume-create infra-02 <span class=\"nt\">--type<\/span> tier3 <span class=\"nt\">--size<\/span> 20\r\nibmcloud pi volume-create infra-03 <span class=\"nt\">--type<\/span> tier3 <span class=\"nt\">--size<\/span> 40\r\nibmcloud pi volume-create infra-10 <span class=\"nt\">--type<\/span> tier3 <span class=\"nt\">--size<\/span> 20\r\nibmcloud pi volume-create infra-11 <span class=\"nt\">--type<\/span> tier3 <span class=\"nt\">--size<\/span> 20\r\nibmcloud pi volume-create infra-12 <span class=\"nt\">--type<\/span> tier3 <span class=\"nt\">--size<\/span> 20\r\nibmcloud pi volume-create infra-13 <span class=\"nt\">--type<\/span> tier3 <span class=\"nt\">--size<\/span> 40\r\nibmcloud pi volume-create infra-20 <span class=\"nt\">--type<\/span> tier3 <span class=\"nt\">--size<\/span> 20\r\nibmcloud pi volume-create infra-21 <span class=\"nt\">--type<\/span> tier3 <span class=\"nt\">--size<\/span> 20\r\nibmcloud pi volume-create infra-22 <span class=\"nt\">--type<\/span> tier3 <span class=\"nt\">--size<\/span> 20\r\nibmcloud pi volume-create infra-23 <span class=\"nt\">--type<\/span> tier3 <span class=\"nt\">--size<\/span> 40\r\n<\/code><\/pre>\n<h2>2.2. \u5411 OpenShift \u96c6\u7fa4\u6dfb\u52a0 infra \u8282\u70b9<\/h2>\n<p>\u5728\u6253\u5f00infra\u8282\u70b9\u7684\u63a7\u5236\u53f0\u540e\uff0c\u518d\u542f\u52a8infra\u8282\u70b9\u5e76\u8fdb\u5165SMS\u83dc\u5355\u3002\u8bbe\u7f6eIP\u5730\u5740\u5e76\u4f7f\u7528bootp\u542f\u52a8\uff0c\u4ee5\u4fbf\u5f00\u59cb\u5b89\u88c5RHCOS\u6216OpenShift\u5230infra\u8282\u70b9\uff0c\u5e76\u8ba4\u53ef\u4e24\u6b21\u6765\u5904\u7406\u5904\u4e8e\u5f85\u5b9a\u72b6\u6001\u7684CSR\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"c\"># 1\u56de\u76ee<\/span>\r\n<span class=\"nb\">export <\/span><span class=\"nv\">KUBECONFG<\/span><span class=\"o\">=<\/span>\/root\/ocp\/install\/bare-metal\/auth\/kubeconfig\r\noc get csr | <span class=\"nb\">grep<\/span> <span class=\"s2\">\"Pending\"<\/span>\r\n<span class=\"c\">### \u6a19\u6e96\u51fa\u529b\u2193<\/span>\r\ncsr-297mx   4m31s   kubernetes.io\/kube-apiserver-client-kubelet   system:serviceaccount:openshift-machine-config-operator:node-bootstrapper   Pending\r\ncsr-szw59   2m54s   kubernetes.io\/kube-apiserver-client-kubelet   system:serviceaccount:openshift-machine-config-operator:node-bootstrapper   Pending\r\ncsr-zw668   5m44s   kubernetes.io\/kube-apiserver-client-kubelet   system:serviceaccount:openshift-machine-config-operator:node-bootstrapper   Pending\r\n\r\noc get csr | <span class=\"nb\">grep<\/span> <span class=\"s2\">\"Pending\"<\/span> | <span class=\"nb\">awk<\/span> <span class=\"s1\">'{print $1}'<\/span> | xargs oc adm certificate approve\r\n<span class=\"c\">### \u6a19\u6e96\u51fa\u529b\u2193<\/span>\r\ncertificatesigningrequest.certificates.k8s.io\/csr-297mx approved\r\ncertificatesigningrequest.certificates.k8s.io\/csr-szw59 approved\r\ncertificatesigningrequest.certificates.k8s.io\/csr-zw668 approved\r\n\r\n<span class=\"c\"># 2\u56de\u76ee<\/span>\r\noc get csr | <span class=\"nb\">grep<\/span> <span class=\"s2\">\"Pending\"<\/span>\r\n<span class=\"c\">### \u6a19\u6e96\u51fa\u529b\u2193<\/span>\r\ncsr-2bl4v   27s     kubernetes.io\/kubelet-serving                 system:node:infra-2                                                         Pending\r\ncsr-7wg96   17s     kubernetes.io\/kubelet-serving                 system:node:infra-0                                                         Pending\r\ncsr-fdq4w   21s     kubernetes.io\/kubelet-serving                 system:node:infra-1                                                         Pending\r\n\r\noc get csr | <span class=\"nb\">grep<\/span> <span class=\"s2\">\"Pending\"<\/span> | <span class=\"nb\">awk<\/span> <span class=\"s1\">'{print $1}'<\/span> | xargs oc adm certificate approve\r\n<span class=\"c\">### \u6a19\u6e96\u51fa\u529b\u2193<\/span>\r\ncertificatesigningrequest.certificates.k8s.io\/csr-2bl4v approved\r\ncertificatesigningrequest.certificates.k8s.io\/csr-7wg96 approved\r\ncertificatesigningrequest.certificates.k8s.io\/csr-fdq4w approved\r\n\r\noc get nodes\r\n<span class=\"c\">### \u6a19\u6e96\u51fa\u529b\u2193<\/span>\r\nNAME       STATUS   ROLES    AGE     VERSION\r\ninfra-0    Ready    worker   3m48s   v1.20.0+c8905da\r\ninfra-1    Ready    worker   3m52s   v1.20.0+c8905da\r\ninfra-2    Ready    worker   3m58s   v1.20.0+c8905da\r\nmaster-0   Ready    master   16h     v1.20.0+c8905da\r\nmaster-1   Ready    master   16h     v1.20.0+c8905da\r\nmaster-2   Ready    master   16h     v1.20.0+c8905da\r\nworker-0   Ready    worker   16h     v1.20.0+c8905da\r\nworker-1   Ready    worker   16h     v1.20.0+c8905da\r\n<\/code><\/pre>\n<p>\u4e3a\u4e86\u8fde\u63a5\u5b58\u50a8\u5377\u5230infra\u8282\u70b9\uff0c\u9700\u8981\u505c\u6b62\u3002<\/p>\n<pre class=\"post-pre\"><code>ssh core@infra-0 <span class=\"nb\">sudo <\/span>shutdown <span class=\"nt\">-h<\/span> 1\r\nssh core@infra-1 <span class=\"nb\">sudo <\/span>shutdown <span class=\"nt\">-h<\/span> 1\r\nssh core@infra-2 <span class=\"nb\">sudo <\/span>shutdown <span class=\"nt\">-h<\/span> 1\r\n<\/code><\/pre>\n<p>\u505c\u6b62\u4e00\u6bb5\u65f6\u95f4\u540e\uff0c\u60a8\u5c31\u53ef\u4ee5\u8fde\u63a5\u5b58\u50a8\u5377\u4e86\u3002<\/p>\n<pre class=\"post-pre\"><code>ibmcloud pi volume-attach infra-00 <span class=\"nt\">--instance<\/span> infra-0\r\nibmcloud pi volume-attach infra-01 <span class=\"nt\">--instance<\/span> infra-0\r\nibmcloud pi volume-attach infra-02 <span class=\"nt\">--instance<\/span> infra-0\r\nibmcloud pi volume-attach infra-03 <span class=\"nt\">--instance<\/span> infra-0\r\n\r\nibmcloud pi volume-attach infra-10 <span class=\"nt\">--instance<\/span> infra-1\r\nibmcloud pi volume-attach infra-11 <span class=\"nt\">--instance<\/span> infra-1\r\nibmcloud pi volume-attach infra-12 <span class=\"nt\">--instance<\/span> infra-1\r\nibmcloud pi volume-attach infra-13 <span class=\"nt\">--instance<\/span> infra-1\r\n\r\nibmcloud pi volume-attach infra-20 <span class=\"nt\">--instance<\/span> infra-2\r\nibmcloud pi volume-attach infra-21 <span class=\"nt\">--instance<\/span> infra-2\r\nibmcloud pi volume-attach infra-22 <span class=\"nt\">--instance<\/span> infra-2\r\nibmcloud pi volume-attach infra-23 <span class=\"nt\">--instance<\/span> infra-2\r\n<\/code><\/pre>\n<h2>2.3. \u6784\u5efainfra\u8282\u70b9<\/h2>\n<h3>2.3.1. \u8fd0\u8425\u5546\u5f15\u5165<\/h3>\n<p>\u4ece\u7ba1\u7406\u63a7\u5236\u53f0\u7684OperatorHub\u4e2d\u5b89\u88c5\u8fd0\u8425\u5546\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d543b37434c4406cd21dd\/38-2.png\" alt=\"op03.PNG\" \/><\/div>\n<h3>2.3.2. \u521b\u5efa\u672c\u5730\u5b58\u50a8\u5377<\/h3>\n<p>\u4f7f\u7528\u672c\u5730\u5b58\u50a8\u64cd\u4f5c\u7b26\uff0c\u5728Infra\u8282\u70b9\u4e0a\u521b\u5efa\u672c\u5730\u5377\u3002\u5728Infra\u8282\u70b9\u4e0a\u8fd0\u884clsblk\u547d\u4ee4\u6765\u786e\u8ba4\u6dfb\u52a0\u7684\u8bbe\u5907\uff0c\u4f46\u7531\u4e8e\u591a\u8def\u5f84\u914d\u7f6e\u7684\u539f\u56e0\uff0c\u540c\u4e00\u8bbe\u5907\u4f1a\u88ab\u91cd\u590d\u663e\u793a\u3002\u76ee\u524d\u5df2\u5e94\u7528\u6307\u5b9asda\u3001sdb\u548csdc\u4f5c\u4e3a\u76d1\u63a7\u7528\u7684\u672c\u5730\u5377\uff0c\u5e76\u6307\u5b9asdd\u4f5c\u4e3a\u65e5\u5fd7\u8bb0\u5f55\u7528\u7684\u672c\u5730\u5377\u7684\u6e05\u5355\uff0c\u4f46\u8003\u8651\u5230\u591a\u8def\u5f84\u60c5\u51b5\uff0c\u4e5f\u8bb8\u66f4\u597d\u7684\u505a\u6cd5\u662f\u63cf\u8ff0\u591a\u4e2a\u8bbe\u5907\u3002<\/p>\n<pre class=\"post-pre\"><code>ssh core@infra-0 lsblk <span class=\"nt\">-d<\/span>\r\n<span class=\"c\">### \u6a19\u6e96\u51fa\u529b\u2193<\/span>\r\nsda    8:0    0   20G  0 disk\r\nsdb    8:16   0   20G  0 disk\r\nsdc    8:32   0   20G  0 disk\r\nsdd    8:48   0   40G  0 disk\r\nsde    8:64   0  120G  0 disk\r\nsdf    8:80   0   20G  0 disk\r\nsdg    8:96   0   20G  0 disk\r\nsdh    8:112  0   20G  0 disk\r\nsdi    8:128  0   40G  0 disk\r\nsdj    8:144  0  120G  0 disk\r\n\uff65\uff65\uff65\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code>oc apply <span class=\"nt\">-f<\/span> monitoring-lv.yaml\r\noc apply <span class=\"nt\">-f<\/span> logging-lv.yaml\r\n\r\noc get pod <span class=\"nt\">-n<\/span> openshift-local-storage\r\n<span class=\"c\">### \u6a19\u6e96\u51fa\u529b\u2193<\/span>\r\nlocal-storage-operator-5d4cbd7bd7-p8thz   1\/1     Running   0          61m\r\nlogging-lv-local-diskmaker-phd45          1\/1     Running   0          2m19s\r\nlogging-lv-local-diskmaker-rkbcw          1\/1     Running   0          2m19s\r\nlogging-lv-local-diskmaker-ttzfp          1\/1     Running   0          2m19s\r\nlogging-lv-local-provisioner-kwmw9        1\/1     Running   0          2m19s\r\nlogging-lv-local-provisioner-l42zk        1\/1     Running   0          2m19s\r\nlogging-lv-local-provisioner-wsspv        1\/1     Running   0          2m19s\r\nmonitoring-lv-local-diskmaker-dnwd6       1\/1     Running   0          3m22s\r\nmonitoring-lv-local-diskmaker-dtjc8       1\/1     Running   0          3m22s\r\nmonitoring-lv-local-diskmaker-rmmml       1\/1     Running   0          3m22s\r\nmonitoring-lv-local-provisioner-6bdcq     1\/1     Running   0          3m22s\r\nmonitoring-lv-local-provisioner-mgv4t     1\/1     Running   0          3m22s\r\nmonitoring-lv-local-provisioner-zj5sd     1\/1     Running   0          3m22s\r\n\r\noc get pv\r\n<span class=\"c\">### \u6a19\u6e96\u51fa\u529b\u2193<\/span>\r\nlocal-pv-117d5df    20Gi       RWO            Delete           Available           monitoring-sc            3m28s\r\nlocal-pv-19bf4152   20Gi       RWO            Delete           Available           monitoring-sc            3m27s\r\nlocal-pv-33c689a0   20Gi       RWO            Delete           Available           logging-sc               2m42s\r\nlocal-pv-5015089e   20Gi       RWO            Delete           Available           monitoring-sc            3m28s\r\nlocal-pv-5bb057fb   20Gi       RWO            Delete           Available           monitoring-sc            3m33s\r\nlocal-pv-6d79c839   20Gi       RWO            Delete           Available           monitoring-sc            3m33s\r\nlocal-pv-93c59c55   40Gi       RWO            Delete           Available           logging-sc               2m41s\r\nlocal-pv-a8cdd61f   40Gi       RWO            Delete           Available           logging-sc               2m41s\r\nlocal-pv-ae2c170    40Gi       RWO            Delete           Available           monitoring-sc            3m27s\r\nlocal-pv-bd9d15     20Gi       RWO            Delete           Available           monitoring-sc            3m28s\r\nlocal-pv-bf728680   20Gi       RWO            Delete           Available           monitoring-sc            3m33s\r\nlocal-pv-dffcf04b   20Gi       RWO            Delete           Available           monitoring-sc            3m27s\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">local.storage.openshift.io\/v1<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">LocalVolume<\/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\">monitoring-lv<\/span>\r\n  <span class=\"na\">namespace<\/span><span class=\"pi\">:<\/span> <span class=\"s\">openshift-local-storage<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">nodeSelector<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">nodeSelectorTerms<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"pi\">-<\/span> <span class=\"na\">matchExpressions<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"pi\">-<\/span> <span class=\"na\">key<\/span><span class=\"pi\">:<\/span> <span class=\"s\">kubernetes.io\/hostname<\/span>\r\n          <span class=\"na\">operator<\/span><span class=\"pi\">:<\/span> <span class=\"s\">In<\/span>\r\n          <span class=\"na\">values<\/span><span class=\"pi\">:<\/span>\r\n          <span class=\"pi\">-<\/span> <span class=\"s\">infra-0<\/span>\r\n          <span class=\"pi\">-<\/span> <span class=\"s\">infra-1<\/span>\r\n          <span class=\"pi\">-<\/span> <span class=\"s\">infra-2<\/span>\r\n  <span class=\"na\">storageClassDevices<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"pi\">-<\/span> <span class=\"na\">storageClassName<\/span><span class=\"pi\">:<\/span> <span class=\"s\">monitoring-sc<\/span>\r\n      <span class=\"na\">volumeMode<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Filesystem<\/span>\r\n      <span class=\"na\">fsType<\/span><span class=\"pi\">:<\/span> <span class=\"s\">xfs<\/span>\r\n      <span class=\"na\">devicePaths<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"pi\">-<\/span> <span class=\"s\">\/dev\/sda<\/span>\r\n        <span class=\"pi\">-<\/span> <span class=\"s\">\/dev\/sdb<\/span>\r\n        <span class=\"pi\">-<\/span> <span class=\"s\">\/dev\/sdc<\/span>\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">local.storage.openshift.io\/v1<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">LocalVolume<\/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\">logging-lv<\/span>\r\n  <span class=\"na\">namespace<\/span><span class=\"pi\">:<\/span> <span class=\"s\">openshift-local-storage<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">nodeSelector<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">nodeSelectorTerms<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"pi\">-<\/span> <span class=\"na\">matchExpressions<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"pi\">-<\/span> <span class=\"na\">key<\/span><span class=\"pi\">:<\/span> <span class=\"s\">kubernetes.io\/hostname<\/span>\r\n          <span class=\"na\">operator<\/span><span class=\"pi\">:<\/span> <span class=\"s\">In<\/span>\r\n          <span class=\"na\">values<\/span><span class=\"pi\">:<\/span>\r\n          <span class=\"pi\">-<\/span> <span class=\"s\">infra-0<\/span>\r\n          <span class=\"pi\">-<\/span> <span class=\"s\">infra-1<\/span>\r\n          <span class=\"pi\">-<\/span> <span class=\"s\">infra-2<\/span>\r\n  <span class=\"na\">storageClassDevices<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"pi\">-<\/span> <span class=\"na\">storageClassName<\/span><span class=\"pi\">:<\/span> <span class=\"s\">logging-sc<\/span>\r\n      <span class=\"na\">volumeMode<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Filesystem<\/span>\r\n      <span class=\"na\">fsType<\/span><span class=\"pi\">:<\/span> <span class=\"s\">xfs<\/span>\r\n      <span class=\"na\">devicePaths<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"pi\">-<\/span> <span class=\"s\">\/dev\/sdd<\/span>\r\n<\/code><\/pre>\n<h3>2.3.3. \u6dfb\u52a0\u89d2\u8272<\/h3>\n<p>\u5728\u5de5\u4eba\/\u57fa\u7840\u8bbe\u65bd\u8282\u70b9\u4e0a\u6dfb\u52a0\u89d2\u8272\u3002\u5982\u679c\u672a\u6307\u5b9anodeSelector\uff0c\u5219\u5c06Pod\u90e8\u7f72\u5230worker\u8282\u70b9\u4e0a\u3002\u7b49\u5f85kube-apiserver\u66f4\u65b0\uff08PROGRESSING=True\uff09\u3002<\/p>\n<pre class=\"post-pre\"><code>oc label node worker-0 node-role.kubernetes.io\/app<span class=\"o\">=<\/span><span class=\"s2\">\"\"<\/span>\r\noc label node worker-1 node-role.kubernetes.io\/app<span class=\"o\">=<\/span><span class=\"s2\">\"\"<\/span>\r\noc label node infra-0 node-role.kubernetes.io\/infra<span class=\"o\">=<\/span><span class=\"s2\">\"\"<\/span>\r\noc label node infra-1 node-role.kubernetes.io\/infra<span class=\"o\">=<\/span><span class=\"s2\">\"\"<\/span>\r\noc label node infra-2 node-role.kubernetes.io\/infra<span class=\"o\">=<\/span><span class=\"s2\">\"\"<\/span>\r\n\r\n<span class=\"c\"># \u4ee5\u4e0b\u306fPod\u306bnodeSelector\u304c\u81ea\u52d5\u8a2d\u5b9a\u3055\u308c\u308b\u305f\u3081\u5b9f\u65bd\u3057\u306a\u3044<\/span>\r\n<span class=\"c\"># DaemonSet\u7b49\u3067Pod\u3092\u4f5c\u6210\u3059\u308b\u969b\u306b\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u3055\u308c\u306a\u3044\u72b6\u6cc1\u306b\u306a\u308b<\/span>\r\n<span class=\"c\"># oc patch scheduler cluster --type merge --patch '{\"spec\":{\"defaultNodeSelector\":\"node-role.kubernetes.io\/app=\"}}'<\/span>\r\n\r\n<span class=\"c\"># oc get co kube-apiserver<\/span>\r\n<span class=\"c\">### \u6a19\u6e96\u51fa\u529b\u2193<\/span>\r\n<span class=\"c\"># NAME             VERSION   AVAILABLE   PROGRESSING   DEGRADED   SINCE<\/span>\r\n<span class=\"c\"># kube-apiserver   4.7.9     True        True          False      5d22h<\/span>\r\n\r\noc get nodes\r\n<span class=\"c\">### \u6a19\u6e96\u51fa\u529b\u2193<\/span>\r\nNAME       STATUS   ROLES          AGE   VERSION\r\ninfra-0    Ready    infra,worker   79m   v1.20.0+c8905da\r\ninfra-1    Ready    infra,worker   79m   v1.20.0+c8905da\r\ninfra-2    Ready    infra,worker   79m   v1.20.0+c8905da\r\nmaster-0   Ready    master         17h   v1.20.0+c8905da\r\nmaster-1   Ready    master         17h   v1.20.0+c8905da\r\nmaster-2   Ready    master         17h   v1.20.0+c8905da\r\nworker-0   Ready    app,worker     17h   v1.20.0+c8905da\r\nworker-1   Ready    app,worker     17h   v1.20.0+c8905da\r\n<\/code><\/pre>\n<h3>2.3.4. \u8b66\u62a5\u7ba1\u7406\u5668\u7684\u8bbe\u5b9a<\/h3>\n<p>AlertManager\u53ef\u4ee5\u5c06\u9ed8\u8ba4\u76d1\u63a7\u548c\u7528\u6237\u5b9a\u4e49\u7684\u76d1\u63a7\u7684\u8b66\u62a5\u901a\u77e5\u5230PagerDuty\/Webhook\/Email\/Slack\u3002\u5728\u8fd9\u91cc\uff0c\u6211\u4eec\u8bbe\u7f6e\u4e3a\u901a\u77e5\u5230Slack\u3002<\/p>\n<pre class=\"post-pre\"><code>oc <span class=\"nt\">-n<\/span> openshift-monitoring create secret generic alertmanager-main <span class=\"se\">\\<\/span>\r\n  <span class=\"nt\">--from-file<\/span><span class=\"o\">=<\/span>alertmanager.yaml <span class=\"nt\">--dry-run<\/span><span class=\"o\">=<\/span>client <span class=\"nt\">-o<\/span><span class=\"o\">=<\/span>yaml           <span class=\"se\">\\<\/span>\r\n  | oc <span class=\"nt\">-n<\/span> openshift-monitoring replace secret <span class=\"nt\">--filename<\/span><span class=\"o\">=<\/span>-\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"na\">global<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">resolve_timeout<\/span><span class=\"pi\">:<\/span> <span class=\"s\">5m<\/span>\r\n<span class=\"na\">inhibit_rules<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"na\">equal<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"pi\">-<\/span> <span class=\"s\">namespace<\/span>\r\n      <span class=\"pi\">-<\/span> <span class=\"s\">alertname<\/span>\r\n    <span class=\"na\">source_match<\/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\">target_match_re<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">severity<\/span><span class=\"pi\">:<\/span> <span class=\"s\">warning|info<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"na\">equal<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"pi\">-<\/span> <span class=\"s\">namespace<\/span>\r\n      <span class=\"pi\">-<\/span> <span class=\"s\">alertname<\/span>\r\n    <span class=\"na\">source_match<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">severity<\/span><span class=\"pi\">:<\/span> <span class=\"s\">warning<\/span>\r\n    <span class=\"na\">target_match_re<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">severity<\/span><span class=\"pi\">:<\/span> <span class=\"s\">info<\/span>\r\n<span class=\"na\">receivers<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Critical<\/span>\r\n    <span class=\"na\">slack_configs<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"pi\">-<\/span> <span class=\"na\">channel<\/span><span class=\"pi\">:<\/span> <span class=\"s\">alerts-critical<\/span>\r\n        <span class=\"na\">api_url<\/span><span class=\"pi\">:<\/span> <span class=\"pi\">&gt;-<\/span>\r\n          <span class=\"s\">&lt;Slack Incoming Webhooks URL#1&gt;<\/span>\r\n        <span class=\"na\">text<\/span><span class=\"pi\">:<\/span> <span class=\"pi\">|-<\/span>\r\n          <span class=\"s\">{{ range .Alerts }}<\/span>\r\n            <span class=\"s\">*Alert:* {{ .Labels.alertname }} - `{{ .Labels.severity }}`<\/span>\r\n            <span class=\"s\">*Description:* {{ .Annotations.message }}<\/span>\r\n            <span class=\"s\">*Details:*<\/span>\r\n            <span class=\"s\">{{ range .Labels.SortedPairs }} ? *{{ .Name }}:* `{{ .Value }}`<\/span>\r\n            <span class=\"s\">{{ end }}<\/span>\r\n          <span class=\"s\">{{ end }}<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Default<\/span>\r\n    <span class=\"na\">slack_configs<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"pi\">-<\/span> <span class=\"na\">channel<\/span><span class=\"pi\">:<\/span> <span class=\"s\">alerts-default<\/span>\r\n        <span class=\"na\">api_url<\/span><span class=\"pi\">:<\/span> <span class=\"pi\">&gt;-<\/span>\r\n          <span class=\"s\">&lt;Slack Incoming Webhooks URL#2&gt;<\/span>\r\n        <span class=\"na\">text<\/span><span class=\"pi\">:<\/span> <span class=\"pi\">|-<\/span>\r\n          <span class=\"s\">{{ range .Alerts }}<\/span>\r\n            <span class=\"s\">*Alert:* {{ .Labels.alertname }} - `{{ .Labels.severity }}`<\/span>\r\n            <span class=\"s\">*Description:* {{ .Annotations.message }}<\/span>\r\n            <span class=\"s\">*Details:*<\/span>\r\n            <span class=\"s\">{{ range .Labels.SortedPairs }} ? *{{ .Name }}:* `{{ .Value }}`<\/span>\r\n            <span class=\"s\">{{ end }}<\/span>\r\n          <span class=\"s\">{{ end }}<\/span>\r\n  <span class=\"pi\">-<\/span> <span class=\"na\">name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Watchdog<\/span>\r\n    <span class=\"na\">slack_configs<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"pi\">-<\/span> <span class=\"na\">channel<\/span><span class=\"pi\">:<\/span> <span class=\"s\">alerts-watchdog<\/span>\r\n        <span class=\"na\">api_url<\/span><span class=\"pi\">:<\/span> <span class=\"pi\">&gt;-<\/span>\r\n          <span class=\"s\">&lt;Slack Incoming Webhooks URL#3&gt;<\/span>\r\n        <span class=\"na\">text<\/span><span class=\"pi\">:<\/span> <span class=\"pi\">&gt;-<\/span>\r\n          <span class=\"s\">{{ range .Alerts }}<\/span>\r\n            <span class=\"s\">*Alert:* {{ .Labels.alertname }} - `{{ .Labels.severity }}`<\/span>\r\n            <span class=\"s\">*Description:* {{ .Annotations.message }}<\/span>\r\n            <span class=\"s\">*Details:*<\/span>\r\n            <span class=\"s\">{{ range .Labels.SortedPairs }} ? *{{ .Name }}:* `{{ .Value }}`<\/span>\r\n            <span class=\"s\">{{ end }}<\/span>\r\n          <span class=\"s\">{{ end }}<\/span>\r\n<span class=\"na\">route<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">group_by<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"pi\">-<\/span> <span class=\"s\">namespace<\/span>\r\n  <span class=\"na\">group_interval<\/span><span class=\"pi\">:<\/span> <span class=\"s\">5m<\/span>\r\n  <span class=\"na\">group_wait<\/span><span class=\"pi\">:<\/span> <span class=\"s\">30s<\/span>\r\n  <span class=\"na\">receiver<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Default<\/span>\r\n  <span class=\"na\">repeat_interval<\/span><span class=\"pi\">:<\/span> <span class=\"s\">12h<\/span>\r\n  <span class=\"na\">routes<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"pi\">-<\/span> <span class=\"na\">receiver<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Watchdog<\/span>\r\n      <span class=\"na\">match<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"na\">alertname<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Watchdog<\/span>\r\n    <span class=\"pi\">-<\/span> <span class=\"na\">receiver<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Critical<\/span>\r\n      <span class=\"na\">match<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"na\">severity<\/span><span class=\"pi\">:<\/span> <span class=\"s\">critical<\/span>\r\n<\/code><\/pre>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d543b37434c4406cd21dd\/53-0.png\" alt=\"slack.PNG\" \/><\/div>\n<p>\u4ee5\u4e0b\u662f\u5173\u4e8eSlack\u51c6\u5907\u65b9\u9762\u7684\u53c2\u8003\u3002<\/p>\n<p>(Translation: The following provides a reference for Slack preparations.)<\/p>\n<h3>2.3.5. \u76d1\u63a7\u8bbe\u7f6e (Monitoring settings)<\/h3>\n<p>\u6211\u4eec\u5c06\u8fdb\u884c\u6709\u5173\u5b58\u50a8\u548cPod\u542f\u52a8\u8282\u70b9\u7684\u914d\u7f6e\u3002\u6211\u4eec\u8fd8\u542f\u7528\u4e86\u7528\u6237\u5b9a\u4e49\u7684\u76d1\u63a7\u3002<\/p>\n<pre class=\"post-pre\"><code>oc apply <span class=\"nt\">-f<\/span> cluster-monitoring-config.yaml\r\noc get pod <span class=\"nt\">-n<\/span> openshift-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\nalertmanager-main-0                            5\/5     Running   0          3h7m    10.130.2.16      infra-1    &lt;none&gt;           &lt;none&gt;\r\nalertmanager-main-1                            5\/5     Running   0          3h19m   10.131.2.8       infra-0    &lt;none&gt;           &lt;none&gt;\r\nalertmanager-main-2                            5\/5     Running   0          3h39m   10.129.2.4       infra-2    &lt;none&gt;           &lt;none&gt;\r\ncluster-monitoring-operator-7dfbcc944d-l8bkg   2\/2     Running   0          3h27m   10.128.0.26      master-0   &lt;none&gt;           &lt;none&gt;\r\ngrafana-7c7bfd45c-dvqz9                        2\/2     Running   0          3h19m   10.129.2.8       infra-2    &lt;none&gt;           &lt;none&gt;\r\nkube-state-metrics-57df856d9c-7b76t            3\/3     Running   0          3h8m    10.129.2.10      infra-2    &lt;none&gt;           &lt;none&gt;\r\nnode-exporter-7z29r                            2\/2     Running   0          4h20m   192.168.25.113   worker-0   &lt;none&gt;           &lt;none&gt;\r\nnode-exporter-8zwct                            2\/2     Running   0          4h22m   192.168.25.115   infra-0    &lt;none&gt;           &lt;none&gt;\r\nnode-exporter-9ntlv                            2\/2     Running   0          4h20m   192.168.25.117   infra-2    &lt;none&gt;           &lt;none&gt;\r\nnode-exporter-c4xhv                            2\/2     Running   0          4h18m   192.168.25.111   master-1   &lt;none&gt;           &lt;none&gt;\r\nnode-exporter-jt5wn                            2\/2     Running   0          4h20m   192.168.25.116   infra-1    &lt;none&gt;           &lt;none&gt;\r\nnode-exporter-v4nl6                            2\/2     Running   0          4h21m   192.168.25.112   master-2   &lt;none&gt;           &lt;none&gt;\r\nnode-exporter-xgnrt                            2\/2     Running   0          4h19m   192.168.25.110   master-0   &lt;none&gt;           &lt;none&gt;\r\nnode-exporter-xj2vr                            2\/2     Running   0          4h19m   192.168.25.114   worker-1   &lt;none&gt;           &lt;none&gt;\r\nopenshift-state-metrics-77764976d9-t77bz       3\/3     Running   0          3h8m    10.131.2.10      infra-0    &lt;none&gt;           &lt;none&gt;\r\nprometheus-adapter-5c865574c6-jsrfd            1\/1     Running   0          3h2m    10.131.2.20      infra-0    &lt;none&gt;           &lt;none&gt;\r\nprometheus-adapter-5c865574c6-rsqmv            1\/1     Running   0          3h3m    10.131.2.18      infra-0    &lt;none&gt;           &lt;none&gt;\r\nprometheus-k8s-0                               7\/7     Running   1          3h39m   10.129.2.6       infra-2    &lt;none&gt;           &lt;none&gt;\r\nprometheus-k8s-1                               7\/7     Running   1          3h19m   10.131.2.5       infra-0    &lt;none&gt;           &lt;none&gt;\r\nprometheus-operator-5667f89469-rjnrm           2\/2     Running   0          3h8m    10.131.2.11      infra-0    &lt;none&gt;           &lt;none&gt;\r\ntelemeter-client-595967cd48-8njgj              3\/3     Running   0          3h8m    10.129.2.11      infra-2    &lt;none&gt;           &lt;none&gt;\r\nthanos-querier-649d574d69-xvksw                5\/5     Running   0          3h8m    10.131.2.17      infra-0    &lt;none&gt;           &lt;none&gt;\r\nthanos-querier-649d574d69-ztn9s                5\/5     Running   0          3h19m   10.129.2.9       infra-2    &lt;none&gt;           &lt;none&gt;\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\">ConfigMap<\/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\">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\">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\">enableUserWorkload: true<\/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: monitoring-sc<\/span>\r\n          <span class=\"s\">resources:<\/span>\r\n            <span class=\"s\">requests:<\/span>\r\n              <span class=\"s\">storage: 20Gi<\/span>\r\n      <span class=\"s\">nodeSelector:<\/span>\r\n        <span class=\"s\">node-role.kubernetes.io\/infra: \"\"<\/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: monitoring-sc<\/span>\r\n          <span class=\"s\">resources:<\/span>\r\n            <span class=\"s\">requests:<\/span>\r\n              <span class=\"s\">storage: 20Gi<\/span>\r\n      <span class=\"s\">nodeSelector:<\/span>\r\n        <span class=\"s\">node-role.kubernetes.io\/infra: \"\"<\/span>\r\n    <span class=\"s\">prometheusOperator:<\/span>\r\n      <span class=\"s\">nodeSelector:<\/span>\r\n        <span class=\"s\">node-role.kubernetes.io\/infra: \"\"<\/span>\r\n    <span class=\"s\">grafana:<\/span>\r\n      <span class=\"s\">nodeSelector:<\/span>\r\n        <span class=\"s\">node-role.kubernetes.io\/infra: \"\"<\/span>\r\n    <span class=\"s\">k8sPrometheusAdapter:<\/span>\r\n      <span class=\"s\">nodeSelector:<\/span>\r\n        <span class=\"s\">node-role.kubernetes.io\/infra: \"\"<\/span>\r\n    <span class=\"s\">kubeStateMetrics:<\/span>\r\n      <span class=\"s\">nodeSelector:<\/span>\r\n        <span class=\"s\">node-role.kubernetes.io\/infra: \"\"<\/span>\r\n    <span class=\"s\">telemeterClient:<\/span>\r\n      <span class=\"s\">nodeSelector:<\/span>\r\n        <span class=\"s\">node-role.kubernetes.io\/infra: \"\"<\/span>\r\n    <span class=\"s\">openshiftStateMetrics:<\/span>\r\n      <span class=\"s\">nodeSelector:<\/span>\r\n        <span class=\"s\">node-role.kubernetes.io\/infra: \"\"<\/span>\r\n    <span class=\"s\">thanosQuerier:<\/span>\r\n      <span class=\"s\">nodeSelector:<\/span>\r\n        <span class=\"s\">node-role.kubernetes.io\/infra: \"\"<\/span>\r\n<\/code><\/pre>\n<h3>2.3.6. \u7528\u6237\u5b9a\u4e49\u76d1\u63a7\u8bbe\u7f6e<\/h3>\n<p>\u8fdb\u884c\u5173\u4e8e\u5b58\u50a8\u548cPod\u542f\u52a8\u8282\u70b9\u7684\u8bbe\u7f6e\u3002<\/p>\n<pre class=\"post-pre\"><code>oc apply <span class=\"nt\">-f<\/span> user-monitoring-config.yaml\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-7f6c7bd5dd-svb6k   2\/2     Running   0          3h39m   10.130.0.17   master-1   &lt;none&gt;           &lt;none&gt;\r\nprometheus-user-workload-0             5\/5     Running   1          3h8m    10.130.2.13   infra-1    &lt;none&gt;           &lt;none&gt;\r\nprometheus-user-workload-1             5\/5     Running   1          3h41m   10.129.2.7    infra-2    &lt;none&gt;           &lt;none&gt;\r\nthanos-ruler-user-workload-0           3\/3     Running   0          3h9m    10.130.2.14   infra-1    &lt;none&gt;           &lt;none&gt;\r\nthanos-ruler-user-workload-1           3\/3     Running   0          3h20m   10.131.2.6    infra-0    &lt;none&gt;           &lt;none&gt;\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\">ConfigMap<\/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\">user-workload-monitoring-config<\/span>\r\n  <span class=\"na\">namespace<\/span><span class=\"pi\">:<\/span> <span class=\"s\">openshift-user-workload-monitoring<\/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\">prometheus:<\/span>\r\n      <span class=\"s\">volumeClaimTemplate:<\/span>\r\n        <span class=\"s\">spec:<\/span>\r\n          <span class=\"s\">storageClassName: monitoring-sc<\/span>\r\n          <span class=\"s\">resources:<\/span>\r\n            <span class=\"s\">requests:<\/span>\r\n              <span class=\"s\">storage: 20Gi<\/span>\r\n      <span class=\"s\">nodeSelector:<\/span>\r\n        <span class=\"s\">node-role.kubernetes.io\/infra: \"\"<\/span>\r\n    <span class=\"s\">thanosRuler:<\/span>\r\n      <span class=\"s\">volumeClaimTemplate:<\/span>\r\n        <span class=\"s\">spec:<\/span>\r\n          <span class=\"s\">storageClassName: monitoring-sc<\/span>\r\n          <span class=\"s\">resources:<\/span>\r\n            <span class=\"s\">requests:<\/span>\r\n              <span class=\"s\">storage: 20Gi<\/span>\r\n      <span class=\"s\">nodeSelector:<\/span>\r\n        <span class=\"s\">node-role.kubernetes.io\/infra: \"\"<\/span>\r\n<\/code><\/pre>\n<h3>2.3.7. \u65e5\u5fd7\u8bb0\u5f55\u8bbe\u7f6e<\/h3>\n<p>\u5173\u4e8e\u65e5\u5fd7\u8bb0\u5f55\uff0c\u5c06\u5728\u521b\u5efa\u5b9e\u4f8b\u7684\u540c\u65f6\u8fdb\u884c\u8bbe\u7f6e\u3002\u5c3d\u7ba1\u652f\u6301\u8f83\u77ed\u65f6\u95f4\u7684\u65e5\u5fd7\u8bb0\u5f55\uff0c\u4f46\u5bf9\u5185\u5b58\u7684\u9700\u6c42\u8f83\u9ad8\uff0c\u4e3a\u4e86\u9a8c\u8bc1\u76ee\u7684\uff0c\u5c06\u9650\u5236\u4e3a4GB\u3002\u6b64\u5916\uff0c\u7531\u4e8eCurator\u5df2\u4e0d\u63a8\u8350\u4f7f\u7528\uff0c\u56e0\u6b64\u672a\u8fdb\u884c\u8bbe\u7f6e\u3002<\/p>\n<blockquote><p>\u5982\u679c\u9700\u8981\u957f\u671f\u4fdd\u5b58\u65e5\u5fd7\uff0c\u5efa\u8bae\u5c06\u6570\u636e\u79fb\u52a8\u5230\u7b2c\u4e09\u65b9\u5b58\u50a8\u7cfb\u7edf\u4e2d\u3002OpenShift Logging Elasticsearch\u5b9e\u4f8b\u5df2\u7ecf\u9488\u5bf9\u77ed\u671f\uff08\u7ea67\u5929\uff09\u5b58\u50a8\u8fdb\u884c\u4e86\u4f18\u5316\u548c\u6d4b\u8bd5\u3002<\/p><\/blockquote>\n<blockquote><p>Elasticsearch \u662f\u4e00\u79cd\u5185\u5b58\u96c6\u4e2d\u578b\u5e94\u7528\u7a0b\u5e8f\u3002\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0cOpenShift \u5bb9\u5668\u5e73\u53f0\u4f1a\u5b89\u88c5\u4e09\u4e2a Elasticsearch \u8282\u70b9\uff0c\u8fd9\u4e9b\u8282\u70b9\u5177\u6709\u5185\u5b58\u9700\u6c42\u548c\u9650\u5236\u4e3a 16 GB\u3002\u5728 OpenShift \u5bb9\u5668\u5e73\u53f0\u7684\u6700\u521d\u4e09\u4e2a\u8282\u70b9\u96c6\u4e2d\uff0c\u53ef\u80fd\u6ca1\u6709\u8db3\u591f\u7684\u5185\u5b58\u6765\u5728\u96c6\u7fa4\u4e2d\u8fd0\u884c Elasticsearch\u3002<\/p><\/blockquote>\n<blockquote><p>\u5728OpenShift Logging 5.0\u7248\u672c\u4e2d\uff0cElasticsearch Curator\u88ab\u6807\u4e3a\u4e0d\u63a8\u8350\u4f7f\u7528\uff0c\u5e76\u5c06\u5728OpenShift Logging 5.1\u7248\u672c\u4e2d\u88ab\u5220\u9664\u3002<\/p><\/blockquote>\n<pre class=\"post-pre\"><code><span class=\"c\"># \u30ed\u30ae\u30f3\u30b0\u8a2d\u5b9a<\/span>\r\noc apply <span class=\"nt\">-f<\/span> clo-instance.yaml\r\noc get pod <span class=\"nt\">-n<\/span> openshift-logging <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\ncluster-logging-operator-6bf898cbd4-9jscd       1\/1     Running     0          3h39m   10.128.2.9    worker-1   &lt;none&gt;           &lt;none&gt;\r\nelasticsearch-cdm-885k66by-1-778dddc6dd-zqcwz   2\/2     Running     0          152m    10.130.2.30   infra-1    &lt;none&gt;           &lt;none&gt;\r\nelasticsearch-cdm-885k66by-2-66f6dd979f-q698p   2\/2     Running     0          150m    10.131.2.26   infra-0    &lt;none&gt;           &lt;none&gt;\r\nelasticsearch-cdm-885k66by-3-98df488c8-6mgsj    2\/2     Running     0          148m    10.129.2.18   infra-2    &lt;none&gt;           &lt;none&gt;\r\nelasticsearch-im-app-1620483300-f76lj           0\/1     Completed   0          113s    10.130.2.65   infra-1    &lt;none&gt;           &lt;none&gt;\r\nelasticsearch-im-audit-1620483300-qqsnl         0\/1     Completed   0          113s    10.130.2.66   infra-1    &lt;none&gt;           &lt;none&gt;\r\nelasticsearch-im-infra-1620483300-ls5l7         0\/1     Completed   0          113s    10.130.2.67   infra-1    &lt;none&gt;           &lt;none&gt;\r\nfluentd-6cfrv                                   1\/1     Running     0          23h     10.129.2.27   infra-2    &lt;none&gt;           &lt;none&gt;\r\nfluentd-8xfhk                                   1\/1     Running     0          23h     10.131.2.23   infra-0    &lt;none&gt;           &lt;none&gt;\r\nfluentd-9z8f4                                   1\/1     Running     0          23h     10.131.0.30   worker-0   &lt;none&gt;           &lt;none&gt;\r\nfluentd-gx6jt                                   1\/1     Running     0          23h     10.130.0.47   master-1   &lt;none&gt;           &lt;none&gt;\r\nfluentd-kqrpq                                   1\/1     Running     0          23h     10.129.0.48   master-2   &lt;none&gt;           &lt;none&gt;\r\nfluentd-mp7tz                                   1\/1     Running     0          23h     10.128.2.60   worker-1   &lt;none&gt;           &lt;none&gt;\r\nfluentd-vlwqq                                   1\/1     Running     0          23h     10.130.2.38   infra-1    &lt;none&gt;           &lt;none&gt;\r\nfluentd-wlwsl                                   1\/1     Running     0          23h     10.128.0.47   master-0   &lt;none&gt;           &lt;none&gt;\r\nkibana-7c584cb9db-4sxp7                         2\/2     Running     0          126m    10.128.2.45   infra-1   &lt;none&gt;           &lt;none&gt;\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"na\">apiVersion<\/span><span class=\"pi\">:<\/span> <span class=\"s\">logging.openshift.io\/v1<\/span>\r\n<span class=\"na\">kind<\/span><span class=\"pi\">:<\/span> <span class=\"s\">ClusterLogging<\/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\">instance<\/span>\r\n  <span class=\"na\">namespace<\/span><span class=\"pi\">:<\/span> <span class=\"s\">openshift-logging<\/span>\r\n<span class=\"na\">spec<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">managementState<\/span><span class=\"pi\">:<\/span> <span class=\"s\">Managed<\/span>\r\n  <span class=\"na\">logStore<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">type<\/span><span class=\"pi\">:<\/span> <span class=\"s\">elasticsearch<\/span>\r\n    <span class=\"na\">retentionPolicy<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">application<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"na\">maxAge<\/span><span class=\"pi\">:<\/span> <span class=\"s\">1d<\/span>\r\n      <span class=\"na\">infra<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"na\">maxAge<\/span><span class=\"pi\">:<\/span> <span class=\"s\">7d<\/span>\r\n      <span class=\"na\">audit<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"na\">maxAge<\/span><span class=\"pi\">:<\/span> <span class=\"s\">7d<\/span>\r\n    <span class=\"na\">elasticsearch<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">nodeCount<\/span><span class=\"pi\">:<\/span> <span class=\"m\">3<\/span>\r\n      <span class=\"na\">storage<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"na\">storageClassName<\/span><span class=\"pi\">:<\/span> <span class=\"s\">logging-sc<\/span>\r\n        <span class=\"na\">size<\/span><span class=\"pi\">:<\/span> <span class=\"s\">40G<\/span>\r\n      <span class=\"na\">resources<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"na\">limits<\/span><span class=\"pi\">:<\/span>\r\n          <span class=\"na\">cpu<\/span><span class=\"pi\">:<\/span> <span class=\"s\">500m<\/span>\r\n          <span class=\"na\">memory<\/span><span class=\"pi\">:<\/span> <span class=\"s\">4Gi<\/span>\r\n        <span class=\"na\">requests<\/span><span class=\"pi\">:<\/span>\r\n          <span class=\"na\">cpu<\/span><span class=\"pi\">:<\/span> <span class=\"s\">200m<\/span>\r\n          <span class=\"na\">memory<\/span><span class=\"pi\">:<\/span> <span class=\"s\">4Gi<\/span>\r\n      <span class=\"na\">redundancyPolicy<\/span><span class=\"pi\">:<\/span> <span class=\"s\">SingleRedundancy<\/span>\r\n      <span class=\"na\">nodeSelector<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"s\">node-role.kubernetes.io\/infra<\/span><span class=\"pi\">:<\/span> <span class=\"s1\">'<\/span><span class=\"s\">'<\/span>\r\n  <span class=\"na\">visualization<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">type<\/span><span class=\"pi\">:<\/span> <span class=\"s\">kibana<\/span>\r\n    <span class=\"na\">kibana<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">replicas<\/span><span class=\"pi\">:<\/span> <span class=\"m\">1<\/span>\r\n      <span class=\"na\">nodeSelector<\/span><span class=\"pi\">:<\/span>\r\n        <span class=\"s\">node-role.kubernetes.io\/infra<\/span><span class=\"pi\">:<\/span> <span class=\"s1\">'<\/span><span class=\"s\">'<\/span>\r\n  <span class=\"na\">collection<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">logs<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">type<\/span><span class=\"pi\">:<\/span> <span class=\"s\">fluentd<\/span>\r\n      <span class=\"na\">fluentd<\/span><span class=\"pi\">:<\/span> <span class=\"pi\">{}<\/span>\r\n<\/code><\/pre>\n<p>\u60a8\u53ef\u4ee5\u901a\u8fc7\u8bbf\u95ee\u4ee5\u4e0bURL\uff0c\u8fdb\u5165Kibana\uff0c\u5e76\u4ece\u7ba1\u7406\u83dc\u5355\u4e2d\u521b\u5efa\u7d22\u5f15\u6a21\u5f0f\u4ee5\u67e5\u770b\u65e5\u5fd7\u3002\u67093\u79cd\u7c7b\u578b\u7684\u7d22\u5f15\uff0c\u5373app\/infra\/audit\uff0c\u4f46\u8981\u521b\u5efa\u7d22\u5f15\u6a21\u5f0f\uff0c\u9700\u8981\u6709\u6570\u636e\u7d2f\u79ef\u3002\u5728\u8bbe\u7f6e\u65e5\u5fd7\u8bb0\u5f55\u540e\uff0c\u53ea\u6709infra\u6570\u636e\u5b58\u5728\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d543b37434c4406cd21dd\/75-0.png\" alt=\"kibana.PNG\" \/><\/div>\n<h3>2.3.8. \u79fb\u52a8\u8def\u7531\u5668\u548c\u955c\u50cf\u4ed3\u5e93<\/h3>\n<p>\u5c06\u8def\u7531\u5668\u548c\u955c\u50cf\u6ce8\u518c\u8868\u79fb\u52a8\u5230\u57fa\u7840\u8bbe\u65bd\u8282\u70b9\u4e2d\u3002<\/p>\n<pre class=\"post-pre\"><code>oc patch ingresscontroller default <span class=\"nt\">-n<\/span> openshift-ingress-operator <span class=\"nt\">--type<\/span><span class=\"o\">=<\/span>merge <span class=\"nt\">--patch<\/span><span class=\"o\">=<\/span><span class=\"s1\">'{\"spec\":{\"nodePlacement\":{\"nodeSelector\": {\"matchLabels\":{\"node-role.kubernetes.io\/infra\":\"\"}}}}}'<\/span>\r\noc patch <span class=\"nt\">--namespace<\/span><span class=\"o\">=<\/span>openshift-ingress-operator <span class=\"nt\">--patch<\/span><span class=\"o\">=<\/span><span class=\"s1\">'{\"spec\": {\"replicas\": 3}}'<\/span> <span class=\"nt\">--type<\/span><span class=\"o\">=<\/span>merge ingresscontroller\/default\r\noc get pod <span class=\"nt\">-n<\/span> openshift-ingress <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\nrouter-default-5b89fb5765-7wndh   1\/1     Running   0          4h16m   192.168.25.117   infra-2   &lt;none&gt;           &lt;none&gt;\r\nrouter-default-5b89fb5765-smscm   1\/1     Running   0          3h56m   192.168.25.115   infra-0   &lt;none&gt;           &lt;none&gt;\r\nrouter-default-5b89fb5765-whkkl   1\/1     Running   0          3h44m   192.168.25.116   infra-1   &lt;none&gt;           &lt;none&gt;\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code>oc patch configs.imageregistry.operator.openshift.io cluster <span class=\"nt\">-n<\/span> openshift-image-registry <span class=\"nt\">--type<\/span><span class=\"o\">=<\/span>merge <span class=\"nt\">--patch<\/span> <span class=\"s1\">'{\"spec\":{\"nodeSelector\":{\"node-role.kubernetes.io\/infra\":\"\"}}}'<\/span>\r\noc get pod <span class=\"nt\">-n<\/span> openshift-image-registry <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\ncluster-image-registry-operator-768846dbff-7tgjg   1\/1     Running   1          4h15m   10.130.0.13      master-1   &lt;none&gt;           &lt;none&gt;\r\nimage-registry-74df945c7b-6n5lg                    1\/1     Running   0          3h45m   10.129.2.12      infra-2    &lt;none&gt;           &lt;none&gt;\r\nnode-ca-czs95                                      1\/1     Running   0          4h57m   192.168.25.110   master-0   &lt;none&gt;           &lt;none&gt;\r\nnode-ca-hcqgk                                      1\/1     Running   0          4h59m   192.168.25.116   infra-1    &lt;none&gt;           &lt;none&gt;\r\nnode-ca-j4rzj                                      1\/1     Running   0          4h58m   192.168.25.112   master-2   &lt;none&gt;           &lt;none&gt;\r\nnode-ca-jcds9                                      1\/1     Running   0          4h59m   192.168.25.115   infra-0    &lt;none&gt;           &lt;none&gt;\r\nnode-ca-k8sjp                                      1\/1     Running   0          4h58m   192.168.25.114   worker-1   &lt;none&gt;           &lt;none&gt;\r\nnode-ca-nsrh6                                      1\/1     Running   0          4h58m   192.168.25.111   master-1   &lt;none&gt;           &lt;none&gt;\r\nnode-ca-rbmw8                                      1\/1     Running   0          4h57m   192.168.25.113   worker-0   &lt;none&gt;           &lt;none&gt;\r\nnode-ca-rg5hf                                      1\/1     Running   0          4h57m   192.168.25.117   infra-2    &lt;none&gt;           &lt;none&gt;\r\n<\/code><\/pre>\n<h1>3. \u8d44\u6e90\u60c5\u51b5<\/h1>\n<h2>3.1 \u8282\u70b9\u5217\u8868<\/h2>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d543b37434c4406cd21dd\/83-0.png\" alt=\"\u30ce\u30fc\u30c9\u72b6\u614b(ppc64le)_3.PNG\" \/><\/div>\n<h2>3.2. \u8d44\u6e90\u8bf7\u6c42<\/h2>\n<p>\u901a\u8fc7\u201coc describe nodes\u201d\u547d\u4ee4\u786e\u8ba4\uff0c\u6211\u4eec\u53d1\u73b0\u5b9a\u5e38\u72b6\u6001\u4e0b\u7684\u8d44\u6e90\u8bf7\u6c42\u5982\u4e0b\u8868\u6240\u793a\u3002<\/p>\n<div>\n<div class=\"post-table\">\u30ce\u30fc\u30c9cpu<br \/>\nrequestsmemory<br \/>\nrequestsmaster-01696m7934Mimaster-11695m7986Mimaster-21714m7930Miworker-0349m2712Miworker-1559m3594Miinfra-0819m8777Miinfra-11078m8137Miinfra-2843m8958Mi<\/div>\n<\/div>\n<h2>3.3. \u7269\u7406\u6838\u5fc3\u4f7f\u7528\u72c0\u6cc1<\/h2>\n<p>\u4f7f\u7528\u201clparstat\u201d\u547d\u4ee4\u786e\u8ba4\u540e\uff0c\u7269\u7406\u6838\u5fc3\u7684\u5e38\u6001\u4f7f\u7528\u60c5\u51b5\u5982\u4e0b\u8868\u6240\u793a\u3002&#8221;%idle&#8221;\u8868\u793a\u672a\u4f7f\u7528\u7684\u7269\u7406\u6838\u5fc3\uff08physc\uff09\u7684\u6bd4\u4f8b\u3002\u6362\u53e5\u8bdd\u8bf4\uff0c\u8868\u793a\u4f7f\u7528\u4e86used\u5217\u5206\u914d\u7684\u6838\u5fc3\u3002<\/p>\n<p>\u6211\u4eec\u5bf9\u4e8emaste\/worker\/infra\u8282\u70b9\u90fd\u4f7f\u7528\u865a\u62df\u670d\u52a1\u5668\u5b9e\u4f8b\u8fdb\u884c\u521b\u5efa\uff0c\u6bcf\u4e2a\u5b9e\u4f8b\u7684\u6700\u5927\u4f7f\u7528CPU\u6838\u5fc3\u4e3a0.5\u4e2a\uff0c\u4e14\u65e0\u4e0a\u9650\uff08\u5171\u4eab\uff09\u3002\u7531\u4e8e\u8bbe\u7f6e\u4e86\u6700\u5c0f\u5bb9\u91cf\u4e3a0.25\u548c\u6700\u5927\u5bb9\u91cf\u4e3a4.00\uff0c\u56e0\u6b64\u7269\u7406\u6838\u5fc3\u4f1a\u6839\u636e\u8d1f\u8f7d\u6765\u5206\u914d\uff0c\u8303\u56f4\u4e3a0.25\u81f34.00\u3002\u53e6\u5916\uff0c\u8fd8\u91c7\u7528\u4e86SMT8\u6280\u672f\u3002<\/p>\n<div>\n<div class=\"post-table\">\u30ce\u30fc\u30c9%idlephyscused<br \/>\n(100-%idle)<br \/>\n\/100*physcmaster-086.000.750.11master-185.640.750.11master-290.250.590.06worker-097.740.140.00worker-197.050.190.01infra-087.340.600.08infra-188.820.540.06infra-284.590.700.11<\/div>\n<\/div>\n<h2>3.4. \u5185\u5b58\u4f7f\u7528\u60c5\u51b5<\/h2>\n<p>\u901a\u8fc7\u4f7f\u7528free\u547d\u4ee4\u786e\u8ba4\u4e86\u6b63\u5e38\u72b6\u6001\u4e0b\u7684\u5185\u5b58\u4f7f\u7528\u60c5\u51b5\uff0c\u5982\u4e0b\u8868\u6240\u793a\u3002\u5355\u4f4d\u4e3aGB\u3002<br \/>\n\u203b \u7531\u4e8e\u4e3b\u8282\u70b9\u7684\u5185\u5b58\u4f7f\u7528\u7387\u8f83\u9ad8\uff0c\u56e0\u6b64\u5728\u6b64\u4e4b\u540e\u505c\u6b62\u4e86\u6240\u6709\u8282\u70b9\uff0c\u5e76\u5c06\u4e3b\u8282\u70b9\u7684\u5185\u5b58\u66f4\u6539\u4e3a20GB\uff0c\u5de5\u4f5c\u8282\u70b9\u7684\u5185\u5b58\u66f4\u6539\u4e3a12GB\u3002\u4e0d\u4ec5\u9650\u4e8e\u4e3b\u8282\u70b9\uff0c\u6709\u65f6\u4e5f\u4f1a\u51fa\u73b0Pod\u96c6\u4e2d\u5728\u7279\u5b9a\u8282\u70b9\u7684\u60c5\u51b5\uff0c\u56e0\u6b64\u6700\u597d\u4e3a\u5185\u5b58\u5206\u914d\u63d0\u4f9b\u5145\u8db3\u7684\u7a7a\u95f4\u3002<\/p>\n<div>\n<div class=\"post-table\">\u30ce\u30fc\u30c9totalusedavailabletotal<br \/>\n&#8211; availablemaster-015.8813.151.8514.03master-115.8812.962.0613.83master-215.889.575.4910.40worker-015.884.9510.295.59worker-115.886.149.056.83infra-015.8811.364.4511.43infra-115.8811.004.2811.61infra-215.8812.713.2412.64<\/div>\n<\/div>\n<h2>3.5. \u6301\u7eed\u5377\u9700\u6c42\u7684\u4f7f\u7528\u91cf<\/h2>\n<p>\u5728\u7ecf\u8fc7\u4e00\u5468\u540e\uff0c\u6211\u4eceOpenShift\u63a7\u5236\u53f0\u4e2d\u786e\u8ba4\u4e86\u6301\u4e45\u5377\u8bf7\u6c42\u7684\u4f7f\u7528\u91cf\uff0c\u8fd9\u662f\u57fa\u4e8einfra\u8282\u70b9\u914d\u7f6e\u7684\u3002\u5728\u8fd9\u4e2a\u65f6\u95f4\u70b9\u4e0a\uff0c\u5e76\u6ca1\u6709\u5bb9\u91cf\u4e0d\u8db3\u7684\u95ee\u9898\u3002Prometheus\u7684\u4fdd\u7559\u671f\u9650\u9ed8\u8ba4\u4e3a15\u5929\u3002\u6211\u8bbe\u7f6e\u4e86Elasticsearch\u5b9e\u4f8b\u7684\u4fdd\u7559\u671f\u9650\u4e3a7\u5929\u3002\u5982\u679c\u5728OpenShift\u4e0a\u6ca1\u6709\u5176\u4ed6\u5e94\u7528\u7a0b\u5e8f\u7684\u8bdd\uff0c\u53ea\u8981\u6709\u8fd9\u4e48\u591a\u5bb9\u91cf\u7684\u8bdd\uff0c\u5e94\u8be5\u4e0d\u4f1a\u6709\u4e0d\u8db3\u7684\u95ee\u9898\u3002<\/p>\n<p>\u25a0 \u7528\u4e8e\u76d1\u63a7<\/p>\n<div>\n<div class=\"post-table\">\u6c38\u7d9a\u30dc\u30ea\u30e5\u30fc\u30e0\u8981\u6c42\u5bb9\u91cf\u4f7f\u7528\u91cfprometheus-k8s-db-prometheus-k8s-020 GiB7.64 GiBprometheus-k8s-db-prometheus-k8s-120 GiB7.83 GiBalertmanager-main-db-alertmanager-main-020 GiB175 MiBalertmanager-main-db-alertmanager-main-120 GiB175 MiBalertmanager-main-db-alertmanager-main-220 GiB175 MiBprometheus-user-workload-db-prometheus-user-workload-020 GiB177.6 MiBprometheus-user-workload-db-prometheus-user-workload-120 GiB177.6 MiBthanos-ruler-user-workload-data-thanos-ruler-user-workload-020 GiB175 MiBthanos-ruler-user-workload-data-thanos-ruler-user-workload-120 GiB175.1 MiB<\/div>\n<\/div>\n<p>\u25a0 \u8bb0\u5f55\u7528<\/p>\n<div>\n<div class=\"post-table\">\u6c38\u7d9a\u30dc\u30ea\u30e5\u30fc\u30e0\u8981\u6c42\u5bb9\u91cf\u4f7f\u7528\u91cfelasticsearch-elasticsearch-cdm-885k66by-140 GiB23.92 GiBelasticsearch-elasticsearch-cdm-885k66by-240 GiB23.86 GiBelasticsearch-elasticsearch-cdm-885k66by-340 GiB23.89 GiB<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u9996\u5148 \u5728\u8fd9\u7bc7\u6587\u7ae0\u4e2d\uff0c\u6211\u4eec\u5c06\u6267\u884cPower Systems Virtual Server\uff08\u4ee5\u4e0b\u79f0\u4e3aPowerVS [&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-43737","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>\u5728Power Systems Virtual Server\u4e0a\u5b89\u88c5OpenShift 4.7\uff08\u7b2c\u56db\u90e8\u5206\uff09\uff1ainfra\u8282\u70b9\u914d\u7f6e - 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\/\u5728power-systems-virtual-server\u4e0a\u5b89\u88c5openshift-4-7\uff08\u7b2c\u56db\u90e8\u5206\uff09\uff1ainfra\u8282\u70b9\u914d\u7f6e\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u5728Power Systems Virtual Server\u4e0a\u5b89\u88c5OpenShift 4.7\uff08\u7b2c\u56db\u90e8\u5206\uff09\uff1ainfra\u8282\u70b9\u914d\u7f6e\" \/>\n<meta property=\"og:description\" content=\"\u9996\u5148 \u5728\u8fd9\u7bc7\u6587\u7ae0\u4e2d\uff0c\u6211\u4eec\u5c06\u6267\u884cPower Systems Virtual Server\uff08\u4ee5\u4e0b\u79f0\u4e3aPowerVS [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u5728power-systems-virtual-server\u4e0a\u5b89\u88c5openshift-4-7\uff08\u7b2c\u56db\u90e8\u5206\uff09\uff1ainfra\u8282\u70b9\u914d\u7f6e\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-09-21T23:21:33+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-04T03:44:11+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d543b37434c4406cd21dd\/2-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=\"14 \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-virtual-server%e4%b8%8a%e5%ae%89%e8%a3%85openshift-4-7%ef%bc%88%e7%ac%ac%e5%9b%9b%e9%83%a8%e5%88%86%ef%bc%89%ef%bc%9ainfra%e8%8a%82%e7%82%b9%e9%85%8d%e7%bd%ae\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8power-systems-virtual-server%e4%b8%8a%e5%ae%89%e8%a3%85openshift-4-7%ef%bc%88%e7%ac%ac%e5%9b%9b%e9%83%a8%e5%88%86%ef%bc%89%ef%bc%9ainfra%e8%8a%82%e7%82%b9%e9%85%8d%e7%bd%ae\/\",\"name\":\"\u5728Power Systems Virtual Server\u4e0a\u5b89\u88c5OpenShift 4.7\uff08\u7b2c\u56db\u90e8\u5206\uff09\uff1ainfra\u8282\u70b9\u914d\u7f6e - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-09-21T23:21:33+00:00\",\"dateModified\":\"2024-05-04T03:44:11+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/64d5cc7727fffbff2f9a2a8da1de3e5c\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8power-systems-virtual-server%e4%b8%8a%e5%ae%89%e8%a3%85openshift-4-7%ef%bc%88%e7%ac%ac%e5%9b%9b%e9%83%a8%e5%88%86%ef%bc%89%ef%bc%9ainfra%e8%8a%82%e7%82%b9%e9%85%8d%e7%bd%ae\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8power-systems-virtual-server%e4%b8%8a%e5%ae%89%e8%a3%85openshift-4-7%ef%bc%88%e7%ac%ac%e5%9b%9b%e9%83%a8%e5%88%86%ef%bc%89%ef%bc%9ainfra%e8%8a%82%e7%82%b9%e9%85%8d%e7%bd%ae\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8power-systems-virtual-server%e4%b8%8a%e5%ae%89%e8%a3%85openshift-4-7%ef%bc%88%e7%ac%ac%e5%9b%9b%e9%83%a8%e5%88%86%ef%bc%89%ef%bc%9ainfra%e8%8a%82%e7%82%b9%e9%85%8d%e7%bd%ae\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u5728Power Systems Virtual Server\u4e0a\u5b89\u88c5OpenShift 4.7\uff08\u7b2c\u56db\u90e8\u5206\uff09\uff1ainfra\u8282\u70b9\u914d\u7f6e\"}]},{\"@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%a8power-systems-virtual-server%e4%b8%8a%e5%ae%89%e8%a3%85openshift-4-7%ef%bc%88%e7%ac%ac%e5%9b%9b%e9%83%a8%e5%88%86%ef%bc%89%ef%bc%9ainfra%e8%8a%82%e7%82%b9%e9%85%8d%e7%bd%ae\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u5728Power Systems Virtual Server\u4e0a\u5b89\u88c5OpenShift 4.7\uff08\u7b2c\u56db\u90e8\u5206\uff09\uff1ainfra\u8282\u70b9\u914d\u7f6e - 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\/\u5728power-systems-virtual-server\u4e0a\u5b89\u88c5openshift-4-7\uff08\u7b2c\u56db\u90e8\u5206\uff09\uff1ainfra\u8282\u70b9\u914d\u7f6e\/","og_locale":"zh_CN","og_type":"article","og_title":"\u5728Power Systems Virtual Server\u4e0a\u5b89\u88c5OpenShift 4.7\uff08\u7b2c\u56db\u90e8\u5206\uff09\uff1ainfra\u8282\u70b9\u914d\u7f6e","og_description":"\u9996\u5148 \u5728\u8fd9\u7bc7\u6587\u7ae0\u4e2d\uff0c\u6211\u4eec\u5c06\u6267\u884cPower Systems Virtual Server\uff08\u4ee5\u4e0b\u79f0\u4e3aPowerVS [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u5728power-systems-virtual-server\u4e0a\u5b89\u88c5openshift-4-7\uff08\u7b2c\u56db\u90e8\u5206\uff09\uff1ainfra\u8282\u70b9\u914d\u7f6e\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-09-21T23:21:33+00:00","article_modified_time":"2024-05-04T03:44:11+00:00","og_image":[{"url":"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d543b37434c4406cd21dd\/2-0.png"}],"author":"\u6587, \u7fd4","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u6587, \u7fd4","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"14 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8power-systems-virtual-server%e4%b8%8a%e5%ae%89%e8%a3%85openshift-4-7%ef%bc%88%e7%ac%ac%e5%9b%9b%e9%83%a8%e5%88%86%ef%bc%89%ef%bc%9ainfra%e8%8a%82%e7%82%b9%e9%85%8d%e7%bd%ae\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8power-systems-virtual-server%e4%b8%8a%e5%ae%89%e8%a3%85openshift-4-7%ef%bc%88%e7%ac%ac%e5%9b%9b%e9%83%a8%e5%88%86%ef%bc%89%ef%bc%9ainfra%e8%8a%82%e7%82%b9%e9%85%8d%e7%bd%ae\/","name":"\u5728Power Systems Virtual Server\u4e0a\u5b89\u88c5OpenShift 4.7\uff08\u7b2c\u56db\u90e8\u5206\uff09\uff1ainfra\u8282\u70b9\u914d\u7f6e - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-09-21T23:21:33+00:00","dateModified":"2024-05-04T03:44:11+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/64d5cc7727fffbff2f9a2a8da1de3e5c"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8power-systems-virtual-server%e4%b8%8a%e5%ae%89%e8%a3%85openshift-4-7%ef%bc%88%e7%ac%ac%e5%9b%9b%e9%83%a8%e5%88%86%ef%bc%89%ef%bc%9ainfra%e8%8a%82%e7%82%b9%e9%85%8d%e7%bd%ae\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8power-systems-virtual-server%e4%b8%8a%e5%ae%89%e8%a3%85openshift-4-7%ef%bc%88%e7%ac%ac%e5%9b%9b%e9%83%a8%e5%88%86%ef%bc%89%ef%bc%9ainfra%e8%8a%82%e7%82%b9%e9%85%8d%e7%bd%ae\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8power-systems-virtual-server%e4%b8%8a%e5%ae%89%e8%a3%85openshift-4-7%ef%bc%88%e7%ac%ac%e5%9b%9b%e9%83%a8%e5%88%86%ef%bc%89%ef%bc%9ainfra%e8%8a%82%e7%82%b9%e9%85%8d%e7%bd%ae\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u5728Power Systems Virtual Server\u4e0a\u5b89\u88c5OpenShift 4.7\uff08\u7b2c\u56db\u90e8\u5206\uff09\uff1ainfra\u8282\u70b9\u914d\u7f6e"}]},{"@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%a8power-systems-virtual-server%e4%b8%8a%e5%ae%89%e8%a3%85openshift-4-7%ef%bc%88%e7%ac%ac%e5%9b%9b%e9%83%a8%e5%88%86%ef%bc%89%ef%bc%9ainfra%e8%8a%82%e7%82%b9%e9%85%8d%e7%bd%ae\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43737","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=43737"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43737\/revisions"}],"predecessor-version":[{"id":98122,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/43737\/revisions\/98122"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=43737"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=43737"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=43737"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}