k8s之k8s集群部署

一、kubernetes基础环境搭建

1.安装虚拟机

2. 基础环境配置

2.1 关闭防火墙 更改主机名

#系统更新

sudo dnf update -y

关闭防火墙

sudo systemctl stop firewalld

sudo systemctl disable firewalld

临时关闭 SELinux

sudo setenforce 0

永久关闭 SELinux

sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

临时禁用 Swap

sudo swapoff -a

永久禁用 Swap

sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
#为每个节点设置唯一的主机名,例在主节点上执行:

sudo hostnamectl set-hostname kube-master

#编辑 /etc/hosts 文件,添加所有节点的 IP 地址和主机名映射

vim /etc/hosts

2.2 加载内核模块并配置 sysctl 参数

加载内核模块

sudo modprobe br_netfilter

配置 sysctl 参数

cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf

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

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

net.ipv4.ip_forward = 1

EOF

使配置生效

sudo sysctl --system

#验证是否成功

lsmod | grep br_netfilter

3. 安装 Docker

3.1 添加 Docker 软件源

root@localhost \~\]# sudo dnf config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 添加仓库自:http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3.2 安装 Docker

root@localhost \~\]# sudo dnf install -y docker-ce docker-ce-cli containerd.io

3.3 配置 Docker Cgroup Driver

创建/etc/docker/daemon.json 文件:

sudo tee /etc/docker/daemon.json <<EOF

{

"exec-opts": ["native.cgroupdriver=systemd"],

"log-driver": "json-file",

"log-opts": {

"max-size": "100m"

},

"storage-driver": "overlay2"

}

EOF

#设置开机自启动

sudo systemctl start docker

sudo systemctl enable docker

4. 安装 Kubernetes 组件

4.1 添加 Kubernetes 软件源

cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo

kubernetes

name=Kubernetes

baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/

enabled=1

gpgcheck=1

repo_gpgcheck=1

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

EOF

#清除 DNF 缓存并重新生成元数据:

sudo dnf clean all

sudo dnf makecache

4.2 安装 kubelet、kubeadm 和 kubectl

sudo dnf install -y kubelet kubeadm kubectl --disableexcludes=kubernetes

4.3 启动并设置 kubelet 开机自启

sudo systemctl start kubelet

sudo systemctl enable kubelet

二 在部署节点安装ansible及准备ssh免密登陆

三 部署节点编排k8s安装

四 k8s集群部署

五 k8s集群扩容

相关推荐
wdxylb4 分钟前
云原生俱乐部-杂谈1
服务器·云原生
科大饭桶1 小时前
C++入门自学Day11-- String, Vector, List 复习
c语言·开发语言·数据结构·c++·容器
Apache RocketMQ3 小时前
云原生事件驱动引擎(RocketMQ-EventBridge)应用场景与技术解析
云原生·消息队列·rocketmq·事件驱动引擎
程思扬3 小时前
Nextcloud容器化部署革新:Docker+Cpolar构建高效私有云远程访问新架构
docker·容器·架构
豆芽脚脚5 小时前
docker compose再阿里云上无法使用的问题
阿里云·docker·容器
AKAMAI17 小时前
AI需要防火墙,云计算需要重新构想
人工智能·云原生·云计算
Agome9918 小时前
Docker之自定义jkd镜像上传阿里云
阿里云·docker·容器
小猿姐20 小时前
KubeBlocks for Milvus 揭秘
数据库·云原生
wdxylb1 天前
云原生俱乐部-RH134知识点总结(2)
linux·云原生
deeper_wind1 天前
k8s-单主机Master集群部署+单个pod部署lnmp论坛服务(小白的“升级打怪”成长之路)
云原生·容器·kubernetes