news 2026/5/11 12:41:44

k8s搭建配置

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
k8s搭建配置

安装k8s前要先安装docker——K8s 本身不直接管容器,得靠一个 “容器运行时” 来干活,以前最主流的就是 Docker,所以大家习惯了先装 Docker 再搭 K8s。

yum install -y yum-utils

yum-utils提供了yum-config-manager命令,用于添加、管理 YUM 软件源,-y参数表示安装时自动确认所有交互。

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

添加阿里云提供的 Docker 官方 YUM 镜像源,后续安装 Docker 时会从这个源下载,比国外源速度更快、更稳定。

yum install -y docker-ce-20.10.7 docker-ce-cli-20.10.7 containerd.io-1.4.6

安装指定版本 Docker

systemctl enable docker --now

开机自启

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://ccr.ccs.tencentyun.com",
"https://hub.xdark.top",
"https://dhub.kubesre.xyz",
"https://docker.kejilion.pro",
"https://docker.xuanyuan.me",
"https://docker.hlmirror.com",
"https://run-docker.cn",
"https://docker.sunzishaokao.com",
"https://image.cloudlayer.icu",
"https://docker.tbedu.top",
"https://hub.crdz.gq",
"https://docker.melikeme.cn",
"https://xuanyuan.cloud"
],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

以上的镜像源是为了docker拉取nginx,mysql,redis等配置的镜像源

关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

关闭selinux

sudo setenforce 0 sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

关闭swap分区

swapoff -a

sed -ri 's/.*swap.*/#&/' /etc/fstab

hostnamectl set-hostname k8s-master

hostnamectl set-hostname k8s-node
设置主机名

cat >> /etc/hosts << EOF
192.168.255.210 k8s-master
192.168.255.201 k8s-node1
EOF

加载 br_netfilter 内核模块——br_netfilter是 Linux 内核中负责桥接流量过滤的模块,它能让iptables/ip6tables对网桥(bridge)设备上的数据包进行过滤和转发,是 K8s 网络插件(如 Calico、Flannel)正常工作的基础。

cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF

配置桥接流量的 iptables 规则——如果不开启这些参数,桥接的流量会绕过 iptables,导致网络策略、服务转发失效,集群内部无法正常通信。

cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF

应用sysctl配置

sudo sysctl --system

安装kubelet kubeadm kubectl

配置k8s源地址

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

安装

yum install -y kubelet-1.20.9 kubeadm-1.20.9 kubectl-1.20.9

开机自启

sudo systemctl enable --now kubelet

检测kubelet是否成功运行

systemctl status kubelet

不成功因为缺少了文件执行下面命令初始化后就行了

master节点

创建并写入 images.sh 脚本——把镜像拉取下来
sudo tee ./images.sh <<-'EOF'
#!/bin/bash
images=(
kube-apiserver:v1.20.9
kube-proxy:v1.20.9
kube-controller-manager:v1.20.9
kube-scheduler:v1.20.9
coredns:1.7.0
etcd:3.4.13-0
pause:3.2
)
for imageName in ${images[@]} ; do
docker pull registry.cn-hangzhou.aliyuncs.com/lfy_k8s_images/$imageName
done
EOF

给脚本添加执行权限并运行
chmod +x ./images.sh && ./images.sh

kubeadm init \
--apiserver-advertise-address=192.168.255.210 \

#注意改成自己的ip
--control-plane-endpoint=k8s-master \

#改成自己的主机名
--image-repository registry.cn-hangzhou.aliyuncs.com/lfy_k8s_images \
--kubernetes-version v1.20.9 \
--service-cidr=10.96.0.0/16 \
--pod-network-cidr=10.244.0.0/16

# 如果初始化失败,重置kubeadm
kubeadm reset

# 清理相关配置文件
rm -rf /etc/cni/net.d $HOME/.kube/config

# 清理 iptables 规则
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X

# 恢复 iptables 默认策略
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

检查有没有该环境变量

