![再也不踩坑的kubernetes实战指南](https://wfqqreader-1252317822.image.myqcloud.com/cover/323/27563323/b_27563323.jpg)
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=1738885843-Eu8XiQVhNXVzAQP2yA8ohVdDDeV7I3Vt-0-d228a054a59d7153e27e994827a41c82)
所有节点开启Docker并设置为开机自启动:
systemctl enable --now docker
下载Kubernetes,本例安装的是13.1,其他版本请自行修改:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P37_57241.jpg?sign=1738885843-eONT0iGOECGAp3AFedn2W2MQZkcNEOTz-0-538d742c9aba3ec854d42937c0b0fed4)
也可在GitHub上下载:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P37_57242.jpg?sign=1738885843-0Igds7OlF4Phcf7wQnu8JtwqMoAHt3WN-0-ce880dfef2966d48430fba06d94f47a7)
下载Etcd文件,如果安装的是1.14.x版,则可以选择安装Etcd的3.3.10版:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P37_10097.jpg?sign=1738885843-QkF4MjHKIv04IdmlYESVtaeIjjARS5zn-0-1a9f1767c62c987169d29ef5c4b4f0ab)
将各组件分发至其他节点:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P38_57245.jpg?sign=1738885843-1WPP9nTqhrostIFe1sAdkRa2AMrBgbZl-0-7a45df651452535a3b146d87df48901a)
所有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=1738885843-C1wYJbeKWkequ3R6oSbPYB8hpgqHmofo-0-bf15ad2581730781800f55e9123e588d)
将CNI分发至其他节点:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P38_57248.jpg?sign=1738885843-Kp2SNm3HR8scihXbf7NhXhJYMW1rxjPm-0-310c7da71edbeef816c0f31156d0e083)
1.3.3 生成证书
在Kubeadm安装方式下,初始化时会自动生成证书,但在二进制安装方式下,需要手动生成证书,可以使用OpenSSL或者cfssl。具体操作步骤如下:
Master01安装cfssl:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P39_57254.jpg?sign=1738885843-zHTsTaRoGQ5DYHE9r4oFlcKAktCubcFe-0-ea037eccdb5bbcbc8d5a0d5b9cc6419c)
所有Master节点创建Etcd证书目录:
mkdir /etc/etcd/ssl -p
Master01生成Etcd证书:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P39_57256.jpg?sign=1738885843-C6sP76LjEPI9shALUt3J13YyppHnO6ft-0-87d0b96ae61188299900846aaa332dbc)
将证书复制到其他节点,当前Etcd集群部署在Master节点上,在大规模集群环境中建议部署在集群之外,并且使用SSD硬盘作为Etcd的存储:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P39_57257.jpg?sign=1738885843-k6U8brU0iksQJ1UjcaKKnxJWKzslM1sS-0-3da03b6ecfa9893434ad40bf052b2f9c)
生成Kubernetes CA:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P39_57258.jpg?sign=1738885843-XmPIOH4EjfXBL9LGyozQ0jOUiPEGyqTp-0-4915773244052381a3b51d17368f842e)
生成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=1738885843-YUGbAZlWFZurRkKAz9oe2kNixLaPa9fo-0-f79f0c05cf51e44e9f50fc15703d0077)
创建Front Proxy证书:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P40_57262.jpg?sign=1738885843-TlIRZrD62hftmhnncX6x5ls7iSteGOes-0-77b5c5b2083ff2a03fbb5f20eccfc38a)
生成ControllerManager证书:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P40_57263.jpg?sign=1738885843-mB7nywAjzkW0srNRBbwJRgNyNZ9eG0rA-0-6fe256d57d0c924596a0eb1a2689fd60)
创建ControllerManager的kubeconfig文件,注意修改--server的地址:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P40_57264.jpg?sign=1738885843-sfTzoC2kTEa5D87QpYaehVJLl4D8pcf5-0-eb6be99fe788f1a00ac5932f86a55c25)
生成Scheduler证书:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P41_57267.jpg?sign=1738885843-rTT9WZNIJ6PLTESAE9tzb90PboSyruFT-0-d65e87a22675768b3cb338294622f590)
生成Scheduler的kubeconfig文件,注意修改--server的地址:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P41_57268.jpg?sign=1738885843-MYWteIuOYv7EnfjFoO43MpFNPCrdi6Sv-0-2bc04b018c747fc84f57e46bbeaaf9fd)
生成Admin Certificate:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P41_57269.jpg?sign=1738885843-yp2IfIZTHK6LjpmfXzGdPdRW7pY5TnxC-0-cba1579fef583181fcf8aaad6bb7022a)
生成Admin的kubeconfig文件,注意修改--server的地址:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P41_2191.jpg?sign=1738885843-skP8a0rm2VkMpKLCKioBZg6HJfx5uxYd-0-98141af9abad8910c42393b605f1dda0)
生成所有Master节点的Kubelet凭证:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P42_57273.jpg?sign=1738885843-6YQJ1Vx3cNxTQszaVQdegGG840CP34sK-0-70e7046da8ae3328fc75abf3404bf67a)
复制证书到其他节点:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P42_57274.jpg?sign=1738885843-cjc8GaaqyQ7QTw4XpNLZ4zJK0vpsMiaU-0-3d3f22681c50273109a6614b99d8f63b)
生成所有Master节点的kubeconfig文件,注意修改--server的地址:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P42_57275.jpg?sign=1738885843-c7MGskMCFWQPhexjuvZKLgJAMQrAG3vH-0-f1b3a0953fe8cae1f2b900dd824a9fab)
创建ServiceAccount Key:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P43_57277.jpg?sign=1738885843-eUNpfqHJDtVur6uTEw5CWzcaFL0q4zgf-0-e60d1f4c7e6871b60e77697852ed8242)
复制到其他节点:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P43_57278.jpg?sign=1738885843-lwfzsuptvQ5AQWDSjtqWv1rWLGmjGtHV-0-04b7712c64845731221d952969369d75)
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=1738885843-snX0pBVOGBHue8VO8a007UvL12mivVDz-0-3b677687248a09395d871ef70685223f)
etcd-master02配置文件:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P44_57282.jpg?sign=1738885843-DaBLKwvthdJuBMX6K7EaNyabLucUW08r-0-d43305ce315a4bed59ff69ffb38a51a4)
etcd-master03配置文件:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P45_57285.jpg?sign=1738885843-vFCSYupuemTzaScDUjJRBA4FydLLd9jv-0-6ef52ce15440a22f3cf516daee5bfbe5)
所有Master节点配置etcd.service:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P46_57288.jpg?sign=1738885843-UkRsX7lYfdtHgoGwSwqKcnJVuVkiyFjl-0-9a79e86920584d118fc36bd5a0a3d18e)
所有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=1738885843-q24JkXxbn5tdl7046DomFECYPqtSPz4v-0-c0cd45b6be695631088cfa25a06970f8)
本例高可用配置同样使用的是HAProxy和KeepAlived,具体参考1.1.4节。
之后配置Kubernetes集群中的Master组件。
在所有节点创建相关目录:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P47_57293.jpg?sign=1738885843-hPVvN2pUxvnDpFyDx182n9s7OWU4bryd-0-4e5ee5637fdcfd3f2677b5a6eef87bae)
所有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=1738885843-uIePBCvTgB9RIloEZZciJfxlHbzEuEr7-0-6c5a725c528996b4dc42deb9db4f697d)
注意
Initializers选项在kube-apiserver 1.14.x版本的--enable-admission-plugins已停用。
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P48_57297.jpg?sign=1738885843-6jcM2e6HgbiJZgfXUUBCMV85EPr1LL7K-0-5de362fc718b7f8e34978fe1b16c0177)
所有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=1738885843-K2W4f4D4i55UWjsqzJF26CC9h1M4Zd5O-0-3c937a88ba4e3ab2d2fea1effc52a44e)
所有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=1738885843-WnGu7H3ZuCdlGkDPbaN9XtbAZPLsVZUk-0-69ce1a43fe1366639bf86e4f904dd308)
所有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=1738885843-BtfWY7G27GiKiLacCCirD6FVnIQDhzB0-0-9eed8923c8bc58cd5918550d5ffd78e3)
此时未配置网络组件,可能会出现如下报错,可忽略:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P50_57306.jpg?sign=1738885843-I1XMWpL1fht2zrYOpJbDfs959NUHMGoF-0-8e674bd268b89b7ad5f4f5141d8547ed)
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=1738885843-sPsclBNg4xnaBTOXFy2zbcsda9OQyYuS-0-51876fe6535d7e27132fac6cf1cb899c)
建立bootstrap secret,注意token-id与token-secret的值和上述命令set-credentials的--token对应:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P50_57308.jpg?sign=1738885843-s6cu3xL62KNIREA28iiy3tX2lhldxKZM-0-4d6f18ddac3c98c1232a67f0fa8d3a77)
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P51_57310.jpg?sign=1738885843-pAIoMHzO8zrRdRuobkCQytm5e3wcOTaq-0-8c542db755554e542ce73e20259f7481)
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P52_57312.jpg?sign=1738885843-gv0JiqphZGLqoGVDrEcQhkltkGODou61-0-58c307d38a26903b5289c9fabb69a250)
创建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=1738885843-92qYXWkayMa8j7OFO9ULZVlaCVLzdyPi-0-516c58349aa4230d63f0149201bab272)
配置10-kubelet.conf文件,因为Node节点采用自动颁发证书的方式,所以此文件需要添加KUBELET_KUBECONFIG_ARGS参数,如果已经配置了,就无需再配置。
所有Node节点创建相关目录:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P53_57317.jpg?sign=1738885843-FHAJNaTpnrCiKbd1p3QorpWZy9ZYTTe4-0-94f295bf2e080a832d00b75472241a7f)
所有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=1738885843-mVClJcTjAho1IH52kR4SUQkF1Pb5GMqi-0-c0a32f761b5072a3639c7097b208019b)
Kubelet Service参数文件如下:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P53_57319.jpg?sign=1738885843-xFDbIWSJs1f4pUsrsPZa6ssORvua7elc-0-d1d1ddd5510094079909b3c3fa9480e0)
配置Kubelet配置文件。注意clusterDNS的地址,如果之前修改了ClusterIP的网段,需要将ClusterDNS的地址改成同网段的地址:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P53_57320.jpg?sign=1738885843-yvD7BjJqweBURbftpPZq6uVKrNUfEBXM-0-7c8c9989f72d85d5b2ccecc61c9a25de)
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P54_57323.jpg?sign=1738885843-nTWj3FUWTssCe4ImJARKg4ZjSCxM4sFt-0-da7035d21de147fd2288d92e7732a1c2)
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P55_57325.jpg?sign=1738885843-ZtN2UsgMZ8NUXOh9h9R9WsvSv2yjvjzQ-0-3e3a5ffee0d4cd4d9330a70866b35642)
所有节点启动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=1738885843-jUwQHN0skRzASYZ1pFVI9U5BQ7jb0RDg-0-83c4f2dffeea6f540d51b412131758b0)
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=1738885843-GmMxtvtoSQlZ0nWaAoQ3DoS7TctPNAjs-0-779066ce76dffcfa314bbf3455f926d3)
创建kube-proxy的kubeconfig:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P56_57331.jpg?sign=1738885843-DR8SMFVzjqFEi0r9bmYxp34OhOs41qQ7-0-f6df49a6801a3d83cc346a1b4daf3f0e)
复制kube-proxy的文件至所有节点:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P56_57332.jpg?sign=1738885843-RD241xkJAL5Eg30cjCdV6WJY1xYy9iUh-0-b51c5e4ea5241d56e631b15a45f01d0c)
所有节点启动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=1738885843-EO1FhkBGxcxgbIKjKfOUVPqF6ZN4DwzH-0-9af2d594f55c06dd82f25e4dc1b1dbe6)
查看Calico Pods的状态:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P57_57337.jpg?sign=1738885843-sAVKahnDFlQDipN1Vy0ieEpwSYyf33iU-0-83602f398ddf1f1a1938cd2ac190fd18)
查看集群的状态,此时报错日志已解决:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P58_57340.jpg?sign=1738885843-e0NTN3MIdw5uh26gjketazlhgQdiIeVm-0-6e9509680803fc71218aa6f1ad9393d9)
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=1738885843-deAxrPQELkRLO0WaXhtfjJvKS2pXMFQ4-0-1398207ffd0f78568ab642a71693e0f3)
查看CoreDNS的Pods状态:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P58_57342.jpg?sign=1738885843-kl6mJNh5gTnlm3iXSYdMc5bZvhmTQRiG-0-b996662770fa9be2bc6ed9eb3a233122)
解析测试:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P58_57343.jpg?sign=1738885843-1uXFxKQO4fYLu2cSLplmLN2vYuYosR4n-0-6c77693d357cb5019310e96bda765c27)
解析Kubernetes service:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P58_57344.jpg?sign=1738885843-8tw7gi3Ie1rv6AaA7GtOy7M0VmNn43mv-0-84ea57e13b2937ca58a3aeb9e495656d)
1.3.10 Metrics-Server配置
安装metrics-server:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P59_57347.jpg?sign=1738885843-yV3UJuMCyccBEyxm33fvwcAIEvBnJ0Z2-0-5ef46a511ea46ce46cb7d71b2a81762f)
查看Pod状态:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P59_57348.jpg?sign=1738885843-WehCmzFOGAHRhe5fF3G0SlE4t1sAQVAq-0-08b98cc0d155d966a35d1b12d20afe0e)
查看Node资源使用:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P59_57349.jpg?sign=1738885843-hQtGHiQneDxbh8gKfCz56PGoI4ShIUcP-0-24b53169500fcea723e6d66fe1fec4eb)
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=1738885843-fVNhvwqaohDrRXIUvcPEm5K8NLNFIDME-0-1387b34e9a14f630b8a64179c0c0bb04)
查看Pod的状态:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P60_57354.jpg?sign=1738885843-PLdScaGkrHaMTFQ8ZFbtexlrqTigYz7v-0-94dc19b4493692e48e6f0ebfe8e09361)
通过NodePort访问https://VIP:30000。
选择令牌,参考图1-4。
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P60_12496.jpg?sign=1738885843-KtDw9IZFFJtHPxpDkofeII98Kr9JMMQv-0-72c26d1cd2d035ae0cf98ec214df8167)
图1-4 Dashboard登录方式选择令牌
输入令牌(令牌获取参考1.1.9小节)后登录,即可登录到Dashboard页面,参考图1-5。
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P61_12508.jpg?sign=1738885843-aClXA3LdEGqqWsAOoXAJdQUPeDgYFAQT-0-f1906f346fc27c22c718f61bae3e26b9)
图1-5 Dashboard页面