kubeadmin搭建自建k8s集群

这篇具有很好参考价值的文章主要介绍了kubeadmin搭建自建k8s集群。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、安装要求

在开始之前,部署Kubernetes集群的虚拟机需要满足以下几个条件:

  1. 操作系统 CentOS7.x-86_x64
  2. 硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多【注意master需要两核】
  3. 可以访问外网,需要拉取镜像,如果服务器不能访问外网,需要提前下载镜像包并导入节点服务器中(网上还有其他可用的国内镜像,但是我尝试过容易出现一些问题,所以我就干脆直接按照官网要求下载对应的镜像文件)
  4. 禁止swap分区

二、环境准备

mac 上安装虚拟机软件:VMware Fusion 12

centos7镜像:CentOS-7-x86_64-DVD-2207-02.iso

三台centos7虚拟机(配置静态 IP,防止 IP 的变化

节点

ip地址

master

192.168.2.128

work node1

192.168.2.129

work node2

192.168.2.130

三、操作步骤

1、依次在每台虚拟机上将下列指令均执行一遍

 1 # 关闭防火墙
 2 systemctl stop firewalld
 3 systemctl disable firewalld
 4 
 5 # 关闭selinux
 6 # 永久关闭
 7 sed -i 's/enforcing/disabled/' /etc/selinux/config  
 8 # 临时关闭
 9 setenforce 0  
10 
11 # 关闭swap
12 # 临时
13 swapoff -a 
14 # 永久关闭
15 sed -ri 's/.*swap.*/#&/' /etc/fstab
16 #修改主机名并且做域名解析
17 # 根据规划设置主机名【master节点上操作】
18 hostnamectl set-hostname k8smaster
19 # 根据规划设置主机名【node1节点操作】
20 hostnamectl set-hostname k8snode1
21 # 根据规划设置主机名【node2节点操作】
22 hostnamectl set-hostname k8snode2
23 
24 # 在master添加hosts
25 cat >> /etc/hosts << EOF
26 192.168.2.128 k8smaster
27 192.168.2.129 k8snode1
28 EOF
29 
30 
31 # 将桥接的IPv4流量传递到iptables的链
32 cat > /etc/sysctl.d/k8s.conf << EOF
33 net.bridge.bridge-nf-call-ip6tables = 1
34 net.bridge.bridge-nf-call-iptables = 1
35 EOF
36 # 生效
37 sysctl --system  
38 
39 # 时间同步
40 yum install ntpdate -y
41 ntpdate time.windows.com

 2、安装Docker/kubeadm/kubelet/kubectl

所有节点安装Docker/kubeadm/kubelet ,Kubernetes默认CRI(容器运行时)为Docker,因此先安装Docker

2.1、安装Docker 

1)配置docker 的阿里yum源

1 cat >/etc/yum.repos.d/docker.repo<<EOF
2 [docker-ce-edge]
3 name=Docker CE Edge - \$basearch
4 baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/7/\$basearch/edge
5 enabled=1
6 gpgcheck=1
7 gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
8 EOF

 2)yum安装docker

1 # yum安装
2 yum -y install docker-ce
3 
4 # 查看docker版本
5 docker --version  
6 
7 # 启动docker
8 systemctl enable docker
9 systemctl start docker

 3)配置docker的镜像源

1 cat >> /etc/docker/daemon.json << EOF
2 {
3   "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]
4 }
5 EOF

 4)重启docker

1 systemctl restart docker

 2.2、添加kubernetes软件yum源

1 cat > /etc/yum.repos.d/kubernetes.repo << EOF
2 [kubernetes]
3 name=Kubernetes
4 baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
5 enabled=1
6 gpgcheck=0
7 repo_gpgcheck=0
8 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
9 EOF
2.3、安装kubeadm,kubelet和kubectl
1 # 安装kubelet、kubeadm、kubectl,同时指定版本
2 yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0
3 # 设置开机启动
4 systemctl enable kubelet

3、部署master节点

1)在master 节点上执行kubeadm init

1 # 参数解释:
2 # --image-repository 指定拉取kubernetes所需组件的镜像仓库
3 # --pod-network-cidr 设置pod的地址段
4 kubeadm init --apiserver-advertise-address=192.168.2.128 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version=1.18.0  --pod-network-cidr=10.244.0.0/16

注意参数 --pod-network-cidr这个参数值的设置可以是192.168.0.0,或者是10.244.0.0,这个值会在后面的配置网络插件kube-flannel.yml中需要与之对应,很重要,否则会导致flannel pod启动失败,可能出现如下图错误

2)出现如下提示即代码 kubeadm init 执行成功

kubeadmin搭建自建k8s集群,kubernetes,容器,云原生

3)按照提示执行如下指令

1 mkdir -p $HOME/.kube
2 sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
3 sudo chown $(id -u):$(id -g) $HOME/.kube/config

 4)查看master节点状态,为NotReady

kubectl get nodes

4、部署Slave节点(以node1节点为例)

1)在node1节点下输入kubeadm init 执行成功后输出的指令kubeadm join xxxxx

1 kubeadm join 192.168.2.128:6443 --token 2p3p1k.iqoylq7ysjzph6ch \                                                                                                               
2     --discovery-token-ca-cert-hash sha256:ff50efea2f2a2679e7xxxxxxxxxxxxxxx7770931434ed5b2f9f1ea1

2)上述token具有有效期,到期后需要使用如下指令重新生成token

kubeadm token create --print-join-command

5、部署CNI网络插件Flannel

1)kube-flannel.yml文件下载

每个节点上都需要下载如下镜像到本地仓库!!

