【Linux】在centos快速搭建K8S1.18集群

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

使用 kubeadm 创建集群帮助文档

如果您需要以下几点,该工具是很好的选择:kubeadm

  • 一种简单的方法,让你尝试 Kubernetes,可能是第一次。
  • 现有用户自动设置群集并测试其应用程序的一种方式。
  • 其他生态系统和/或安装程序工具中的构建块,具有更大的 范围。

(一)安装要求

  • 一台或多台机器,操作系统 CentOS7.x-86_x64

  • 硬件配置:2GB或更多RAM,2个CPU或更多,硬盘40GB或更多
    可以访问外网,可以远程连接,需要拉取镜像,如果服务器不能上网,需要提前下载镜像并导入节点

  • 在快速部署k8s(1.18)集群,采用前期准备操作在k8smaster上面完成,在需要分节点操作后以k8smaster克隆出k8snode1及k8snode2这两个节点。

操作系统 IP 主机名
CentOS7.x-86_x64 10.0.0.50 k8s-master
CentOS7.x-86_x64 10.0.0.51 k8s-node1
CentOS7.x-86_x64 10.0.0.52 k8s-node2

(二)准备环境

创建一个虚拟机k8smaster进入开启虚拟机:

关闭防火墙 
# systemctl stop firewalld
# systemctl disable firewalld     (关闭防火墙,并设置开机不自启)
关闭SELinux(最好设置永久关闭)
# selinux sed -i 's/enforcing/disabled/' /etc/selinux/config 
临时关闭
# setenforce 0  
关闭swap 
临时
# swapoff -a  
永久
# sed -ri 's/.*swap.*/#&/' /etc/fstab 
  • 根据规划设置主机名:hostnamectl set-hostname (k8smaster)
# hostnamectl set-hostname k8smaster
  • 在master中添加hosts
# cat >> /etc/hosts << EOF
10.0.0.50 k8smaster
10.0.0.51 k8snode1
10.0.0.52 k8snode2
EOF

检测:
通过命令:
# ping k8smaster
# ping k8snode1
# ping k8snode2
来测试是否设置好静态名称解析
或者通过指令: 查看cat /etc/hosts  文件里是否有三个指令
  • 将桥接的IPv4流量传递到iptables的链
# cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
生效
# sysctl --system  
时间同步
# yum install ntpdate -y 
# ntpdate time.windows.com

(三)所有节点安装docker/kubeadm/kubelet

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 
启动docker
# systemctl enable docker && systemctl start docker 
# docker --version (查看插件版本)
Docker version 18.06.1-ce, build e68fc7a

个人加速器配备,进入阿里云(容器镜像服务 (aliyun.com))镜像加速器选择centos复制加速器地址

【Linux】在centos快速搭建K8S1.18集群,Linux,linux,centos,kubernetes,阿里云,运维,服务器

# mkdir -p /etc/docker
# tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://x02mrg1w.mirror.aliyuncs.com"]
}
EOF
# systemctl daemon-reload
# systemctl restart docker

2.添加阿里云YUM软件源

# 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 https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF

3.kubeadm,kubelet和kubectl

# yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0
# systemctl enable kubelet

4.克隆k8snode1及k8snode2

完成如上操作后就可以克隆出k8snode1及k8snode2这两个节点了!!!

【Linux】在centos快速搭建K8S1.18集群,Linux,linux,centos,kubernetes,阿里云,运维,服务器

【Linux】在centos快速搭建K8S1.18集群,Linux,linux,centos,kubernetes,阿里云,运维,服务器

【Linux】在centos快速搭建K8S1.18集群,Linux,linux,centos,kubernetes,阿里云,运维,服务器

【Linux】在centos快速搭建K8S1.18集群,Linux,linux,centos,kubernetes,阿里云,运维,服务器

【Linux】在centos快速搭建K8S1.18集群,Linux,linux,centos,kubernetes,阿里云,运维,服务器

5.部署kubeadm master

在10.0.0.50(master)执行:

# kubeadm init \ --apiserver-advertise-address=10.0.0.50 \ --image-repository registry.aliyuncs.com/google_containers \ --kubernetes-version v1.18.0 \ --service-cidr=10.96.0.0/12 \ --pod-network-cidr=10.244.0.0/16

【Linux】在centos快速搭建K8S1.18集群,Linux,linux,centos,kubernetes,阿里云,运维,服务器

6.加入kubernets node

在10.0.0.51/52(k8snode1和k8snode2)执行,
向集群添加新节点,执行在kubeadm init输出的kubeadm join命令:

# kubeadm join 10.0.0.50:6443 --token esce21.q6hetwm8si29qxwn

