ubuntu20.04系统搭建k8s1.28集群-docker作为容器运行时

ubuntu系统搭建

ubuntu-22.04.5-desktop-amd64.iso映像文件--->实际却是20.4focal版本。

【安装过程没有特别指出的默认回车下一步】

【用户和密码设置】

【网络连接】

【在vmware上安装的话,网络配置如下】【在vm里配置选择nat或者桥接即可】

【国内源配置】,这里的源是20.04版,内核为5.14,22版本以上为5.15内核

vi /etc/apt/source.list

----

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse

# deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse

# deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

deb-src https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu focal stable

# deb-src [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu focal stable

apt update

apt install -y openssh-server

apt-get install -y vim tree wget bash-completion bash-completion-extras lrzsz net-tools sysstat iotop htop unzip nc nmap telnet bc psmisc httpd-tools bind-utils nethogs expect epel-release

【关闭swap】

swapoff -a

sed -i 's/.*swap.*/#&/g' /etc/fstab

【安装ssh服务】

passwd root 给root设置密码

apt-get install -y openssh_server

vi /etc/ssh/sshd_config

#新增

PermitRootLogin yes

PasswordAuthentication yes

Port 22

systemctl restart ssh

【时间同步】

如果是上海市区,默认为北京时间

【xshell连接】

root/1

【iptables桥接流量】

cat <<EOF | sudo tee /etc/modules-load.d/containerd.conf
overlay
br_netfilter
ip_vs
ip_vs_wrr
ip_vs_sh
ip_vs_rr
EOF

sudo modprobe overlay

sudo modprobe br_netfilter

cat <<EOF | sudo tee /etc/sysctl.d/99-kubernetes-cri.conf

net.bridge.bridge-nf-call-iptables  = 1

net.bridge.bridge-nf-call-ip6tables = 1

net.ipv4.ip_forward = 1

EOF

sudo sysctl --system

【安装docker  】

#依赖

sudo apt install -y apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release

curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

#如果/etc/apt/source.list文件中已有,就不要再配置docker源了。

sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

sudo apt-get update #更新

mkdir -p /data/docker  #这个目录最好是单独的分区,且容量大,可做rsync远程同步存储到nfs

chmod 755 -R /data/docker

sudo apt-get install docker-ce -y #直接安装是28版本

【docker/daemon.json】

vim /etc/docker/daemon.json

{"exec-opts": ["native.cgroupdriver=systemd"],"registry-mirrors": ["https://docker.1panel.live","https://docker.1panel.dev","https://docker.fxxk.dedyn.io","https://docker.zhai.cm","https://docker.5z5f.com","https://a.ussh.net","https://docker.m.daocloud.io","https://docker.aityp.com","https://docker.m.daocloud.io","https://docker.imgdb.de","https://docker-0.unsee.tech","https://docker.hlmirror.com","https://cjie.eu.org","https://docker.mirrors.ustc.edu.cn"],"storage-driver": "overlay2","log-driver": "json-file","log-level": "warn","log-opts": {"max-size": "100m","max-file": "10"},"default-shm-size": "128M","max-concurrent-downloads": 10,"max-concurrent-uploads": 10,"debug": false,"experimental": true,"features": {"buildkit": true},"data-root": "/data/docker","insecure-registries": ["https://registry.npm.taobao.org"]}

systemctl daemon-reload && systemctl restart docker

【cri-dockerd配置兼容性】

rz cri-dockerd-0.3.16.amd64.tgz

pwd

/home

tar -xf cri-dockerd-0.3.16.amd64.tgz

cp -rf cri-dockerd/cri-dockerd /usr/local/bin/

# 配置启动文件

cat > /etc/systemd/system/cri-docker.service <<-"EOF"
[Unit]
Description=CRI Interface for Docker Application Container Engine
Documentation=https://docs.mirantis.com
After=network-online.target firewalld.service docker.service
Wants=network-online.target
Requires=cri-docker.socket
[Service]
Type=notify
ExecStart=/usr/local/bin/cri-dockerd --container-runtime-endpoint fd:// --pod-infra-container-image=registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.10
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
Delegate=yes
KillMode=process
[Install]
WantedBy=multi-user.target
EOF

