Kubernetes1.15.2集群部署并部署Metrics Server插件
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,环境信息:操作系统主机名IP地址CentOS 7.6k8s-master192.168.31.61CentOS 7.6k8s-node1192.168.31.62CentOS 7.6k8s-node2
千家信息网最后更新 2026年11月01日Kubernetes1.15.2集群部署并部署Metrics Server插件
环境信息:
| 操作系统 | 主机名 | IP地址 |
|---|---|---|
| CentOS 7.6 | k8s-master | 192.168.31.61 |
| CentOS 7.6 | k8s-node1 | 192.168.31.62 |
| CentOS 7.6 | k8s-node2 | 192.168.31.63 |
1. 安装要求
在开始之前,部署Kubernetes集群机器需要满足以下几个条件:
- 操作系统 CentOS7.x-86_x64
- 硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多
- 集群中所有机器之间网络互通
- 可以访问外网,需要拉取镜像
- 禁止swap分区
2. 学习目标
- 在所有节点上安装Docker和kubeadm
- 部署Kubernetes Master
- 部署容器网络插件
- 部署 Kubernetes Node,将节点加入Kubernetes集群中
- 部署Dashboard Web页面,可视化查看Kubernetes资源
3. 准备环境
关闭防火墙:$ systemctl stop firewalld$ systemctl disable firewalld关闭selinux:$ sed -i 's/enforcing/disabled/' /etc/selinux/config $ setenforce 0关闭swap:$ swapoff -a 临时$ sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab 永久添加主机名与IP对应关系(记得设置主机名):$ cat /etc/hosts192.168.31.61 k8s-master192.168.31.62 k8s-node1192.168.31.63 k8s-node2将桥接的IPv4流量传递到iptables的链:$ cat > /etc/sysctl.d/k8s.conf << EOFnet.bridge.bridge-nf-call-ip6tables = 1net.bridge.bridge-nf-call-iptables = 1net.ipv4.ip_forward = 1EOF$ sysctl --system4. 所有节点安装Docker/kubeadm/kubelet
4.1 安装Docker
$ wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo$ yum -y install docker-ce$ systemctl enable docker && systemctl start docker4.2 添加阿里云YUM软件源
$ cat > /etc/yum.repos.d/kubernetes.repo << EOF[kubernetes]name=Kubernetesbaseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64enabled=1gpgcheck=0repo_gpgcheck=0gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpgEOF4.3 安装kubeadm,kubelet和kubectl
指定版本号部署:
$ yum install -y kubelet-1.15.2 kubeadm-1.15.2 kubectl-1.15.2$ systemctl enable kubelet5. 部署Kubernetes Master
在192.168.31.63(Master)执行。
$ kubeadm init \ --apiserver-advertise-address=192.168.31.61 \ --image-repository registry.aliyuncs.com/google_containers \ --kubernetes-version v1.15.2 \ --service-cidr=10.1.0.0/16 \ --pod-network-cidr=10.244.0.0/16由于默认拉取镜像地址k8s.gcr.io国内无法访问,这里指定阿里云镜像仓库地址。
使用kubectl工具:
mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config$ kubectl get nodes6. 安装Pod网络插件(CNI)
$ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/a70459be0084506e4ec919aa1c114638878db11b/Documentation/kube-flannel.yml确保能够访问到quay.io这个registery。
如果下载失败,可以改成这个镜像地址:lizhenliang/flannel:v0.11.0-amd64
7. 加入Kubernetes Node
在192.168.31.62/63(Node)执行。
向集群添加新节点,执行在kubeadm init输出的kubeadm join命令:
$ kubeadm join 192.168.31.61:6443 --token esce21.q6hetwm8si29qxwn \ --discovery-token-ca-cert-hash sha256:00603a05805807501d7181c3d60b478788408cfe6cedefedb1f97569708be9c58. 测试kubernetes集群
在Kubernetes集群中创建一个pod,验证是否正常运行:
$ kubectl create deployment nginx --image=nginx$ kubectl expose deployment nginx --port=80 --type=NodePort$ kubectl get pod,svc9. 部署 Dashboard
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml默认镜像国内无法访问,修改镜像地址为: lizhenliang/kubernetes-dashboard-amd64:v1.10.1
默认Dashboard只能集群内部访问,修改Service为NodePort类型,暴露到外部:
kind: ServiceapiVersion: v1metadata: labels: k8s-app: kubernetes-dashboard name: kubernetes-dashboard namespace: kube-systemspec: type: NodePort ports: - port: 443 targetPort: 8443 nodePort: 30001 selector: k8s-app: kubernetes-dashboard$ kubectl apply -f kubernetes-dashboard.yaml访问地址:http://NodeIP:30001
创建service account并绑定默认cluster-admin管理员集群角色:
$ kubectl create serviceaccount dashboard-admin -n kube-system$ kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin$ kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')使用输出的token登录Dashboard。
Kubernetes集群安装Metrics Server
$ git clone https://github.com/kubernetes-incubator/metrics-server下载完成后还需要对 metrics-server/deploy/1.8+/resource-reader.yaml文件进行修改##官方仓库中的清单文件metrics-server-deployment.yaml中未明确主程序metrics-server传递参数指定指标数据的获取接口,它通常应该是kubernetes.summary_api image: registry.aliyuncs.com/google_containers/metrics-server-amd64:v0.3.3 args: - --kubelet-insecure-tls - --kubelet-preferred-address-types=InternalIP修改完之后即可直接使用
$ kubectl apply -f deploy/metrics-server/deploy/1.8+/查看pod是否为Running状态
$ kubectl get pod -n kube-system查看节点,POD资源监控
kubectl top nodekubectl top pods -n kube-system

参考李振良老师的博客:https://blog.51cto.com/lizhenliang/2296100
集群
地址
镜像
节点
主机
更多
网络
插件
操作系统
仓库
文件
机器
环境
系统
资源
阿里
输出
主程序
之间
参数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
广州万易互联网科技有限公司
为想互联网科技怎么样
智能科技公司是互联网公司吗
互联网中国科技
万易互联网科技
广州互联网络科技有限公司
互联网科技公司有哪些
互联网科技视频素材
互联网养老 桔豆科技
开启互联网科技时代小说
阿里互联网科技公司
科技互联网大厂
允成互联网科技有限公司融资
浙南科技城互联网大厦建设工程
互联网数据科技专业
工业互联网山东科技大学
雨阳互联网卡科技有限公司
唯美互联网科技
悟空问答互联网科技
北京品多多互联网科技有限公司
互联网科技行业发展
厦门中拓互联网络科技有限公司
河南真二互联网科技有限公司
互联网未来科技
互联网与新科技
互联网高科技股票
须眉科技是互联网公司吗
浙江互联网科技研学营
上海乐五互联网科技有限公司
前海云享互联网科技