kubeadm部署kubernetes 1(1),中高级Linux运维开发应该要了解

grub2-mkconfig -o /boot/grub2/grub.cfg

更新后,需要重启,使升级的内核生效

reboot

重启后执行 uname -ar 查看kernel 版本

f74d62bb8ccb9f7954037e7e1abc5ae6.png

1.7 加载br_netfilter模块

modprobe br_netfilter

1.8 添加网桥过滤及内核转发配置文件

cat << EOF > /etc/sysctl.d/k8s.conf

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

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

net.ipv4.ip_forward = 1

vm.swappiness=0

EOF

执行命令,刷新配置

sysctl -p /etc/sysctl.d/k8s.conf

查看是否加载

lsmod | grep br_netfilter

1.8 安装ipset及ipvsadm

yum install -y ipset ipvsadm

配置ipvsadm模块加载方式,添加需要加载的模块

cat > /etc/sysconfig/modules/ipvs.modules <<EOF

#!/bin/bash

modprobe – ip_vs

modprobe – ip_vs_rr

modprobe – ip_vs_wrr

modprobe – ip_vs_sh

modprobe – nf_conntrack

EOF

授权、运行、检查是否加载

chmod 755 /etc/sysconfig/modules/ipvs.modules && bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack

1.9 关闭SWAP分区

修改完成后需要重启操作系统,如不重启,可临时关闭,命令为swapoff -a

永久关闭swap分区,需要屏蔽/etc/fstab文件中关于swap那一行,该操作需要重启操作系统,

1.10 安装docker-ce

配置阿里云镜像站

wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

Docker安装

yum install docker-ce -y

启动docker进程

systemctl enable --now docker

修改cgroup管理方式

/etc/docker/daemon.json 默认没有此文件,需要单独创建,里面填充下面的参数

{

“exec-opts”:[“native.cgroupdriver=systemd”]

}

2 cri-dockerd 安装

2.1 golang环境准备

获取golang安装包,由于接下来的cri-dockerd模块依赖是golang的特定版本,因此这里下载golang1.18,查看项目依赖go版本的方法是查看go.mod文件说明:

下载golang 1.18 版本

wget https://golang.google.cn/dl/go1.18.3.linux-amd64.tar.gz

解压golang至指定目录

tar -C /usr/local/ -zxvf ./go1.18.3.linux-amd64.tar.gz

创建gopath目录

mkdir /home/gopath

添加环境变量,编辑/etc/profile 文件,在文件末尾添加以下配置

export GOROOT=/usr/local/go

export GOPATH=/home/gopath

export PATH= P A T H : PATH: PATH:GOROOT/bin:$GOPATH/bin

加载/etc/profile文件

source /etc/profile

配置go proxy代理

go env -w GOPROXY=“https://goproxy.io,direct”

验证golang是否安装完成,执行 go version命令

2.2 部署cri-dockerd

下载cri-dockerd源码

git clone https://github.com/Mirantis/cri-dockerd.git

进入cri-dockerd目录

cd cri-dockerd/

看cri-dockerd github项目主页 Build and install部分的介绍,介绍的步骤不一定要全部执行,图片下方为本人亲自测试的简单步骤。

执行 依赖包下载和命令构建

go get && go build

构建完成后生成cri-dockerd命令

接下来执行cri-dockerd命令的安装及环境配置命令

install -o root -g root -m 0755 cri-dockerd /usr/bin/cri-dockerd

cp -a packaging/systemd/* /etc/systemd/system

systemctl daemon-reload

systemctl enable cri-docker.service

systemctl enable --now cri-docker.socket

3 配置k8s

这里使用国内的阿里镜像源,安装部署k8s

3.1 配置k8s镜像源

cat < /etc/yum.repos.d/kubernetes.repo

[kubernetes]

name=Kubernetes

baseurl=kubernetes-yum-repos-kubernetes-el7-x86_64安装包下载_开源镜像站-阿里云

enabled=1

gpgcheck=0

repo_gpgcheck=0

gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg

EOF

3.2 安装 kubeadm kubelet kubectl

默认安装仓库中的最新版

yum install kubeadm kubelet kubectl -y

也可执行 yum list kubeadm kubelet kubectl --showduplicates | sort -r 按照输出的列表项安装特定版本.

拉取k8s指定版本的镜像

kubeadm config images pull --cri-socket unix:///var/run/cri-dockerd.sock --image-repository registry.aliyuncs.com/google_containers

执行主节点初始化任务,需要注意kubernetes-version的值要和上一步拉取的镜像版本号一致,apiserver-advertise-address填写master 节点的IP

kubeadm init --kubernetes-version=v1.24.2 --pod-network-cidr=10.224.0.0/16 --apiserver-advertise-address={master Node IP} --cri-socket unix:///var/run/cri-dockerd.sock --image-repository registry.aliyuncs.com/google_containers

执行过程中遇到如下问题

查看/var/log/messages 日志信息发现如下问题

该问题可能属于k8s代码问题,解决办法使用国内源下载该版本镜像,然后重新打tag

docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6

docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6 k8s.gcr.io/pause:3.6

手动拉取成功后需执行如下命令清除kubeadm 安装历史信息

kubeadm reset --cri-socket unix:///var/run/cri-dockerd.sock

重新执行执行初始化命令,即可成功

kubeadm init --kubernetes-version=v1.24.2 --pod-network-cidr=10.224.0.0/16 --apiserver-advertise-address={master Node IP} --cri-socket unix:///var/run/cri-dockerd.sock --image-repository registry.aliyuncs.com/google_containers

接下来在worker节点上执行相关的操作,worker节点与master节点的操作步骤的唯一区别是:master节点执行kubeadm init操作,woker节点执行kubeadm join操作,因此上面的步骤除了kubeadm init步骤之外,其他所有的步骤woker节点同样也需要执行。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
img

最全的Linux教程,Linux从入门到精通

======================

  1. linux从入门到精通(第2版)

  2. Linux系统移植

  3. Linux驱动开发入门与实战

  4. LINUX 系统移植 第2版

  5. Linux开源网络全栈详解 从DPDK到OpenFlow

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

第一份《Linux从入门到精通》466页

====================

内容简介

====

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。

需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。

需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-wBhfZxL5-1712958306322)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值