# 配置 socket 文件

cat > /etc/systemd/system/cri-docker.socket <<-EOF
[Unit]
Description=CRI Docker Socket for the API
PartOf=cri-docker.service
[Socket]
ListenStream=%t/cri-dockerd.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker
[Install]
WantedBy=sockets.target
EOF

systemctl daemon-reload && systemctl enable cri-docker --now cri-docker && systemctl status cri-docker

【安装k8s】

apt-get install curl

sudo mkdir -p /etc/apt/keyrings

curl -fsSL https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes.gpgecho "deb [signed-by=/etc/apt/keyrings/kubernetes.gpg] https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list

等于:加k8s源+gpg文件

cat /etc/apt/sources.list.d/kubernetes.list
deb [signed-by=/etc/apt/keyrings/kubernetes.gpg] https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main

apt update

apt-get install kubeadm kubectl kubelet -y

systemctl enable --now kubelet

#先手动拉取镜像

sudo kubeadm config images pull \--image-repository=registry.aliyuncs.com/google_containers \--cri-socket=unix:///run/cri-dockerd.sock \--kubernetes-version=v1.28.2

#检查cri-dockerd.sock文件路径,和初始化中cri-socket路径一致

ls -l /run/cri-dockerd.sock  #在run目录下的unix:///run/cri-dockerd.sock

#再初始化

sudo kubeadm init --image-repository registry.aliyuncs.com/google_containers --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=all --cri-socket=unix:///run/cri-dockerd.sock

#粘贴到master节点上

  mkdir -p $HOME/.kube

  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

  sudo chown $(id -u):$(id -g) $HOME/.kube/config

#token

kubeadm join 10.0.0.120:6443 --token 0qgk0z.5hncmkz990wf216w \

--discovery-token-ca-cert-hash sha256:dc989d9d4cc708b8e494392f9b0a79986a3c73dd2f7cead0f73ce3be84613c03

【calico安装】

#先下载镜像,防止因为镜像问题起不来

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/calico/cni:v3.26.1

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/calico/node:v3.26.1

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/calico/kube-controllers:v3.26.1

#再执行yaml文件

kubectl apply -f calico1.yaml

【node节点】

#安装kubelet,kubectl,kubeadm,docker,cri-dockerd,基础工具vim..,hostname,host解析

kubeadm token create --print-join-command#在主节点上重新获取koken

#以yaml文件方式加入集群

vim /etc/kubeadm-config.yaml

vim /etc/kubeadm-config.yaml
apiVersion: kubeadm.k8s.io/v1beta3
kind: JoinConfiguration
discovery:bootstrapToken:token: ts5evm.alms2g3g12lhun2u #master节点的tokencaCertHashes:- "sha256:ad5892b72fce0643d55e6dc1277ae8011b2be85ed491c862f873f6a3fb028dfa"  #master的sha256apiServerEndpoint: "10.10.10.159:6443" #主节点ip
nodeRegistration:criSocket: unix:///run/cri-dockerd.sock  # 根据CRI路径修改,这边文章是在这里。

#加入master所在集群:kubeadm join 10.10.10.159:6443 --config /etc/kubeadm-config.yaml

【master验证是否加入】

kubectl get nodes #查看节点

kubectl get pods #查看calico-node容器,等一会。

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

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

相关文章

软件I2C

软件I2C 注意&#xff1a; SDA&#xff08;串行数据线&#xff09;和SCL&#xff08;串行时钟线&#xff09;都是双向I/O线&#xff0c;接口电路为开漏输出。需通过上拉电阻接电源VCC。 软件I2C说明 说明&#xff0c;有的单片机没有硬件I2C的功能&#xff0c;或者因为电路设计…

