![再也不踩坑的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=1739407959-fwCr8AiQ9KMLdYBIlj59TnT6DrCT7boN-0-c39501cc23183d66fb3747143b9bb204)
所有节点开启Docker并设置为开机自启动:
systemctl enable --now docker
下载Kubernetes,本例安装的是13.1,其他版本请自行修改:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P37_57241.jpg?sign=1739407959-nEV6yYAmRLbwYPp4n7jLpHV10OppW25W-0-2750ec0dd2b1e2faab0a3350564c51ee)
也可在GitHub上下载:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P37_57242.jpg?sign=1739407959-30iDglg6Pt2xA9EeSTDiKwySYuNJhiDl-0-c74a2b2beb222c9c21e924f1f15ad2b6)
下载Etcd文件,如果安装的是1.14.x版,则可以选择安装Etcd的3.3.10版:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P37_10097.jpg?sign=1739407959-TdoHxg91S1AiKW5epYvr9KhQ4lIXUuf4-0-2266b4f0fcf3f0ebf377112815d89ece)
将各组件分发至其他节点:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P38_57245.jpg?sign=1739407959-fn2Q53cNz4is3ywaTWYl4xaXGPthUioq-0-ced4a2739fb2e6a58db79dedb5a35454)
所有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=1739407959-R8JO9pxxy9pC9JqGFh05iauqQSgbzuI2-0-a22974d78fa3e0ac61f4f8ca75c2a1a0)
将CNI分发至其他节点:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P38_57248.jpg?sign=1739407959-yZIbyVKMgCvjEHZi0pQmUSgLNgU66GH4-0-b5b3c82f734958fd9f788f7e9693ded1)
1.3.3 生成证书
在Kubeadm安装方式下,初始化时会自动生成证书,但在二进制安装方式下,需要手动生成证书,可以使用OpenSSL或者cfssl。具体操作步骤如下:
Master01安装cfssl:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P39_57254.jpg?sign=1739407959-okMm5FXRPOVTxD1OMuR7zJgzy8HIXAFz-0-ce47e297c6367fd5f9a33c1dd3717fc9)
所有Master节点创建Etcd证书目录:
mkdir /etc/etcd/ssl -p
Master01生成Etcd证书:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P39_57256.jpg?sign=1739407959-Yr6yz8eHNKISmWnrRlr0zRQGTcJDy33s-0-039f218ae4401bf2f856529074dfb5c1)
将证书复制到其他节点,当前Etcd集群部署在Master节点上,在大规模集群环境中建议部署在集群之外,并且使用SSD硬盘作为Etcd的存储:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P39_57257.jpg?sign=1739407959-1rCoAKJJdbWU0NWwBM2CEiBySzRUPglh-0-07daab6dd24f80459f174a2c5cf750e2)
生成Kubernetes CA:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P39_57258.jpg?sign=1739407959-eTqyWAlWj7dOobtm2ZKDyvrS0INilR6P-0-ca738983e079556cbb26dc369dde269c)
生成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=1739407959-fgSWaefshr3Qtq3snttQGZOJGav1BUNs-0-d17fc98c5541a0a3f67994e5302f5167)
创建Front Proxy证书:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P40_57262.jpg?sign=1739407959-uWTv27AeOIt61CiLAVYM983YwGtWAzBv-0-f04c5c9799f636a03de9dec7d52f9287)
生成ControllerManager证书:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P40_57263.jpg?sign=1739407959-f0ODt4XKJInXmvdCOoH5XDOvIeyQD43o-0-476bd320f3439cba98a21e0b5c9240f4)
创建ControllerManager的kubeconfig文件,注意修改--server的地址:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P40_57264.jpg?sign=1739407959-BD9avgO4GVwhmZWg6ZB0PuK3ONYfFRC9-0-b2f4b055f0f37cb37c0c2bbc51e1e749)
生成Scheduler证书:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P41_57267.jpg?sign=1739407959-89G8VrksdwMZCphmLvpo1OWfA8vtROpv-0-14b9b8a3068ac3dfbcd15e3fe0a2078a)
生成Scheduler的kubeconfig文件,注意修改--server的地址:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P41_57268.jpg?sign=1739407959-kVWiWxnRQtWjMIhTcyebWg8F4MtRDjA9-0-943de1d2ef9e911abf6c9b9c0e1eb256)
生成Admin Certificate:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P41_57269.jpg?sign=1739407959-fUF2Yoy405xo9JVat42KODaiSGKbktbn-0-a74508de979a3656165ac3fa778acf38)
生成Admin的kubeconfig文件,注意修改--server的地址:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P41_2191.jpg?sign=1739407959-JkxyNrKGMRjfpsQowkUhfPYzUPIZUYCo-0-0c0e0ce7363a20c28796d319bfae5e48)
生成所有Master节点的Kubelet凭证:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P42_57273.jpg?sign=1739407959-PtqFipw4hO819jaTfcOaJNkp4zt1Bjo1-0-72497082aebdc24d90f5841da4bc817f)
复制证书到其他节点:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P42_57274.jpg?sign=1739407959-laWiBwwkNhPszCIyjDabV5LyvYlPNSBH-0-f5a5997479807d5784737bd016bb31c9)
生成所有Master节点的kubeconfig文件,注意修改--server的地址:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P42_57275.jpg?sign=1739407959-A1F13dqWeRT1GfuULBjS5Ak2VFZrAu6o-0-a827bdc2b528f7ea08e293732d6c3f77)
创建ServiceAccount Key:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P43_57277.jpg?sign=1739407959-hliPG1m3o6PkBLrwqBBnEmZZ260smjty-0-0b886efc368a55ff371f4f71468f2346)
复制到其他节点:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P43_57278.jpg?sign=1739407959-MZ2U6M5Dy2N0V0tbQgyAVWF0dGa7qImM-0-051e5cdd4ce9ab778f6e76c2de7b5741)
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=1739407959-Y9eNceg5SSUk0ZgwyTnzU6JCJXDzaIqC-0-9304648737fe721f6cb8d19cc37032e7)
etcd-master02配置文件:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P44_57282.jpg?sign=1739407959-N0mfv1EFl6UvtOCmz4L9lbsmiBUFlgKy-0-979dbc8d034e3dad2163f651b683fe02)
etcd-master03配置文件:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P45_57285.jpg?sign=1739407959-1iCt1J2tBETsL7giyNlX7Phvl3B1KF9D-0-f925891c16cd0ea5341c427725ff72e9)
所有Master节点配置etcd.service:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P46_57288.jpg?sign=1739407959-sbiDnCawR2DIbVLPGsJwr43LOKwlq7PF-0-ccdd56fc900a43ed491326256de2a87a)
所有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=1739407959-RCnKY3JUsGIYzdLXvzotaVoY8Yo3NjTa-0-6afb8368e9d7777d62587296a3fb6ead)
本例高可用配置同样使用的是HAProxy和KeepAlived,具体参考1.1.4节。
之后配置Kubernetes集群中的Master组件。
在所有节点创建相关目录:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P47_57293.jpg?sign=1739407959-37uGs6e9Gk7IhZHdxM0g39hdR5B42QUo-0-61dc33d20ec40d26ff7d2338a9e8351a)
所有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=1739407959-IfQm9ANRWc2HI5QBjcLJcFTxmRwyWZj1-0-e6cc7ede0bde5ff914115e1af701919d)
注意
Initializers选项在kube-apiserver 1.14.x版本的--enable-admission-plugins已停用。
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P48_57297.jpg?sign=1739407959-2gnjrC232P0cKUjcGrDDFGuCzwxlGiE1-0-82217a7bb8f7eded7314d4c25273dcd9)
所有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=1739407959-Z3ApG5zUj7NLXRutra0Jg36MHQVlAHDy-0-27cdb05810dbf7232bc89980315a06c8)
所有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=1739407959-kqjHUh7E5D51HZNzON7Ehv3RLv8UZISe-0-1096f518f90ed8e8584c838017827ded)
所有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=1739407959-jgeyq4vf8bWYQRx3LHBnKkVCCL5TIPku-0-ada787b3c8e7aac65055b0eed55e465d)
此时未配置网络组件,可能会出现如下报错,可忽略:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P50_57306.jpg?sign=1739407959-ZYwUK7EeMUPLUMF5uMXROlXnazCdPauu-0-dca31066afa29388c8325020134aafe3)
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=1739407959-De6IJHSKPGmACDnQwvz7jDffQxZSIGJb-0-b1dfe07db8fd8b1f74339dd8c075b664)
建立bootstrap secret,注意token-id与token-secret的值和上述命令set-credentials的--token对应:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P50_57308.jpg?sign=1739407959-jumrw4TFlUc9VYDKZZIES0js6xQFzdZq-0-10dfc0baa0b52ac01124e18f4a3ed360)
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P51_57310.jpg?sign=1739407959-4m7pWcQiRXa3r8AYOtEOzJSoVl9fiWRN-0-e8d9c85a18ba85276bbb783e6f5cc9b8)
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P52_57312.jpg?sign=1739407959-143NzimWpBUYig07AL0ml9oxWVAiVIDJ-0-7496f8d9dc6e9960b83d4fdcdb504983)
创建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=1739407959-s5aTE3mlzwC8278ijWIdomJV29zao7yg-0-4dacce0e83599ee65ecf1ce473839159)
配置10-kubelet.conf文件,因为Node节点采用自动颁发证书的方式,所以此文件需要添加KUBELET_KUBECONFIG_ARGS参数,如果已经配置了,就无需再配置。
所有Node节点创建相关目录:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P53_57317.jpg?sign=1739407959-Qy7aEJIvMfapdCPRmqeQ2RriLkaiVaGC-0-cd58c2e121d4106b805e70227224be18)
所有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=1739407959-eQ8NcqlEEPotjaKPxemI4DMSqwIfR7Ev-0-07d4e80a19c0800a440bfd4979c1838b)
Kubelet Service参数文件如下:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P53_57319.jpg?sign=1739407959-OkwHShRf15K5d87xaEo3U1A1MilZyaQR-0-7184b919f61f966476f7f26d447efbf5)
配置Kubelet配置文件。注意clusterDNS的地址,如果之前修改了ClusterIP的网段,需要将ClusterDNS的地址改成同网段的地址:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P53_57320.jpg?sign=1739407959-RKEqpS3gk9yWAkB4gCWby0Ekfivbvlpd-0-a15924c3e6cb42a83eb40f9406519b95)
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P54_57323.jpg?sign=1739407959-bWbL1taj30qzovXzXzkCdHbLY796dsqS-0-a6774c438b0af812cb104034f38b8b0b)
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P55_57325.jpg?sign=1739407959-jv6S4OFNqq9QpSqWB4L5SpAjUbfB5x71-0-5c5b4a9dc43fc0c945b9a7b2e60b11c8)
所有节点启动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=1739407959-4LTFumTvVZ1WdafsSpwY89a9Xu15uXho-0-538c881cf7cbe3734a433a9583757301)
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=1739407959-6HsaXJi2S62jbsBqg7evbBlKlmlHrR3o-0-4654d9efbc955480f6b67af824f3ea8e)
创建kube-proxy的kubeconfig:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P56_57331.jpg?sign=1739407959-mRCCnBOPvsz32ZZKMDyTM1TypUEzVsIu-0-fbf6645169b2396680f8f52af076eed6)
复制kube-proxy的文件至所有节点:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P56_57332.jpg?sign=1739407959-p2HTkSfPuwfj4tqJw1gLXpTW1eGn8MDB-0-eb983b401da4900da9a88b779e97f1dd)
所有节点启动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=1739407959-S5NVMJGw7trSHs86qMxLCugijv49lY6W-0-77fbaee67976809c3b77be1cfff21277)
查看Calico Pods的状态:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P57_57337.jpg?sign=1739407959-tswMhFmoMwYqb105JMx8xuy5tJXJyxyL-0-5c06ee2b21b2eb4604870d86f1754b03)
查看集群的状态,此时报错日志已解决:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P58_57340.jpg?sign=1739407959-0OYMq61PKZDgFX7zPHvWfW9xMUDxHunJ-0-aebb8326db069b7a785a0b1d07d07869)
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=1739407959-YUNkZIhQ6xuEldOy5L3UfZ8YzkC10K2X-0-59d8eb77cbb8b2d062b1f3aeffbe730c)
查看CoreDNS的Pods状态:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P58_57342.jpg?sign=1739407959-T7dI0Sg6E6tzqqDYjLBJuT25tkCBfduI-0-8e8f15bf6b3f16c50b7d03403fdb238f)
解析测试:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P58_57343.jpg?sign=1739407959-Z85qZIUyYFVOnPd9ZPjLRkLJoxVBk0UQ-0-4ca373809221bb5c0aecf937b8dce428)
解析Kubernetes service:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P58_57344.jpg?sign=1739407959-KLOvNOXEYfPnEVKRCUAGBthqSEr3KJQa-0-8001a869c2b41098dddf1a0e3a9bc84e)
1.3.10 Metrics-Server配置
安装metrics-server:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P59_57347.jpg?sign=1739407959-F5XiVIO8MazHS4IqLdq9cILwVzk5F6nd-0-4342755b3cc03230560bd1d62a7d61d5)
查看Pod状态:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P59_57348.jpg?sign=1739407959-wnuQVK6gT6NXBYWE9m0eZsYdQwoJKDIO-0-388bba87848f0fcfa55cb4cf55f73990)
查看Node资源使用:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P59_57349.jpg?sign=1739407959-2gUBmfFCHL48LIL9VtfNqik7i9Mw1tCy-0-1d36425e15363ebf65a6f25aee5a260e)
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=1739407959-6IsHSTkf4m50I3zbdx2uld7EYQPHyNTJ-0-c732a656011735a2765f5ce45ae650da)
查看Pod的状态:
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P60_57354.jpg?sign=1739407959-oIsXPQI7psiAHX5uygH6hL8MhhC9jWlV-0-b12200a93e0483bb57b842df03ad157a)
通过NodePort访问https://VIP:30000。
选择令牌,参考图1-4。
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P60_12496.jpg?sign=1739407959-YpfMBlRrpYyd8mDw0U9PQxlFKqmtHgIo-0-027f9082fe402f0f45dcbe6e7eb16a0c)
图1-4 Dashboard登录方式选择令牌
输入令牌(令牌获取参考1.1.9小节)后登录,即可登录到Dashboard页面,参考图1-5。
![](https://epubservercos.yuewen.com/62A1DF/15825992304144506/epubprivate/OEBPS/Images/Figure-P61_12508.jpg?sign=1739407959-hf4cU8AZGRZgIPG5VHo6CERDaIOC3p5G-0-6ea0952752f684800107e951af16e7fa)
图1-5 Dashboard页面