当前位置: 首页 > news >正文

K8S简单部署,以及UI界面配置

准备两台服务器K8Smaster和K8Sminion

分别在两台服务器上执行以下代码

#添加hosts解析;
cat >/etc/hosts<<EOF
127.0.0.1 localhost localhost.localdomain
192.168.45.133 master1
192.168.45.135 node2
EOF
#临时关闭selinux和防火墙;
sed -i '/SELINUX/s/enforcing/disabled/g'  /etc/sysconfig/selinux
setenforce  0
systemctl   stop     firewalld.service
systemctl   disable   firewalld.service
#同步节点时间;
yum install ntpdate -y
ntpdate  pool.ntp.org
#修改对应节点主机名;
hostname `cat /etc/hosts|grep $(ifconfig|grep broadcast|awk '{print $2}')|awk '{print $2}'`;su
#关闭swapoff;
swapoff -a

执行完成后,主节点名称改为master1,monion节点名称变为node2

分别在两台服务器master1、node2节点进行如下配置:

cat > /etc/modules-load.d/ipvs.conf <<EOF
# Load IPVS at boot
ip_vs
ip_vs_rr
ip_vs_wrr
ip_vs_sh
nf_conntrack_ipv4
EOF
systemctl enable --now systemd-modules-load.service
#确认内核模块加载成功
lsmod | grep -e ip_vs -e nf_conntrack_ipv4
#安装ipset、ipvsadm
yum install -y ipset ipvsadm
#配置内核参数;
cat <<EOF >  /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system

在node1、node2节点进行如下配置:

# 安装依赖软件包
yum install -y device-mapper-persistent-data lvm2
yum install -y docker
#修改docker配置文件
mkdir /etc/docker
cat > /etc/docker/daemon.json <<EOF
{"exec-opts": ["native.cgroupdriver=systemd"],"log-driver": "json-file","log-opts": {"max-size": "100m"},"registry-mirrors": ["https://uyah70su.mirror.aliyuncs.com"]
}
EOF
# 注意,由于国内拉取镜像较慢,配置文件最后增加了registry-mirrors
mkdir -p /etc/systemd/system/docker.service.d
# 重启docker服务
systemctl daemon-reload
systemctl enable docker.service
systemctl start docker.service
ps -ef|grep -aiE docker

看到进程就说明配置成功

在两台服务器Kubernetes上添加部署源

cat>>/etc/yum.repos.d/kubernetes.repo<<EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
EOF

在两台你服务器上执行以下配置

#安装Kubeadm;
yum install -y kubeadm-1.20.4 kubelet-1.20.4 kubectl-1.20.4
#启动kubelet服务
systemctl enable kubelet.service
systemctl start kubelet.service
systemctl start docker.service

执行完检查是否安装完毕

在master1进行如下配置,执行kubeadm init初始化安装Master相关软件

kubeadm init   --control-plane-endpoint=192.168.45.133:6443 --image-repository registry.aliyuncs.com/google_containers   --kubernetes-version v1.20.4   --service-cidr=10.10.0.0/16   --pod-network-cidr=10.244.0.0/16   --upload-certs

看到这条语句说明初始化成功

在master1执行以下配置

在node执行以下命令,添加节点

在master上执行以下命令

删除节点命令如下

重置kube,重新执行添加节点命令

 因为网络没有连通,所以显示notready

在主节点上需要进行网络节点的配置,下载calico.yaml文件,下载网络插件wget https://docs.projectcalico.org/v3.10/manifests/calico.yaml

上传四个镜像文件

将主键加载到容器列表

将calico.yaml里面镜像修改为自己私有仓库的地址、修改镜像下载策略为使用本地;

在node上同时上传四个镜像文件,并加载到docker容器中

在主节点加calico.yaml配置文件

之后发现网络连通状态为ready

查看Flanneld网络组建是否部署成功;

部署Dashboard所有指令在master上执行即可,下载Dashboard配置文件;

备份下载的recommended.yaml文件,修改文件recommended.yaml的39行内容,#因为默认情况下,service的类型是cluster IP,需更改为NodePort的方式,便于访问,也可映射到指定的端口。

修改文件recommended.yaml的195行内容,#因为默认情况下Dashboard为英文显示,可以设置为中文。

删除默认image下载策略,添加新的策略使用本地镜像

在所有节点master和node1上导入dashboard镜像;

ls k8s-dashboard.tar k8s-metrics-scraper.tar

for i in $(ls *.tar);do docker load -i $i ;done

执行以下命令

#执行kubectl apply -f recommended.yaml;

kubectl apply -f recommended.yaml

查看Dashboard运行状态;

kubectl get pod -n kubernetes-dashboard

kubectl get svc -n kubernetes-dashboard

#创建Dashboard的管理用户;
kubectl create serviceaccount dashboard-admin -n kube-system
#将创建的dashboard用户绑定为管理用户;
kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin

此时访问K8S前台页面显示如下

此时在Token中输入token值

成功登录前台页面

此时K8S前台UI界面显示成功,配置成功


http://www.mrgr.cn/news/66345.html

相关文章:

  • 配置文件格式(xml、properties、yml/yaml)
  • sicp每日一题[2.65]
  • Element Plus暗黑模式及模式自由切换
  • Spring Bean的作用域和生命周期
  • 数据库Redis篇
  • openEuler 系统中 Samba 文件共享服务器管理(windows、linux文件共享操作方法)
  • 2024年Q3企业邮箱安全性研究报告:钓鱼邮件攻击同比上涨102.3%
  • 揭秘rust中默认参数类型不为人知的秘密,你确定不来了解下吗?
  • 华为 HarmonyOS NEXT 原生应用开发: 动画的基础使用(属性、显示、专场)动画
  • 从零开始的LeetCode刷题日记:746. 使用最小花费爬楼梯
  • 十月末
  • Nginx配置文件编写示例
  • Java中查找与排序算法探究
  • 阿里云服务器 篇十(加更):自动定时备份CSDN博客内容:优化内存和解决图片展示等问题
  • 5分钟上手 Kubernetes:精简实用的 Kubectl 命令速查宝典!
  • 【ESP32+MicroPython】热点模式及网页控制
  • 产品增长之付费推广
  • 光伏设计软件如何快速上手?
  • 【万字详文介绍】:迭代扩张卷积神经网络(IDCNN)
  • 模拟实现C库函数~
  • 【OJ题解】在字符串中查找第一个不重复字符的索引
  • 华为HarmonyOS借助AR引擎帮助应用实现虚拟与现实交互的能力5-识别平面语义
  • 【LeetCode】【算法】146. LRU缓存
  • Python学习笔记-生成器的应用与原理
  • 好看的超清4K视频素材去哪儿找?下载素材资源网站推荐
  • AI大模型重塑软件开发:流程、优势、挑战与展望