C++性能测试工具——Vtune的使用

一、Intel Vtune的安装 在前面初步认识了一下几个性能的测试工具&#xff0c;本篇重点介绍一下Intel VTune Profiler&#xff0c;VTune是一个强大的性能分析工具&#xff0c;它属于Intel oneAPI工具包中工具的一种。VTune的安装只介绍在Linux平台下的场景&#xff08;Windows安…

互联网大厂Java求职面试:优惠券服务架构设计与AI增强实践-6

互联网大厂Java求职面试&#xff1a;优惠券服务架构设计与AI增强实践-6 场景设定&#xff1a;技术总监张总坐在会议室里&#xff0c;郑薪苦带着自信的微笑走了进来。今天他们要围绕优惠券服务的架构设计及如何结合AI进行增强展开讨论。 第一轮面试&#xff1a;基础架构设计 …

nginx模块使用、过滤器模块以及handler模块

一、如何使用nginx的模块 1.ngx_code.c: #include "ngx_config.h" #include "ngx_conf_file.h" #include "nginx.h" #include "ngx_core.h" #include "ngx_string.h" #include "ngx_palloc.h" #include "n…

【Odoo】Pycharm导入运行Odoo15

【Odoo】Pycharm导入运行Odoo15 前置准备1. Odoo-15项目下载解压2. PsrtgreSQL数据库 项目导入运行1. 项目导入2. 设置项目内虚拟环境3. 下载项目中依赖4. 修改配置文件odoo.conf 运行Pycharm快捷运行 前置准备 1. Odoo-15项目下载解压 将下载好的项目解压到开发目录下 2. …

网络安全-等级保护(等保) 2-5 GB/T 25070—2019《信息安全技术 网络安全等级保护安全设计技术要求》-2019-05-10发布【现行】

################################################################################ GB/T 22239-2019 《信息安全技术 网络安全等级保护基础要求》包含安全物理环境、安全通信网络、安全区域边界、安全计算环境、安全管理中心、安全管理制度、安全管理机构、安全管理人员、安…

【SpringBoot】✈️整合飞书群机器人发送消息

&#x1f4a5;&#x1f4a5;✈️✈️欢迎阅读本文章❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;本篇文章阅读大约耗时3分钟。 ⛳️motto&#xff1a;不积跬步、无以千里 &#x1f4cb;&#x1f4cb;&#x1f4cb;本文目录如下&#xff1a;&#x1f381;&#x1f381;&am…

我的多条件查询

背景&#xff1a;2个表&#xff0c;是一对多的关系&#xff0c;一个实时视频帧可以出现多个检测结果 要求&#xff0c;可以根据&#xff0c;ids&#xff0c;起始时间&#xff0c;识别出的鸟的种类&#xff0c;来进行删除。 出现的问题&#xff0c; 一致性没有实现&#xff1a…

关于网站提交搜索引擎

发布于Eucalyptus-blog 一、前言 将网站提交给搜索引擎是为了让搜索引擎更早地了解、索引和显示您的网站内容。以下是一些提交网站给搜索引擎的理由&#xff1a; 提高可见性&#xff1a;通过将您的网站提交给搜索引擎&#xff0c;可以提高您的网站在搜索结果中出现的机会。当用…

【Oracle专栏】扩容导致数据文件 dbf 丢失,实操

Oracle相关文档,希望互相学习,共同进步 风123456789~-CSDN博客 1.背景 同事检查扩容情况,发现客户扩容后数据盘后,盘中原有文件丢失,再检查发现数据库没有启动。通过检查发现数据盘中丢失的是oracle的 dbf 表空间文件。数据库无法启动。 检查情况:1)没有rman备份 …

负载均衡—会话保持技术详解

一、会话保持的定义 会话保持&#xff08;Session Persistence&#xff09;是一种负载均衡策略&#xff0c;其核心机制是确保来自同一客户端的连续请求&#xff0c;在特定周期内被定向到同一台后端服务器进行处理。这种机制通过记录和识别客户端的特定标识信息&#xff0c;打破…