【Linux】在centos快速搭建K8S1.18集群,Linux,linux,centos,kubernetes,阿里云,运维,服务器

报错!!!

# echo 1 > /proc/sys/net/ipv4/ip_forward
# kubeadm init
执行完这两个命令后
检测:swap 命令(free -t)
防火墙是否关闭: systemctl status firewalld;
如果没有关闭则输入systemctl stop firewalld;systemctl disable firewalld
输入getenforce  状态为disable(标黄)
sysctl --system

【Linux】在centos快速搭建K8S1.18集群,Linux,linux,centos,kubernetes,阿里云,运维,服务器

如果还是执行不成功则使用命令kubeadm reset 清空数据,再进行如上的步骤

默认token有效期为24小时,当过期之后,该token就不可用了。这时就需要重新创建token,操作如下:在master节点操作如下: kubeadm token create --print-join-command

7.部署CNI网络插件

Centos无法访问外网
本质错误是vim /etc/sysconfig/network-scripts/ifcfg-ens33 配置文件中的错误,网关的错误,子网掩码错误则会导致无法ping通内网。

# wget
https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
# kubectl get nodes
NAME	STATUS	ROLES	AGE	VERSION	
k8smaster 	NotReady	master 117m	v1.18.0	

【Linux】在centos快速搭建K8S1.18集群,Linux,linux,centos,kubernetes,阿里云,运维,服务器

# kubeadm token create --print-join-command

# kubectl apply -fhttps://raw.githubusercontent.com/coreos/fl annel/master/Documentation/kube-flannel.yml namespace/kube-flannel created
clusterrole.rbac.authorization.k8s.io/flannel created
clusterrolebinding.rbac.authorization.k8s.io/flannel created serviceaccount/flannel created
configmap/kube-flannel-cfg created
daemonset.apps/kube-flannel-ds created

# kubectl get pods -n kube-system
NAME	READY	STATUS	RESTARTS	AGE	119m	
coredns-7ff77c879f-dfl52	0/1	Pending	
coredns-7ff77c879f-pmqvz	0/1	Pending	119m	
etcd-k8smaster kube-apiserver-k8smaster1/11/1 Runn ing Running120m120m
kube-controller-manager-k8smaster	1/1	Running	120m	
kube-proxy-24kdh	1/1	Running	Running	72s	
kube-proxy-h8p4d	1/1	2m31s	
kube-proxy-w6bfp	1/1	Running	119m	
kube-scheduler-k8smaster	1/1	Running	120m	

# curl -fsSL https://addons.kuboard.cn/kuboard/kuboard-static-

【Linux】在centos快速搭建K8S1.18集群,Linux,linux,centos,kubernetes,阿里云,运维,服务器

# sh kuboard.sh current ip address is 10.0.0.50 create file /root/kuboard-sa.yaml

# kubectl get pods -n kube-system
NAME coredns-7ff77c879f-dfl521/1 READY STATUS Running RESTARTS AGE121m
coredns-7ff77c879f-pmqvz	1/1	Running	121m	
etcd-k8smaster	1/1	Running	121m	
kube-apiserver-k8smaster	1/1	Running	0	121m	
kube-proxy-24kdh kube-controller-manager-k8smaster1/11/1 Running Running121m2m28s
kube-proxy-h8p4d	1/1	Running	Running	3m47s	
kube-proxy-w6bfp	1/1	121m	
kube-scheduler-k8smaster	1/1	Running	121m	

# kubectl get nodes
NAME	STATUS	ROLES	AGE	VERSION	
k8smaster	Ready	master	121m	v1.18.0	
k8snode1	Ready	<none>	4m15s	v1.18.0	
k8snode2	Ready	<none>	2m56s	v1.18.0

【Linux】在centos快速搭建K8S1.18集群,Linux,linux,centos,kubernetes,阿里云,运维,服务器

查看到各项状态都是run、ready的模式的状态则可以进入:http:\10.0.0.50

用户名: admin
密 码: Kuboard123
新建一个集群

【Linux】在centos快速搭建K8S1.18集群,Linux,linux,centos,kubernetes,阿里云,运维,服务器

8.测试kubernetes集群

在Kubernetes集群中创建一个pod,验证是否正常运行:

# kubectl create deployment nginx --image=nginx
# kubectl expose deployment nginx --port=80 --type=NodePort   //检测、验证
# kubectl get pod,svc   //创建pod

【Linux】在centos快速搭建K8S1.18集群,Linux,linux,centos,kubernetes,阿里云,运维,服务器

访问网址:http:/10.0.0.51:31696 访问nginx

