首页 > 其他分享 >K8S环境搭建

K8S环境搭建

时间:2022-12-06 09:36:29浏览次数:36  
标签:cri -- containerd sudo 环境 apt etc K8S 搭建

环境参数:

  • 系统:ubuntu20.04
  • k8s:1.25.3
  • 容器运行时:containerd

关闭防火墙

sudo ufw disable

关闭swap

临时关闭:

swapoff -a

永久关闭:

sed -i '/ swap / s/^/#/' /etc/fstab

关闭之后,使用top命令查看swap分区的情况

时间同步(使用chrony)

apt -y install chrony
chronyc sources -v

内核参数调整

使用docker会自动配置,但使用containerd需手动配置。
允许iptables检查桥接流量,若要显式加载此模块,需运行 modprobe br_netfilter
为了让Linux节点的 iptables 能够正确的查看桥接流量,还需要确认 net.bridge.bridge-nf-call-iptables 设置为 1

# 加载模块
modprobe overlay
modprobe br_netfilter

# 开机加载
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOF

设置所需的 sysctl 参数,参数在重新启动后保持不变

cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables  = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward                 = 1
EOF

应用 sysctl 参数而不重新启动

sysctl --system

下载docker.io(optional)

sudo apt update
sudo apt -y install docker.io

cat > /etc/docker/daemon.json <<EOF
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com",
"https://reg-mirror.qiniu.com",
"https://registry.docker-cn.com"
],
"exec-opts": ["native.cgroupdriver=systemd"]
}

EOF

systemctl restart docker.service

# 验证是否成功
docker info | grep Cgroup

下载containerd(optional)

sudo apt update
sudo apt -y install containerd

systemctl status containerd

containerd --version

ctr version

sudo mkdir /etc/containerd
containerd config default > /etc/containerd/config.toml

要在国内使用,需更换镜像源

grep sandbox_image /etc/containerd/config.toml

命令打出来是 sandbox_image = 'registry.k8s.io/pause' ,这个源国内无法使用,更换为阿里源:

sudo sed -i "s#registry.k8s.io/pause#registry.aliyuncs.com/google_containers/pause#g" /etc/containerd/config.toml

修改完重启containerd服务

systemctl restart containerd

安装kubeadm kubectl kubelet

首先添加gpg证书

sudo apt update && sudo apt install -y apt-transport-https
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial main
EOF

sudo apt update

安装

# 安装指定版本
sudo apt install -y kubeadm=1.25.0-00 kubelet=1.25.0-00 kubectl=1.25.0-00

# 安装最新版本
sudo apt install -y kubelet kubeadm kubectl

安装cri-dockerd(optional)

curl -LO https://github.com/Mirantis/cri-dockerd/releases/download/v0.2.6/cri-dockerd_0.2.6.3-0.ubuntu-focal_amd64.deb

修改如下配置

vim /lib/systemd/system/cri-docker.service

ExecStart=/usr/bin/cri-dockerd --container-runtime-endpoint fd:// --pod-infra-container-image registry.aliyuncs.com/google_containers/pause:3.7

重启服务

systemctl daemon-reload && systemctl restart cri-docker.service

初始化集群

kubeadm init \
--apiserver-advertise-address=192.168.48.200 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version=v1.25.0 \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16 \
--token-ttl=0 \
--cri-socket unix:///run/cri-dockerd.sock

标签:cri,--,containerd,sudo,环境,apt,etc,K8S,搭建
From: https://www.cnblogs.com/xdaniel/p/16954269.html

相关文章

  • Kubernetes(K8S) 监控 Prometheus + Grafana
    监控指标集群监控节点资源利用率节点数运行PodsPod监控容器指标应用程序Prometheus开源的监控、报警、数据库以HTTP协议周期性抓取被监控组件状态不需要......
  • Vscode环境配置-C,C++环境配置
    前言Vscode一直是我非常喜欢的编辑器,认识它是因为要接一些前端的工作来维持生活,检索JavaScript编辑器的时候找到了它用了很久,自我感觉比一些臃肿的IDE要强很多最近闲......
  • K8S集群搭建二进制安装
    第一章     安装前必读本文档适用于k8s1.17+请不要使用带中文的服务器和克隆的虚拟机请将该文档复制一份,然后进行更改安装,并记录每一个步骤的返回信息,有问题可......
  • Linux Debian11使用Podman安装DVWA靶场环境
    一、DVWA靶场环境简介​1.DVWA一个用来进行安全脆弱性鉴定的PHP/MySQLWeb应用,旨在为安全专业人员测试自己的专业技能和工具提供合法的环境,帮助web开发者更好的理解web应用......
  • 项目介绍和界面搭建
    拼图小游戏的目的整合学习的知识点,并且应用,同时知道知识点的应用场景主界面分析练习代码演示登陆类packagecom.xiyang.ui;importjavax.swing.*;pu......
  • 【三维重建】Ubuntu20.04进行RealSenseD435环境配置及初步使用
    一、环境配置github上面的教程:https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md比较完整的配置博客:https://blog.csdn.net/wang......
  • k8s笔记9(集群外beat->kafka集群:OK)
    1、helmupgrade后kibana采集不到数据,需要删除后重新INSTALL然后测试。这里打开了externalAccess参数。#helmupgradekafka-nlogging.#helm-nloggingdeletekafka......
  • k8s 更换默认调度器两种方案-Crane-scheduler
    k8s更换默认调度器两种方案背景原生kubernetes调度器只能基于资源的resourcerequest进行调度,然而Pod的真实资源使用率,往往与其所申请资源的request/limit差异很大......
  • DataX源码分析一:环境搭建
    最近工作中使用到了DataX工具,比较肤浅的看了看源码,做一个记录。比较肤浅的探讨,各位莫见笑。 【1】获取源码源码地址(github):[email protected]:alibaba/DataX.git源码地址(g......
  • 生产环境mysql主从同步中断引发的启迪
    迁移背景:生产环境mysql主从同步中断,因中断时间太久、数据量太大,所以计划通过云平台的磁盘克隆功能实现数据全量同步。环境说明:主库:192.168.12.76盘名:/dev/mapper/mysql-da......