当前位置: 首页 > news >正文

k8s的安装和部署

配置三台主机,分别禁用各个主机上的swap,并配置解析

systemctl mask swap.target
swapoff -a
vim /etc/fstab

配置这三个主机上的主机以及harbor仓库的主机

 所有主机设置docker的资源管理模式为system

[root@k8s-master ~]# vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://reg.timinglee.org"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}

将harbor仓库的证书保存  

scp /etc/docker/certs.d/reg.timinglee.org/ca.crt root@192.168.38.100:/etc/docker/certs.d/reg.timinglee.org/ca.crt

启动docker,查看docker信息

systemctl enable --now docker
docker info

 安装K8s部署工具

添加k8s仓库,下载kubelet需要的版本以及他的插件

dnf install kubelet-1.30.0 kubeadm-1.30.0 kubectl-1.30.0 -y

 设置kubectl的命令补齐功能

dnf install bash-completion -y
echo "source <(kubectl completion bash)" >> ~/.bashrc
source ~/.bashrc

在master主机上安装 cri-docker使用dockershim

dnf install libcgroup-0.41-19.el8.x86_64.rpm \
> cri-dockerd-0.3.14-3.el8.x86_64.rpm -y

 配置cri-docker的配置文件

 vim /lib/systemd/system/cri-docker.service
[Service]
Type=notify
ExecStart=/usr/bin/cri-dockerd --container-runtime-endpoint fd:// --networkplugin=cni --pod-infra-container-image=reg.timinglee.org/k8s/pause:3.9 #指定网络插件和基础容器镜像
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0 #超时时间
RestartSec=2 重启时间2s
Restart=always #设置总是重启

 在master节点拉取k8s需要的镜像,将镜像上传到harbor仓库

#给镜像打上标签
docker images | awk '/google/{ print $1":"$2}' | awk -F "/" '{system("docker tag "$0" reg.timinglee.org/k8s/"$3)}'
#上传镜像
docker images | awk '/k8s/{system("docker push "$1":"$2)}'

启动kubelet并进行初始化

systemctl status kubelet.servicekubeadm init --pod-network-cidr=10.244.0.0/16 \
--image-repository reg.timinglee.org/k8s \
--kubernetes-version v1.30.0 \
--cri-socket=unix:///var/run/cri-dockerd.sock

 指定集群配置文件的额变量

echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile

查看当前节点

kubectl get node

由于当前没有安装 网络插件,所以当前没有容器没有运行

安装flannel

下载flannel镜像,并将其上传到haror仓库

#下载镜像,打标签
docker tag flannel/flannel:v0.25.5 \
reg.timinglee.org/flannel/flannel:v0.25.5
#上传到仓库
docker push reg.timinglee.org/flannel/flannel:v0.25.5
#相同操作
docker tag flannel/flannel-cni-plugin:v1.5.1-flannel1 \
reg.timinglee.org/flannel/flannel-cni-plugin:v1.5.1-flannel1
docker push reg.timinglee.org/flannel/flannel-cniplugin:v1.5.1-flannel1

修改镜像下载位置

vim kube-flannel.yml
image: reg.timinglee.org/flannel/flannel:v0.25.5
image: reg.timinglee.org/flannel/flannel-cni-plugin:v1.5.1-flannel1
image: reg.timinglee.org/flannel/flannel:v0.25.5

 安装

 kubectl apply -f kube-flannel.yml

加入集群

kubeadm token create --print-join-command

 查看节点状态

kubectl get nodes

http://www.lryc.cn/news/457048.html

相关文章:

  • 第十八篇:一文说清楚ICMP的底层原理
  • 【优选算法】(第三十二篇)
  • 线程(四)线程的同步——条件变量
  • 二维数组的旋转与翻转(C++)(上(这只是简单讲解))
  • 【在Linux世界中追寻伟大的One Piece】System V共享内存
  • 【大数据】Spark弹性分布式数据集RDD详细说明
  • 人参玉桂膏简介
  • 消费者Rebalance机制
  • 消息队列介绍
  • 告别@Value,Spring Boot 3.3更优雅的配置注入方案
  • 甲虫身体图像分割系统源码&数据集分享
  • Qt - QMenu
  • 舵机驱动详解(模拟/数字 STM32)
  • dvwa:文件包含、文件上传
  • 基于 C# .NET Framework 4.0 开发实现 WCF 服务实例详解(二)——实现Windows服务内嵌WCF服务
  • 【ArcGIS/C#】调用控制台处理代码
  • 06_23 种设计模式之《适配器模式》
  • Go语言--快速入门
  • 京东云主机怎么用?使用京东云服务器建网站(图文教程)
  • Linux 基础入门操作-实验七 进程的介绍
  • SQL进阶技巧:SQL中的正则表达式应用?
  • 算法数组面试理论
  • ASP.NET Zero是什么?适合哪些业务场景?
  • 获取期货股票分钟级别数据以及均线策略
  • 入门篇-1 数据结构简介
  • Anaconda安装
  • Elasticsearch学习笔记(六)使用集群令牌将新加点加入集群
  • 项目建设方案,软件技术方案,整体技术方案,软件建设文档编制(word原件)
  • vue3定义组件
  • BOM常见操作方法汇总