- 再也不踩坑的kubernetes实战指南
- 杜宽
- 2167字
- 2021-03-30 18:12:39
1.3 二进制高可用安装K8S集群(1.13.x和1.14.x)
上一节讲解了使用Kubeadm安装高可用Kubernetes集群,虽然现在kubeadm是官方默认的安装方式,但是在生产环境中仍然不建议使用Kubeadm安装方式。在实际测试中,二进制安装方式比Kubeadm安装方式更加稳定可靠,并且集群的恢复能力比Kubeadm要高。不过在线下的测试环境,为了能够快速实现测试及部署可以使用Kubeadm安装方式,等到在生产环境中时仍然建议采用二进制安装方式。
本节介绍Kubernetes 1.13.x和1.14.x版本的高可用集群的安装,在二进制安装方式下,很多步骤需要自己手动完成,比如证书和配置文件的生成等,在二进制安装过程中,其他版本的安装过程基本一致,替换二进制文件的版本即可。
关于基本环境的配置请参考1.1.1节(yum仓库配置可省略),同样采用5台主机,3台Master和2台Node。
注意
与之前不同的是,本例的VIP为192.168.20.110
1.3.1 基本组件安装
关于内核升级,请参考1.1.2节。
和Kubeadm安装方式一致,同样需要提前安装集群中必需的组件。
所有节点安装Docker:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P37_57239.jpg?sign=1739024891-YCfQWrrpFXwU2IeHVbdYrJrgyEOdeE6B-0-a589e991efacb2c2e409c8b682947bb2)
所有节点开启Docker并设置为开机自启动:
systemctl enable --now docker
下载Kubernetes,本例安装的是13.1,其他版本请自行修改:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P37_57241.jpg?sign=1739024891-2iCJCgpAFsLQ6R79Z0LPtU1r4AvocUvV-0-fd6b0a0bfe3992e82795fe123a71da6c)
也可在GitHub上下载:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P37_57242.jpg?sign=1739024891-dYl4qAQQBRljPzKo7scwsYuIKtmzJbok-0-c92c1bb557e0686c1b05a320b256570f)
下载Etcd文件,如果安装的是1.14.x版,则可以选择安装Etcd的3.3.10版:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P37_10097.jpg?sign=1739024891-AgVb9Q3R9ooUzrgEa8aHeyzwdcn7jegG-0-167874694205dac692aa261a5a41a798)
将各组件分发至其他节点:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P38_57245.jpg?sign=1739024891-62zDNxmfj2BZMDRl61oFwQIqlkY8J14Q-0-e149f8d5204bde6e746f18fbb817522d)
所有Master节点安装HAProxy和KeepAlived,可参考1.1.4节
1.3.2 CNI安装
CNI(Container Network Interface,容器网络接口)是CNCF旗下的一个项目,由一组用于配置容器的网络接口的规范和库组成。CNI主要用于解决容器网络互联的配置并支持多种网络模式。CNI的安装步骤如下。
所有节点创建CNI目录:
mkdir -p /opt/cni/bin
Master01下载CNI,如果安装的是1.14.x版本,可以安装CNI的0.7.5版本:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P38_57247.jpg?sign=1739024891-DOrz4Tv9e6FlqZFyjk0rKQxbzV6Tkv1d-0-0cfe2c2e865451ac8dc87be5f512ead0)
将CNI分发至其他节点:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P38_57248.jpg?sign=1739024891-N6FDvStZzRGJzgQgZauD18DEcjy6oH9g-0-bb1671169e2d0ee6f86e9f4ced38942c)
1.3.3 生成证书
在Kubeadm安装方式下,初始化时会自动生成证书,但在二进制安装方式下,需要手动生成证书,可以使用OpenSSL或者cfssl。具体操作步骤如下:
Master01安装cfssl:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P39_57254.jpg?sign=1739024891-h6ZcasYkwfjdq7jZEbZgQjCHARg537pX-0-379aca38e3696e4fb359544c0b457fa7)
所有Master节点创建Etcd证书目录:
mkdir /etc/etcd/ssl -p
Master01生成Etcd证书:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P39_57256.jpg?sign=1739024891-NCLSzvt88U92yhf4SgZIPlLkok3Z98a4-0-3a1ab456aea8155866b73762e6e0c98a)
将证书复制到其他节点,当前Etcd集群部署在Master节点上,在大规模集群环境中建议部署在集群之外,并且使用SSD硬盘作为Etcd的存储:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P39_57257.jpg?sign=1739024891-Ud0hgqT8xZE8fTw5wgFnZHL9XO1Bgd95-0-ce03f0c561947d8031df89889275f90b)
生成Kubernetes CA:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P39_57258.jpg?sign=1739024891-Ld59xJKAPXNI1iDMTVg88mHz826uSTog-0-2b43d9cccca7c2a4c267ee7fa4f2a78b)
生成API Server证书,10.96.0.1是Cluster IP的Kubernetes端点,用于集群里的Pod调用K8S的API Server,使用时注意不要和公司网络在同一个网段:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P40_57261.jpg?sign=1739024891-7ugaEdqkDe0vkrZDrGhYXq9LIsDOTRrO-0-32ada260422e8cf138e94043563e3d5f)
创建Front Proxy证书:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P40_57262.jpg?sign=1739024891-t2IBu5POvCDz8BAfsjzKaRcEoHO0OHUA-0-ad08a873d1456208fcf2a8c94d9e66a8)
生成ControllerManager证书:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P40_57263.jpg?sign=1739024891-vKl5RRRx5fkll1bSMeaRhWVtF0vxaPPY-0-30090aaa5c6aa1145d5befb09ccf5dad)
创建ControllerManager的kubeconfig文件,注意修改--server的地址:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P40_57264.jpg?sign=1739024891-RSNWjoa1Om2StqThIvYRjfuHCsOgAm9t-0-37985644efbba53ce79093898db7fd25)
生成Scheduler证书:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P41_57267.jpg?sign=1739024891-7frd7wozMBnYjPH5TzHD1FC4EwPhsaAz-0-95a1c6249519410233055d14d21c1674)
生成Scheduler的kubeconfig文件,注意修改--server的地址:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P41_57268.jpg?sign=1739024891-m5KqCzlbjcqe2pc40pLwj117WwwNni3E-0-e27ff2b14128b9376b5ca3f621ce423b)
生成Admin Certificate:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P41_57269.jpg?sign=1739024891-Ck7wARNxXisndhzDRLhJu04hHhzZrbLm-0-670db69f9023c57d8fbac23efac7c73a)
生成Admin的kubeconfig文件,注意修改--server的地址:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P41_2191.jpg?sign=1739024891-8yZtz7sgZkLKWGRo2HBfVqbSG5MezVyj-0-f8abe8a2216bdeae922b846ea8a4fece)
生成所有Master节点的Kubelet凭证:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P42_57273.jpg?sign=1739024891-qtn14TA68K6hGxxuDndsQRaoMC4N5LwP-0-25127f0f2b551ee4165bc0f4da0edbfe)
复制证书到其他节点:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P42_57274.jpg?sign=1739024891-jA6dwMVqJY7Zjg36G2YfyWduPIVaQuYR-0-330fc325a9fd4dbd40e979a82d8489f8)
生成所有Master节点的kubeconfig文件,注意修改--server的地址:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P42_57275.jpg?sign=1739024891-zJnOvU9AY6HjJ5IN7Ey7EWHhJxn2WppE-0-43aa1ffa32d222d24591c0063d67f3d6)
创建ServiceAccount Key:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P43_57277.jpg?sign=1739024891-foObVIez9G9SxzD6ggZRJS4mXsV0qDOa-0-546c095a5134f4b9692bee9cd6daafcb)
复制到其他节点:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P43_57278.jpg?sign=1739024891-SnwHmr3Kw9xRA6OQX9keUpneQevKhyQC-0-45148a05f90c51e340b35b2979b85bef)
1.3.4 系统组件配置
在二进制安装方式下,Kubernetes的组件都是以守护进程的方式运行在宿主机上,相比于Kubeadm安装方式,虽然配置过程较复杂,但是程序运行较稳定,并且恢复能力较强。
首先配置高可用Etcd集群。在Master01节点上创建etcd-master01的配置文件,注意修改对应的IP地址和name(名字):
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P43_57279.jpg?sign=1739024891-xXXWwuTKXhZa7WTe4LJ9vMsyuM1xmMS3-0-54bdd98a5e84a3559dbec2352f7c8ae2)
etcd-master02配置文件:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P44_57282.jpg?sign=1739024891-lSXFEvrcpkFmrFXB5rGn7SMNzIGemQhl-0-21b804ba3f696a2ec04629e3a1f19173)
etcd-master03配置文件:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P45_57285.jpg?sign=1739024891-XHlo9zz8P9Hc2RYidK4tWMgTnMbTdxnJ-0-75db7fd4d246037ffd8ebb24b45e77b2)
所有Master节点配置etcd.service:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P46_57288.jpg?sign=1739024891-jH6czZUCAHH48s3sKGoUphYDPNQJ8YgL-0-bf2b136c342d3ffcc30d00e563ce0678)
所有Master节点启动Etcd:
mkdir /etc/kubernetes/pki/etcd ln -s /etc/etcd/ssl/* /etc/kubernetes/pki/etcd/ systemctl daemon-reload systemctl enable --now etcd
查看状态:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P46_57290.jpg?sign=1739024891-0wqXGFcqxp16ayNxLlR9L8jYjTVPLeHw-0-f2ead59400e6cc6b4c510ea68f3eed6f)
本例高可用配置同样使用的是HAProxy和KeepAlived,具体参考1.1.4节。
之后配置Kubernetes集群中的Master组件。
在所有节点创建相关目录:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P47_57293.jpg?sign=1739024891-tjrcrqiucWufmuo5xZDSp0iYV10JJ0Ig-0-644d605e830ea1bf084b3ce9f6315b6d)
所有Master创建kube-apiserver文件,主要修改advertise-address和etcd-servers,如果在之前修改了ClusterIP的网段(默认10.96.0.0),此时也要修改service-cluster-ip-range的值:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P47_57294.jpg?sign=1739024891-ldubSvXAsUW2CFTpHqIBiNO6u2wMit1u-0-f4f8f1ee1c6edd3a8af62a2a10fd88b5)
注意
Initializers选项在kube-apiserver 1.14.x版本的--enable-admission-plugins已停用。
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P48_57297.jpg?sign=1739024891-eedOEqLpEhYN1Fj54Lgw2SSyncE9f9bV-0-4b5409341eac8a25b85b2be4d80baa0c)
所有Master节点启动kube-apiserver:
systemctl enable --now kube-apiserver
所有Master创建kube-controller-manager.service,注意修改cluster-cidr的值,此值为Pod IP的网段,不要和宿主机在同一个网段:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P48_57299.jpg?sign=1739024891-TV95F0bmM1uEI94NEzhXfmFwjHb7uozR-0-8124a6ce775a18283879227a18120ed7)
所有Master节点启动kube-controller-manager:
systemctl daemon-reload systemctl enable --now kube-controller-manager
所有Master创建kube-scheduler:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P49_57303.jpg?sign=1739024891-3zr2fMJEdlrT9k1fSofT4cquahDzhaKZ-0-fa0922f7b180675640d7ff741b4ba428)
所有Master启动scheduler:
systemctl daemon-reload systemctl enable --now kube-scheduler
查看集群状态。注意如果修改了ClusterIP的范围,kubernetes的端点Service就会有所不同,此时采用的是默认的10.96.0.0网段:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P50_5377.jpg?sign=1739024891-zBfDvZ3klC7seXpAhkaCRz9AgBd5zM0x-0-578dcebdbfc6c3fa13fbc4b468350c5f)
此时未配置网络组件,可能会出现如下报错,可忽略:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P50_57306.jpg?sign=1739024891-02Js7iLCDfeQqyCpfU5Qvqj4dWyCXwkN-0-0eaaa5a95eb60d3d743b0a621a548443)
1.3.5 TLS Bootstrapping配置
建立TLS Bootstrapping RBAC与Secret,用来解决手动对每台节点单独签署凭证的问题。
建立bootstrap-kubelet.conf的kubernetes config文件:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P50_57307.jpg?sign=1739024891-dWUd9L5WQ7Kpr515dCGbrrFu5SCvAboV-0-cad13a0cc3277770d6897b19a810816c)
建立bootstrap secret,注意token-id与token-secret的值和上述命令set-credentials的--token对应:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P50_57308.jpg?sign=1739024891-J93gW7mFi72FbeEIRMk4dFr2LtrUFWs2-0-8b201abbce6d151da70ddb685b4f0aee)
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P51_57310.jpg?sign=1739024891-7tB8KK6lZ9H5POpjrv3LxugxXnXAUxwm-0-c1b8c883bb0394a9abf462d26acde1a0)
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P52_57312.jpg?sign=1739024891-lfLt7XdiaCKbdAh490aFIvXtgaEqVSHu-0-8aa90737611c78a850e356f2a1767bb4)
创建bootstrap:
[root@K8S-master01 1.2.1]# kubectl create -f bootstrap-rbac.yaml
1.3.6 Node节点的配置
Node节点只需要启动Kubelet即可,具体配置步骤如下。
将证书复制到Node节点:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P52_57314.jpg?sign=1739024891-sFPupb3AoWMHrQujwz1vSOJ3Km0fahci-0-da10e88d2ae56e6eefb9e4f5a71e9b8d)
配置10-kubelet.conf文件,因为Node节点采用自动颁发证书的方式,所以此文件需要添加KUBELET_KUBECONFIG_ARGS参数,如果已经配置了,就无需再配置。
所有Node节点创建相关目录:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P53_57317.jpg?sign=1739024891-kmXkiK2JiPNfCAMqZUcwQDqOevzgPTbn-0-c0937dbb0b8a45f3f5a244811f4873cc)
所有Node节点配置Kubelet,如果Master节点也需要运行Pod(在生产环境中不建议,在测试环境中为了节省资源可以运行Pod),同样需要配置kubelet,Master节点和Node节点的kubelet配置唯一的区别是Master节点的--node-labels为node-role.kubernetes.io/master='',Node节点的为node-role.kubernetes.io/node=''。因为Master节点已经有证书,所以无需再次复制证书,直接创建kubelet的配置文件即可。Kubelet service文件如下:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P53_57318.jpg?sign=1739024891-B7FAUvI5DHGYQIstHz9gyy0W521JQFFF-0-6ec1a03e0441cd631361165942f173c5)
Kubelet Service参数文件如下:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P53_57319.jpg?sign=1739024891-mWyMfJnThBrQM4aCtpqOTm6uVjx94lvF-0-bfef11bb1414e14d414aa72758a569a7)
配置Kubelet配置文件。注意clusterDNS的地址,如果之前修改了ClusterIP的网段,需要将ClusterDNS的地址改成同网段的地址:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P53_57320.jpg?sign=1739024891-icr4278ilFFJuIXXvIpcix5tc5PXCgpw-0-8905be9d3786daffa5c7abd1bb576bcb)
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P54_57323.jpg?sign=1739024891-CuZwZVs2Toio5XlwbM0I8E7OHbtmfVyW-0-511d9629dc754090a4ec60de09b77e89)
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P55_57325.jpg?sign=1739024891-SXbiLxe8L6FZ4ZlPfPXiWkA0Wbm0JuBv-0-7884e513b664d8d2d2946cc9c40b535e)
所有节点启动kubelet,启动后会自动生成kubelet.kubeconfig文件,并且controller-manager会自动为kubelet颁发证书:
systemctl daemon-reload systemctl enable --now kubelet
查看集群状态:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P55_57327.jpg?sign=1739024891-9AjIKL23ZQQR3PO6iS7AqmYgV64ViPrJ-0-1ff6e788cd8cd0327c1bace65ad067f4)
1.3.7 Kube-Proxy配置
Kube-Proxy用于实现Pod和Pod之间以及外部到Pod的访问,这些访问主要有三种实现方式,在部署过程中无须理会实现方式,具体原理请参考本书的2.2.13节。
以下介绍kube-Proxy的配置步骤。
创建Kube-Proxy的ServiceAccount:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P55_57329.jpg?sign=1739024891-tzZesvTJQWlWkhzzhamghQVHfwFhCOUs-0-0d8b4617820226eb49f7b5f3408cbb99)
创建kube-proxy的kubeconfig:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P56_57331.jpg?sign=1739024891-MtUV60kx1GbVQm8DgtNFxTFzUVomir0W-0-164c04ffb1d23d8f6671c43c8e32cecc)
复制kube-proxy的文件至所有节点:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P56_57332.jpg?sign=1739024891-L470XJpQcPOPE65bdyHzYEsQfDvHsLQX-0-f5e5a0aaa6f950558250363481113208)
所有节点启动kube-proxy:
systemctl enable --now kube-proxy
1.3.8 Calico配置
安装Calico,请参考1.2.3节,更改<your-pod-cidr>的值为上述创建的PodIP网段:
POD_CIDR="<your-pod-cidr>" \ sed -i -e "s?192.168.0.0/16?$POD_CIDR?g" calico/v3.6.1/calico.yaml
创建Calico:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P57_57336.jpg?sign=1739024891-JcXtxWSD3eFj1iJtvrUw2YJxBSPB1IUp-0-5333b26eff36a125e1078f186bb13cb3)
查看Calico Pods的状态:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P57_57337.jpg?sign=1739024891-exphvG0wSlixtYbCHoXTirtr5zgP8vGh-0-5a96c114591110bda3d1d67f4d8594e5)
查看集群的状态,此时报错日志已解决:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P58_57340.jpg?sign=1739024891-qEGDhVQeJaaCg6O3dKwF6FYnB8WgtLZB-0-9e3566205f971f7a9e9db950092b2763)
1.3.9 CoreDNS的配置
CoreDNS用于集群中Pod解析Service的名字,Kubernetes基于CoreDNS用于服务发现功能。
安装CoreDNS 1.3.1版本(写本书时的最新版)。如果之前修改了PodIP的网段,需要自行修改此文件的ClusterIP参数:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P58_57341.jpg?sign=1739024891-w34HNsDyLjPAZIFqLJUeOuiSEucJc1iD-0-2a7ceec5a01496ed990792d257d2fdfa)
查看CoreDNS的Pods状态:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P58_57342.jpg?sign=1739024891-s8nB5KXcOOhBZnR4TEm93l6g6PUtYYFn-0-8b5a8a851f52956bf2b2806675c44dee)
解析测试:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P58_57343.jpg?sign=1739024891-tYeB0z8U1nRJhkoifXQIpStjAgmzUDDA-0-f58f9958555c8dfa6b9ee12eeca650f3)
解析Kubernetes service:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P58_57344.jpg?sign=1739024891-eFQJOFveLGffte8Xyv9lbtObsSK3PW56-0-03615682202fd51f3ca22ee8c0201906)
1.3.10 Metrics-Server配置
安装metrics-server:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P59_57347.jpg?sign=1739024891-KlYB8lVQacwQPu2V9ybLoqmLhYqeHxud-0-94b9ca6dbdd7586fd9d674f85c63a164)
查看Pod状态:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P59_57348.jpg?sign=1739024891-n0WzppTJH2Tf55JLZJAHmtzXtbLsOnzl-0-b9b53d6dc90c38afbe7094dc14810229)
查看Node资源使用:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P59_57349.jpg?sign=1739024891-cSp37BNVzQ8u3c2vxGnlrOMsB2rHg5ec-0-bc5a5712b9755b26b428e717f4f3da33)
1.3.11 Dashboard配置
安装heapster:
[root@k8s-master01 1.2.1]# kubectl apply -f heapster/
安装Dashboard:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P59_57351.jpg?sign=1739024891-gMXqZWlWtzRxBKxVVboobvbNboNoSroS-0-0d298137ef6743f1776d700c2988f7ed)
查看Pod的状态:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P60_57354.jpg?sign=1739024891-8rKuePY6bXuABDqzQtx9iGXmhnUviXSr-0-b817237d998d484d623906f10ed89257)
通过NodePort访问https://VIP:30000。
选择令牌,参考图1-4。
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P60_12496.jpg?sign=1739024891-FaQz9PwOghiPhIT3QkyNcr0nMlQm3pCi-0-8983db60a9a79e5fc4f15ed5ea70ece9)
图1-4 Dashboard登录方式选择令牌
输入令牌(令牌获取参考1.1.9小节)后登录,即可登录到Dashboard页面,参考图1-5。
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P61_12508.jpg?sign=1739024891-Nmn8vAvW1YqCGeG9liUpf2izNLHAjKpd-0-6ef4a11eb260ab90c2dda350e035012f)
图1-5 Dashboard页面