Kubernetes V1.16.2部署Dashboard V2.0(beta5)
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。1.安装要求在开始之前,部署Kubernetes集群机器需要满足以下几个条件:一台或多台机器,操作系统 CentOS7.6
千家信息网最后更新 2025年12月03日Kubernetes V1.16.2部署Dashboard V2.0(beta5)
kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具。
1.安装要求
在开始之前,部署Kubernetes集群机器需要满足以下几个条件:
- 一台或多台机器,操作系统 CentOS7.6-86_x64
- 硬件配置:4GB或更多RAM,4个CPU或更多CPU,硬盘30GB或更多
- 集群中所有机器之间网络互通
- 禁止swap分区
2. 准备环境
关闭防火墙:systemctl stop firewalldsystemctl 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/hosts< /etc/sysctl.d/k8s.conf << EOFnet.bridge.bridge-nf-call-ip6tables = 1net.bridge.bridge-nf-call-iptables = 1net.ipv4.ip_forward = 1EOF$ sysctl --system 3. 所有节点安装Docker/kubeadm/kubelet
Kubernetes默认CRI(容器运行时)为Docker,因此先安装Docker。
3.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-18.06.1.ce-3.el7$ systemctl enable docker && systemctl start docker$ docker --versionDocker version 18.06.1-ce, build e68fc7a$ yum list docker-ce --showduplicates | sort -r3.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.gpgEOF3.3 安装kubeadm,kubelet和kubectl
由于版本更新频繁,这里指定版本号部署:
yum install -y kubelet-1.16.2 kubeadm-1.16.2 kubectl-1.16.2 bash-completion wgetsystemctl enable kubelet4. 部署Kubernetes Master
在9.110.187.120(Master)执行。
$ kubeadm init \ --apiserver-advertise-address=9.110.187.120 \ --image-repository registry.aliyuncs.com/google_containers \ --kubernetes-version v1.16.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 nodes5. 安装Pod网络插件(CNI)
$ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml如果下载失败,可以改成这个镜像地址:lizhenliang/flannel:v0.11.0-amd64
6. 加入Kubernetes Node
在9.110.187.125/126(Node)执行。
向集群添加新节点,执行在kubeadm init输出的kubeadm join命令:
$ kubeadm join 9.110.187.120:6443 --token esce21.q6hetwm8si29qxwn \ --discovery-token-ca-cert-hash sha256:00603a05805807501d7181c3d60b478788408cfe6cedefedb1f97569708be9c57. 测试kubernetes集群
在Kubernetes集群中创建一个pod,验证是否正常运行:
kubectl create deployment nginx --image=nginx.1.16kubectl expose deployment nginx --port=80 --type=NodePortkubectl get pods -A -o widekubectl describe pod nginx-86c57db685-frwwt访问地址:http://NodeIP:Port
8. Kubernetes V1.16.2部署Dashboard V2.0(beta5)
$ wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta5/aio/deploy/recommended.yaml修改recommended.yaml文件内容(vi recommended.yaml):
---#增加直接访问端口kind: ServiceapiVersion: v1metadata: labels: k8s-app: kubernetes-dashboard name: kubernetes-dashboard namespace: kubernetes-dashboardspec: type: NodePort #增加 ports: - port: 443 targetPort: 8443 nodePort: 30001 #增加 selector: k8s-app: kubernetes-dashboard---#因为自动生成的证书很多浏览器无法使用,所以我们自己创建,注释掉kubernetes-dashboard-certs对象声明#apiVersion: v1#kind: Secret#metadata:# labels:# k8s-app: kubernetes-dashboard# name: kubernetes-dashboard-certs# namespace: kubernetes-dashboard#type: Opaque---创建证书mkdir dashboard-certscd dashboard-certs/#创建命名空间kubectl create namespace kubernetes-dashboard #yaml里会自动创建,可以不用单独创建# 创建key文件openssl genrsa -out dashboard.key 2048#证书请求openssl req -days 36000 -new -out dashboard.csr -key dashboard.key -subj '/CN=dashboard-cert'#自签证书openssl x509 -req -in dashboard.csr -signkey dashboard.key -out dashboard.crt#创建kubernetes-dashboard-certs对象kubectl create secret generic kubernetes-dashboard-certs --from-file=dashboard.key --from-file=dashboard.crt -n kubernetes-dashboard部署Dashboard
涉及到的两个镜像可以先下载下来#安装kubectl create -f ~/recommended.yaml#检查结果kubectl get pods -A -o widekubectl get service -n kubernetes-dashboard -o wide9.创建dashboard管理员
cat >> dashboard-admin.yaml<>dashboard-admin-bind-cluster-role.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。
10.安装metrics-server
在Node1/Node2上下载镜像文件:
docker pull bluersw/metrics-server-amd64:v0.3.6docker tag bluersw/metrics-server-amd64:v0.3.6 k8s.gcr.io/metrics-server-amd64:v0.3.6 在Master上执行安装:
git clone https://github.com/kubernetes-incubator/metrics-server.gitcd metrics-server/deploy/1.8+/修改metrics-server-deployment.yamlimage: k8s.gcr.io/metrics-server-amd64 #在image下添加一下内容 command: - /metrics-server - --metric-resolution=30s - --kubelet-insecure-tls - --kubelet-preferred-address-types=InternalIP查找runAsNonRoot: true 修改为runAsNonRoot: falsekubectl create -f .如果不能获取不到镜像可以更改image: mirrorgooglecontainers/metrics-server-amd64:v0.3.6
集群
镜像
地址
文件
更多
机器
证书
主机
内容
对象
工具
版本
管理员
网络
节点
阿里
管理
输出
运行
频繁
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
打电话需要经过腾讯服务器吗
进口企业实时数据库批发
qt 数据库删除语句
sftp服务器改端口
瑞思国际集团有网络技术部门吗
为什么实施工程师需要数据库
为什么微信数据库损坏
安阳市网络安全和信息化委员会
ios软件开发服务咨询
如何设置虚拟空间服务器
怀柔区管理软件开发一体化
视频流软件开发核心
软件开发在长沙好找工作吗
枣庄ios软件开发系统
网络安全股票有周期吗
静安区创新软件开发业务流程
靠谱的网络安全软件
广州艾拉网络技术
bloodhunt是什么服务器
黄石市天气预报软件开发
时序数据库的优点
互联网农业科技公司
菏泽网络安全公司
服务器内存怎么提高
网络安全防护口罩使用说明
重庆精益管理软件开发
猎人游戏服务器一直连接不上
数据库大作业毕业生招聘网站
觅食网络安全吗
福建软件开发需要多少钱