【Linux】在centos快速搭建K8S1.18集群,Linux,linux,centos,kubernetes,阿里云,运维,服务器文章来源地址https://www.toymoban.com/news/detail-861711.html

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

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

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

相关文章

  • Centos 7搭建k8s集群

    Centos 7系统搭建 详细步骤请参考https://blog.csdn.net/WHQ556677/article/details/122283578 注:centos安装后默认不开启网络连接,需要按照以下步骤进行开启。 1、VMware网络模式选择NAT模式 2、进入centos7下 /etc/sysconfig/network-scripts/目录下,编辑ifcfg-ensxxx(默认是ifcfg-ens33)修改为一下配置文件

    2024年02月03日
    浏览(13)
  • k8s简介及虚拟机快速搭建k8s集群

    1.1、部署方式的变迁 传统部署时代: 在物理服务器上运行应用程序 无法为应用程序定义资源边界 导致资源分配问题 例如,如果在物理服务器上运行多个应用程序,则可能会出现一个应用程序占用大部分资源的情况, 结果可能导致其他应用程序的性能下降。 一种解决方案是

    2024年02月12日
    浏览(12)
  • k8s简介、虚拟机快速搭建k8s集群、集群管理方式及K8S工作原理和组件介绍

    1.1、部署方式的变迁 传统部署时代: 在物理服务器上运行应用程序 无法为应用程序定义资源边界 导致资源分配问题 例如,如果在物理服务器上运行多个应用程序,则可能会出现一个应用程序占用大部分资源的情况, 结果可能导致其他应用程序的性能下降。 一种解决方案是

    2024年02月12日
    浏览(12)
  • 快速搭建k8s集群,使用kubekey搭建简单搭建

    1. 安装环境依赖 2. 下载KubeKey工具,下载好后就会出现 kk 这个可执行文件 3. 使用KubeKey生成一个k8s集群启动模板k8s.yaml,编辑好账号密码后保存 模板如下:  需要调整地方: 4.  执行刚才的文件 此时界面会安装下载各种组件并安装,大概等待5-10分钟即可完成安装 6. 安装完

    2024年02月09日
    浏览(14)
  • 5分钟快速搭建k8s集群1.29.x

    配置主机名和hosts 配置主机名 hostnamectl set-hostname node1 hostnamectl set-hostname node2 hostnamectl set-hostname node3 vim /etc/hosts 172.19.35.202 node1 172.19.35.203 node2 172.19.35.204 node3 测试 hostname ping -c 3 node2 配置时间同步 关闭防火墙 这两条命令分别用于停止并禁用防火墙( firewalld )和DNS服务( d

    2024年04月28日
    浏览(2)
  • CentOS 7.9 环境下搭建k8s集群(一主两从)

    目录 一、硬件准备(虚拟主机) 二、环境准备 1、所有机器关闭防火墙 2、所有机器关闭selinux 3、所有机器关闭swap 4、所有机器上添加主机名与ip的对应关系 5、在所有主机上将桥接的ipv4流量传递到iptables的链 三、为所有节点安装docker 四、集群部署 1、为所有节点修改仓库,

    2024年03月14日
    浏览(19)
  • RKE快速搭建离线k8s集群并用rancher管理界面

    转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。感谢您喜爱本文,请文明转载,谢谢。 本文记录使用RKE快速搭建一套k8s集群过程,使用的rancher老版本2.5.7(当前最新版为2.7)。适用于初学测试、测试环境及定制化要求不高的生产环境。 关联文章: 1.

    2024年01月24日
    浏览(19)
  • 用 Helm 在 k8s 上快速搭建 MySQL 主从集群 ,并提供对外访问

    核心一览 Helm 的使用 NFS 搭建 配置文件 一点心得 简单回忆下这个运行环境 👇(很烦,感觉给自己挖了个大坑🕳/(ㄒoㄒ)/~~) 宿主机 Traefik Minikube Ingress Service Pod helm 官网快速上手👉 helm.sh/zh/docs/int… 安装 下载地址 : github.com/helm/helm/r… 三大概念 Chart 代表着 Helm 包。 Repos

    2024年02月11日
    浏览(11)
  • K8S集群安装与部署(Linux系统)

    一、环境说明:CentOS7、三台主机(Master:10.0.0.132、Node1:10.0.0.133、Node2:10.0.0.134) 二、准备环境: 映射 关闭防火墙 三、etcd集群配置 安装etcd(Master) 修改etcd配置文件/etc/etcd/etcd.conf(Master) 安装K8S节点组件、etcd、flannel以及docker(Node1和Node2) 修改etcd配置文件/etc/etcd/et

    2024年02月11日
    浏览(18)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包