2)kube-flannel.yml文件中所用到的docker镜像均需要下载后导入到本地镜像仓库中(每一个节点都需要执行操作!!kubeadmin搭建自建k8s集群,kubernetes,容器,云原生 

3)执行如下命令生成flannel pod,联通节点之间的网络

1 [root@k8smaster ~]# kubectl create -f kube-flannel.yml 
2 namespace/kube-flannel created
3 clusterrole.rbac.authorization.k8s.io/flannel created
4 clusterrolebinding.rbac.authorization.k8s.io/flannel created
5 serviceaccount/flannel created
6 configmap/kube-flannel-cfg created
7 daemonset.apps/kube-flannel-ds created

 4)执行上述命令后查看pods,nodes的状态(至此,集群搭建完成!)文章来源地址https://www.toymoban.com/news/detail-859507.html

kubectl get nodes
kubectl get pods

到了这里,关于kubeadmin搭建自建k8s集群的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Containerd+Kubernetes搭建k8s集群

    视频教程地址:https://space.bilibili.com/3461573834180825/channel/seriesdetail?sid=3316691 之前写了一篇基于docker安装kubernetes的文章,这篇文档我们来使用containerd来安装kubernetes,相较于docker,containerd运行容器的时候效率更高,并且可以兼容docker镜像。基于docker安装kubernetes的文章地址:ht

    2024年02月07日
    浏览(43)
  • Kubernetes(k8s)上搭建nacos集群

    你需要准备一个Kubernetes集群,如图我的集群已经准备完毕: nacos可以将配置文件存储到数据库当中,所以我们要先准备一个拥有nacos数据表结构的数据库,这样的数据库镜像我已经准备好了,当然你也可以自己制作这个镜像: 我之前写过一篇Kubernetes上安装数据库的文章:h

    2024年02月03日
    浏览(67)
  • kubernetes(K8S)学习(一):K8S集群搭建(1 master 2 worker)

    kubernetes官网 :https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#installing-kubeadm-kubelet-and-kubectl GitHub :https://github.com/kubernetes/kubeadm 本文 :使用kubeadm搭建一个3台机器组成的k8s集群,1台master节点,2台worker节点。 由于k8s安装较麻烦,为防止出现其他异常,特此

    2024年04月09日
    浏览(63)
  • 二进制搭建 Kubernetes与k8s集群搭建(一)

    目录 二进制搭建 Kubernetes v1.20     操作系统初始化配置 部署 docker引擎 部署 etcd 集群 准备签发证书环境 在 master01 节点上操作      生成Etcd证书 在 node01 节点上操作 在 node02 节点上操作 部署 Master 组件 在 master01 节点上操作 部署 Worker Node 组件 在所有 node 节点上操作 在 mas

    2024年02月06日
    浏览(64)
  • Linux搭建 Kubernetes(K8S)集群详情教程

    当搭建 Kubernetes 集群时,涉及的详细步骤可能较多,以下是详细的 Kubernetes 单节点集群搭建步骤: 步骤 1: 准备工作 确保满足以下基本要求: 一台运行 Ubuntu 18.04 或更高版本的机器。 2 GB 或更多内存。 2 个 CPU 核心或更多。 安装了 Docker。 步骤 2: 安装 Docker 步骤 3: 安装 kubea

    2024年01月17日
    浏览(60)
  • k8s容器化搭建redis集群

    k8s中有三台worker节点 192.168.1.100 192.168.1.101 192.168.1.102 创建配置字典,挂载redis的配置文件 key为redis.conf value为: 通过statefulset创建redis集群,有状态应用可以是副本之间有主从关系,数据需要做持久化。 在项目空间的 工作负载 - 有状态副本集 - 创建 进行 Redis 的创建。 基本信

    2024年02月06日
    浏览(31)
  • Kubernetes(K8s)使用 kubeadm 方式搭建多 master 高可用 K8s 集群

    本篇主要针对上篇文章的单 master 节点的 K8s 集群上搭建多 master 节点集群 和 LB 负载均衡服务器。 Kubernetes(K8S)集群搭建基础入门教程 虚拟机 IP 地址: IP 操作系统 主机名称 192.168.2.121 centos7.9 k8s-master01 192.168.2.124 centos7.9 k8s-master02 192.168.2.125 centos7.9 k8s-node01 192.168.2.126 centos

    2023年04月26日
    浏览(48)
  • KubeAdmin方式搭建K8S(1.26.0)

    本次安装K8S版本为1.26.0 ip 描述 配置 192.168.233.221 master节点 CPU(2C) 内存(2G) 硬盘(50G) 192.168.233.222 node1节点 CPU(2C) 内存(2G) 硬盘(50G) 192.168.233.223 node2节点 CPU(2C) 内存(2G) 硬盘(50G) 服务器环境配置三台服务器都要执行下面的操作 kubernetes和docker在运行中会产

    2024年02月11日
    浏览(35)
  • 使用containerd从0搭建k8s(kubernetes)集群

    准备两台服务器节点,如果需要安装虚拟机,可以参考《wmware和centos安装过程》 机器名 IP 角色 CPU 内存 centos01 192.168.109.130 master 4核 2G centos02 192.168.109.131 node 4核 2G 设置主机名,所有节点都执行 关闭防火墙,所有节点都执行 关闭swap内存,所有节点都执行 配置网桥,所有节点

    2024年02月08日
    浏览(64)
  • 【kubernetes】k8s高可用集群搭建(三主三从)

    目录 【kubernetes】k8s高可用集群搭建(三主三从) 一、服务器设置 二、环境配置 1、关闭防火墙 2、关闭selinux 3、关闭swap 4、修改主机名(根据主机角色不同,做相应修改) 5、主机名映射 6、将桥接的IPv4流量传递到iptables的链 7、时间同步 8、master之间进行免密登录设置 三、

    2024年02月09日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包