[root@master yum.repos.d]# echo $KUBECONFIG

没有则输入以下命令执行

export KUBECONFIG=/etc/kubernetes/admin.conf

查看加入master命令

kubeadm token create --print-join-command

安装网络插件calico——多半错误要么是下载的文件不全缺失了,要么版本不对

1.curl -LO https://docs.projectcalico.org/v3.19/manifests/calico.yaml

2.curl -C - -LO --retry 20 --retry-delay 2 --connect-timeout 10 https://docs.projectcalico.org/v3.19/manifests/calico.yaml

3.curl -C - -LO https://docs.projectcalico.org/v3.19/manifests/calico.yaml

kubectl apply -f calico.yaml

node节点加入集群

然后在master节点上输入

kubectl get node

得到图片结果ready即为成功

#图形化界面dashboard

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.3.1/aio/deploy/recommended.yaml

kubectl get pod -A#查看是否两个都runnning

kubectl delete pod ***#如果没启动成功试着重启

kubectl edit svc kubernetes-dashboard -n kubernetes-dashboard#修改nodeport通过浏览器访问

kubectl get svc -n kubernetes-dashboard#查看端口用来浏览器访问

#用https://ip:端口号 访问(访问不了的话点空白处输thisisunsafe)即可

登陆方式token

1. kubectl -n kubernetes-dashboard describe sa kubernetes-dashboard | grep Tokens

2. kubectl -n kubernetes-dashboard describe secretkubernetes-dashboard-token-cfxbm

加租部分是1查出来的token

3.再把查出来的token输入就可以登录k8s了

#但这个没有权限,接下来设置新用户token登录

vi sa-dashboard-admin.yaml

apiVersion: v1
kind: ServiceAccount
metadata:
labels:
k8s-app: kubernetes-dashboard
name: ljh
namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard-oldboyedu
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: ljh
namespace: kubernetes-dashboard

#apply

kubectl -n kubernetes-dashboard describe sa ljh | grep Tokens

#都是kubernetes-dashboard的namespace

kubectl secret describe ljh-token-wglw6

#再用新的token登录即可

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/11 12:40:43

Dell G15终极散热指南:开源温度控制中心完全解析

Dell G15终极散热指南&#xff1a;开源温度控制中心完全解析 【免费下载链接】tcc-g15 Thermal Control Center for Dell G15 - open source alternative to AWCC 项目地址: https://gitcode.com/gh_mirrors/tc/tcc-g15 还在为游戏时笔记本过热降频而烦恼吗&#xff1f;…

作者头像 李华
网站建设 2026/5/11 12:40:43

别再死记硬背公式了!用Python+NumPy手把手实现无人机姿态转换(欧拉角/四元数/DCM)

用PythonNumPy实战无人机姿态转换&#xff1a;从理论到代码的完全指南 无人机在空中飞行时的每一个动作&#xff0c;本质上都是三维空间中的姿态变换。无论是平稳悬停还是急速转弯&#xff0c;背后都离不开欧拉角、四元数和方向余弦矩阵这三种核心数学表示方法的精确计算。传统…

作者头像 李华
网站建设 2026/5/11 12:40:24

告别加载慢!QGIS 3.x 加载Google/Bing卫星影像的优化配置与避坑指南

QGIS卫星影像加载性能优化实战&#xff1a;从卡顿到流畅的进阶指南 当你在QGIS中加载Google或Bing卫星影像时&#xff0c;是否经历过漫长的等待和频繁的加载失败&#xff1f;作为地理信息领域的专业工具&#xff0c;QGIS的在线地图加载性能直接影响工作效率。本文将深入探讨如何…

作者头像 李华
网站建设 2026/5/11 12:40:15

B站m4s视频转换工具完整指南:三步实现无损格式转换

B站m4s视频转换工具完整指南&#xff1a;三步实现无损格式转换 【免费下载链接】m4s-converter 一个跨平台小工具&#xff0c;将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 还在为B站缓存的视频无法在其他播…

作者头像 李华