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

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.service

 kubeadm 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.kler.cn/news/342028.html

相关文章:

  • Git基本操作与分支
  • 【笔记学习篇】一篇文章搞定Mybatis-快速回顾
  • Python的输入输出函数
  • CAN和CANFD如何转换和通信
  • Github优质项目推荐-第四期
  • tableau除了图表好看,在业务中真有用吗?
  • 拓扑排序与入度为0的结点算法解析及实现
  • 机器学习:关联规则:Apriori算法、FP - Growth算法的原理、应用场景及优缺点介绍
  • 计组复习笔记
  • 博士找高校教职避坑指南:史上最全的避坑秘籍
  • vue中用echarts做一个躺着的柱状图
  • ubutun安装ffmpeg
  • LeetCode 3309. 连接二进制表示可形成的最大数值
  • MSYS2+GCC 安装与应用保姆手册
  • Java 函数式编程(1 万字)
  • 【JDK17 | 7】Java 17 深入剖析:基础概述与新特性实战
  • MinIO分片上传超大文件(纯服务端)
  • 链式二叉树及二叉树各种接口的实现(C)
  • FFmpeg 简介及其下载安装步骤
  • 2024互联网下载神器IDM6.42你值得拥有