K8S安装并搭建集群

1. 先给每台机器安装docker环境

卸载旧的docker

yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine

配置docker的yum库

yum install -y yum-utilsyum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

安装docker

yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

启动docker校验

# 启动Docker
systemctl start docker# 停止Docker
systemctl stop docker# 重启
systemctl restart docker# 设置开机自启
systemctl enable docker# 执行docker ps命令,如果不报错,说明安装启动成功
docker ps

最后配置一下docker的镜像加速

首先访问阿里云网站: https://www.aliyun.com/

指令如下

# 创建目录
mkdir -p /etc/docker# 复制内容,注意把其中的镜像加速地址改成你自己的
tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://xxxx.mirror.aliyuncs.com"]
}
EOF# 重新加载配置
systemctl daemon-reload# 重启Docker
systemctl restart docker

2. 安装k8s

配置k8s的源

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[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.gpghttps://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

卸载旧版本

yum remove -y kubelet kubeadm kubectl

查看可安装的版本

yum list kubelet--showduplicates | sort -r

安装kubelet kubeadm kubectl

yum install -y kubelet-1.21.0 kubeadm-1.21.0 kubect1-1.21.0

开机自启

systemctl enable kubelet && systemctl start kubelet

3. 搭建k8s集群

**创建k8s所需的docker镜像,所有机器都执行(node机器不需要执行那么多镜像拉取,这边都给执行了也不影响)

images=(kube-apiserver:v1.21.0
kube-proxy:v1.21.0
kube-controller-manager:v1.21.0
kube-scheduler:v1.21.0
coredns:v1.8.8
etcd:3.4.13-0
pause:3.4.1
)for imagename in ${images[@]};dodocker pull registry.cn-hangzhou.aliyuncs.com/lfy_k8s_images/$imagename
donechmod +x images.sh && ./images.sh

注意1.21.0版本的k8s的coredns镜像需要结合阿里云特殊处理,重新打标签

docker tag registry.cn-hangzhou.aliyuncs.com/lfy_k8s_images/coredns:v1.8.0 registry.cn-hangzhou.aliyuncs.com/lfy_k8s_images/coredns/coredns:v1.8.0

**初始化master机器的节点

执行 kubeadm init

kubeadm init  --apiserver-advertise-address=192.168.230.176 --image-repository registry.cn-hangzhou.aliyuncs.com/lfy_k8s_images --kubernetes-version v1.21.0 --service-cidr=10.96.0.0/16 --pod-network-cidr=192.169.0.0/16初始化完成后会生成worker节点需要执行的命令
kubeadm join 192.168.230.176:6443 --token y16z6x.hruk6wmcs5yal5fh  --discovery-token-ca-cert-hash sha256:3e403d3750b482b5904d328768d10287441fdc0e3de77d082b45688c459faf36注意 service-cidr  某些pod负载均衡所需的ip范围pod-network-cidr   pod所需的ip范围这两个不能和apiserver-advertise-address重复了

如果初始化master节点和worker节点报错则看我这篇博客k8s遇到的常见问题及解决-CSDN博客

**然后master上面应用一个网络插件

kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml

**k8s集群为了访问通,默认用的是iptables,并发量过大的时候性能不好

修改为ipvs模式

kubectl edit cm kube-proxy -n kube-system修改mode='ipvs'

修改完之后需要删除之前的kube-proxy的所有pod,k8s集群有自愈能力会再次生成kube-proxy

kubectl delete pod kube-proxy-nhl5q -n kube-systempod后面跟名称  -n后面为名称空间

**查看集群状态都为run,并上面步骤没有问题则表示集群搭建成功

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/687934.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

撤销 git add 操作(忽略被追踪的文件)

文章目录 引言I git rm命令来取消暂存【推荐】II 撤销特定文件的暂存状态2.1 git rese2.2 git restoresee also引言 应用场景: 修改.gitignoregitignore只能忽略那些原来没有被追踪的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先…

R语言两种方法实现随机分层抽样

为了减少数据分布的不平衡&#xff0c;提供高样本的代表性&#xff0c;可将数据按特征分层一定的层次&#xff0c;在每个层次抽取一定量的样本&#xff0c;为分层抽样。分层抽样的特点是将科学分组法与抽样法结合在一起&#xff0c;分组减小了各抽样层变异性的影响&#xff0c;…

PHP+B/S架构 不良事件管理系统源码 医院不良事件报告系统源码,开发技术vue2+element+laravel8

PHPB/S架构 不良事件管理系统源码 医院不良事件报告系统源码&#xff0c;开发技术vue2elementlaravel8 技术架构&#xff1a;前后端分离&#xff0c;仓储模式&#xff0c;BS架构&#xff0c; 开发技术&#xff1a;PHPvscodevue2elementlaravel8mysql5.7&#xff0c;专业团队研…

算法练习day7

四数相加II 代码随想录 0454.四数相加II 454. 四数相加 II - 力扣&#xff08;LeetCode&#xff09; &#xff08;用时&#xff1a;0.5小时&#xff09; 思路 本道题是需要在四个数组中&#xff0c;各找一个数&#xff0c;这些数加起来能够等于0&#xff0c;那么就是答案元…

台灯哪种品牌的好?最好的台灯品牌排行榜强烈分享

台灯哪种品牌的好&#xff1f;众所周知&#xff0c;随着学习阶段的提升&#xff0c;孩子们面临的学业压力逐渐增大。在这样的背景下&#xff0c;夜晚的学习成了孩子们的常态。然而&#xff0c;仅依赖室内的主灯显然不足以满足学习的光线需求&#xff0c;因此&#xff0c;配备一…

vscode切换分支及合并分支操作教程

工具&#xff1a;gitee、git 、vscode、Git Graph 点击可以看到分支管理明细。 一、前提 1、首先要有两个分支 &#xff08;1&#xff09;分支说明&#xff1a; test&#xff1a; 测试分支 feature/luo-20240508&#xff1a;自己的开发分支 &#xff08;2&#xff09;分支说…

C 语言中怎么产生真正的随机数?

在C语言中&#xff0c;要产生真正的随机数&#xff0c;我们通常使用标准库中的 <stdlib.h> 头文件中提供的随机数生成函数。 这些函数可以生成伪随机数&#xff0c;但它们在一定程度上是随机的&#xff0c;足以满足大多数应用程序的需求。 1. 伪随机数生成函数 C标准库…

2023年建筑特种作业人员安全生产知识试题

100分题库提供安全员考试试题、建筑安全员考试预测题、建筑安全员ABC考试真题、安全员证考试题库等&#xff0c;提供在线做题刷题&#xff0c;在线模拟考试&#xff0c;助你考试轻松过关。 判断题&#xff08;1-20&#xff09; 1.《建筑工程安全生产管理条例》是我国第一部关于…

2024年第四届电子信息工程与计算机科学国际会议(EIECS 2024)

2024年第四届电子信息工程与计算机科学国际会议(EIECS 2024) 2024 4th International Conference on Electronic Information Engineering and Computer Science 中国延吉 | 2024年9月27-29日 投稿截止日期&#xff1a;2023年7月15日 收录检索&#xff1a;EI Compendex和Sc…

解读计数器算法:原理、Java实现与优劣分析

计数器算法的介绍 计数器算法的基本原理是通过一个计数器来记录事件的发生次数。每当一个特定的事件发生时&#xff0c;计数器的值就会增加一。当需要检查这个事件发生的次数时&#xff0c;只需要查看计数器的当前值即可。这种方法简单直观&#xff0c;易于理解和实现。 想象…

nginx_01

1.安装 yum install epel-release -y # 安装yum的扩展包 yum install nginx -y systemctl start nginx.service #启动nginx systemctl enable nginx.service # netstat -lntup # 查看端口占用情况 # 可以看到nginx默认占用了80端口 2.nginx配置 # 注意配置文件的语法格式…

基于VOLOPV2的自动驾驶环境感知系统

基于VOLOPV2的自动驾驶环境感知系统是一个复杂的系统&#xff0c;它主要负责实时检测并识别周围环境中的各种物体和信息&#xff0c;为自动驾驶车辆提供必要的感知数据。以下是对该系统的一个简要介绍&#xff1a; 环境感知是自动驾驶系统中的一个关键部分&#xff0c;它依赖于…