CSRF攻击 + 观测iframe加载时间利用时间响应差异侧信道攻击 -- reelfreaks DefCamp 2024

参考: https://0x90r00t.com/2024/09/30/3708/ 题目信息 有些事情最好还是保持低调。当然&#xff0c;除非你是个真正的怪胎。 注意&#xff1a;该网站通过HTTPS提供服务 标志格式&#xff1a;DCTF&#xff5b;&#xff5d;题目实现了一个类似视频网站的东西 在其提供的数据库中…

JS逆向-某易云音乐下载器

文章目录 介绍下载链接Robots文件搜索功能JS逆向**函数a&#xff1a;生成随机字符串****函数b&#xff1a;AES-CBC加密****函数c&#xff1a;RSA公钥加密** 歌曲下载总结 介绍 在某易云音乐中&#xff0c;很多歌曲听是免费的&#xff0c;但下载需要VIP&#xff0c;此程序旨在“…

黑马k8s(十)

1.Pod生命周期-钩子函数 2.Pod生命周期-容器探测 因为没有hello.txt文件 查看详情&#xff1a; 修改为查看命令&#xff1a; 查看一下详情&#xff1a; 因为只有一个80端口&#xff0c;没有8080&#xff0c;所以会重启 查看详情&#xff1a; 修改成80&#xff1a; 因为没有…

每日算法刷题Day9 5.17:leetcode定长滑动窗口3道题,用时1h

9. 1652.拆炸弹(简单&#xff0c;学习) 1652. 拆炸弹 - 力扣&#xff08;LeetCode&#xff09; 思想 为了获得正确的密码&#xff0c;你需要替换掉每一个数字。所有数字会 同时 被替换。 如果 k > 0 &#xff0c;将第 i 个数字用 接下来 k 个数字之和替换。如果 k < 0…

Java IO及Netty框架学习小结

Netty netty官网: Netty 什么是Netty&#xff1f; Netty 是 一个异步事件驱动的网络应用程序框架&#xff0c;用于快速开发可维护的高性能协议服务器和客户端。Netty 是一个 NIO 客户端服务器框架&#xff0c;可以快速轻松地开发网络应用程序&#xff08;例如协议服务器和客…

计算机网络笔记(二十七)——4.9多协议标签交换MPLS

4.9.1MPLS的工作原理 一、MPLS基本工作原理 MPLS&#xff08;Multiprotocol Label Switching&#xff09;是一种介于数据链路层和网络层之间的转发技术&#xff0c;通过固定长度的标签进行高速数据转发。其核心特点是通过预建立的标签交换路径&#xff08;Label Switching Pa…

AI 赋能 Copula 建模:大语言模型驱动的相关性分析革新

技术点目录 R及Python语言及相关性研究初步二元Copula理论与实践&#xff08;一&#xff09;二元Copula理论与实践&#xff08;二&#xff09;【R语言为主】Copula函数的统计检验与选择【R语言为主】高维数据与Vine Copula 【R语言】正则Vine Copula&#xff08;一&#xff09;…

【洛谷P3386】二分图最大匹配之Kuhn算法/匈牙利算法:直观理解

题目&#xff1a;洛谷P3386 【模板】二分图最大匹配 &#x1f955; 匈牙利算法本来是针对带权图最大匹配的&#xff0c;这里由于题目只是求最大匹配的边数&#xff0c;所以我们也只考虑无权的情况。 &#x1f680; 本文旨在服务于看了别的关于匈牙利算法的文章但不甚理解的童…

【数据结构】二分查找(返回插入点)5.14

二分查找基础版 package 二分查找; public class BinarySearch { public static void main(String[] args) { // TODO Auto-generated method stub } public static int binarySearchBasic(int[] a,int target) { int i0,ja.length-1; //设置指针初值 while…