使用kubeadm部署kubernets单节点集群
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,实验拓扑图:实验环境:首先关闭三台主机的防火墙分别为三台主机添加三块网卡第一块网卡使设置为172.20.0.0/16字段的节点网络第二块网卡设置为10.244.0.0/16字段的pod网络第三块网卡设
千家信息网最后更新 2026年11月02日使用kubeadm部署kubernets单节点集群
实验拓扑图:
实验环境:
首先关闭三台主机的防火墙
分别为三台主机添加三块网卡
第一块网卡使设置为172.20.0.0/16字段的节点网络
第二块网卡设置为10.244.0.0/16字段的pod网络
第三块网卡设置为10.96.0.0/12字段的service网络
设置三台主机的主机名,配置三台主机的/etc/hosts,让三台主机可以根据主机名进行地址解析
备注:在进行服务安装之前一定要确保三台主机的内核已经升级到4.0以上。
第一步master节点的初始化
使用阿里云的镜像站点进行rpm包下载
首先下载docker的镜像站点的repo文件wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo手动配置kubernets镜像站点的repo文件[kubernets]name=kubernetsbaseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/enabled=1gpgcheck=0重新构建yum仓库yum repolist 在master节点安装相应的程序包
配置服务文件并设置其开机自启
yum install -y docker-ce kubeadm kubectlsystemctl restart dockersystemctl enable dockersystemctl enable kubelet //kubelet服务组件在完成init初始化之前不要启动将一下两个配置文件中的数据更改为1/proc/sys/net/bridge/bridge-nf-call-iptables/proc/sys/net/bridge/bridge-nf-call-ip6tables禁用swap功能vim /etc/sysconfig/kubeletKUBELET_EXTRA_ARGS="--fail-swap-on=false"在执行kubead init控制节点初始化的时候添加--ignore-preflight-errors=Swap选项在开始进行kubeadm init对master节点进行初始化的时候需要注意,因为k8s镜像仓库无法访问所以需要提前使用docker服务到dockerhub仓库中将所需要的k8s镜像拉去下来,然后重新打上标签
配置docker服务的加速器
vim /etc/docker/daemon.json{ "registry-mirrors": ["https://rvnrd340.mirror.aliyuncs.com"] //阿里云的加速镜像站点}重新启动docker服务systemctl daemon-reloadsystemctl restart docker从dockerhub上获取镜像,这里使用最新版的镜像
下载完之后对镜像进行标签替换
docker pull mirrorgooglecontainers/kube-apiserver-amd64:v1.15.0docker pull mirrorgooglecontainers/kube-apiserver-amd64:v1.15.0docker pull mirrorgooglecontainers/kube-controller-manager-amd64:v1.15.0docker pull mirrorgooglecontainers/kube-scheduler-amd64:v1.15.0docker pull mirrorgooglecontainers/kube-proxy-amd64:v1.15.0docker pull mirrorgooglecontainers/pause:3.1docker pull mirrorgooglecontainers/etcd-amd64:3.3.10docker pull coredns/coredns:1.3.1更改标签
docker tag docker.io/mirrorgooglecontainers/kube-proxy-amd64:v1.15.0 k8s.gcr.io/kube-proxy-amd64:v1.15.0docker tag docker.io/mirrorgooglecontainers/kube-scheduler-amd64:v1.15.0 k8s.gcr.io/kube-scheduler-amd64:v1.15.0docker tag docker.io/mirrorgooglecontainers/kube-apiserver-amd64:v1.15.0 k8s.gcr.io/kube-apiserver-amd64:v1.15.0docker tag docker.io/mirrorgooglecontainers/kube-controller-manager-amd64:v1.15.0 k8s.gcr.io/kube-controller-manager-amd64:v1.15.0docker tag docker.io/mirrorgooglecontainers/etcd-amd64:3.3.10 k8s.gcr.io/etcd-amd64:3.3.10docker tag docker.io/mirrorgooglecontainers/pause:3.1 k8s.gcr.io/pause:3.1docker tag docker.io/coredns/coredns:1.3.1 k8s.gcr.io/coredns:1.3.1开始集群控制节点初始化
kubeadm init --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --ignore-preflight-errors=Swap
将最后生成的密钥信息保存下来,部署控制节点的时候需要使用此认证信息
kubeadm join 172.20.128.2:6443 --token vasw7s.h3v3fe3mzg3pqgil \ --discovery-token-ca-cert-hash sha256:c2f2fafd5d43f23a23e9b15c9965c10708c45dbdc07b544912b9e9394a7a2b45配置基础环境
mkdir -p $HOME/.kubecp -i /etc/kubernetes/admin.conf $HOME/.kube/config安装部署flannel网络附件kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml查看k8s集群组件是否运行kubectl get pods -n kube-system
此时mstaer部署完成,接下来安装部署两个node节点
将master节点的镜像站点的repo文件的拷贝到两个node节点中,关闭node节点的防火墙
scp /etc/yum.repos.d/docker-ce.repo node1:/etc/yum.repos.d/scp /etc/yum.repos.d/kubernets.repo node1:/etc/yum.repos.d/scp /etc/yum.repos.d/docker-ce.repo node2:/etc/yum.repos.d/scp /etc/yum.repos.d/kubernets.repo node2:/etc/yum.repos.d/systemctl stop firewalldsystemctl disable firewalld安装部署软件yum install -y docker-ce kubelet kubeadm禁用swap功能vim /etc/sysconfig/kubeletKUBELET_EXTRA_ARGS="--fail-swap-on=false"启用docker服务systemctl start dockersystemctl enable docker设置kubeletl的开机自动启动systemctl enable kubelet设置一下两个文件内容为1echo "1" > /proc/sys/net/bridge/bridge-nf-call-iptablesecho "1" > /proc/sys/net/bridge/bridge-nf-call-ip6tables执行将node节点加入到集群中命令时会需要以下三个镜像直接从主节点将镜像打包复制到node节点docker save -o myimage.gz k8s.gcr.io/kube-proxy quay.io/coreos/flannel k8s.gcr.io/pausescp muimage.gz node1:/scp muimage.gz node2:/在两个node节点上展开压缩包docker load -i myimages.gz分别在两个node节点执行master节点生成的密钥信息,注意在最后加上忽略swap的命令参数kubeadm join 172.20.128.2:6443 --token vasw7s.h3v3fe3mzg3pqgil --discovery-token-ca-cert-hash sha256:c2f2fafd5d43f23a23e9b15c9965c10708c45dbdc07b544912b9e9394a7a2b45 --ignore-preflight-errors=Swap执行kubectl get nodes查看整个集群的运行状态信息
节点
镜像
主机
服务
两个
文件
三台
配置
站点
集群
信息
网卡
网络
仓库
字段
时候
标签
控制
功能
命令
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
百单网互联网科技有限公司怎么样
互联网金融 科技
奇酷互联网科技公司
无线互联网科技
新浪科技互联网
奔汉互联网科技
互联网科技股有哪些
重庆科技学院互联网
央行互联网金融科技公司
宁夏科技产业互联网案例
华夏互联网科技业
链环科技传统企业怎么转型互联网
洛阳共同富裕互联网科技有限公司
工业互联网等科技实现智能化赋能
美国互联网科技实力
互联网企业科技类企业如何做账
从那以后互联网科技有限公司
35岁以上互联网科技行业
信承诺互联网科技有限公司
互联网科技创业计划的风险分析
互联网科技
南京欣网互联网络科技
北京路客互联网科技有限公司
互联网科技有限公司图片
深圳互联网科技公司
美国互联网黑科技
哈尔滨新华互联网科技
互联网科技商业
链环科技传统企业怎么转型互联网
张召忠谈中国互联网科技