Kubeadm 部署 k8s 集群

文章目录

  • 个人知识库
  • Kubernetes 介绍
  • 环境要求
  • Docker 环境
  • 服务器初始化
  • 添加阿里云 yum 软件源
  • 查看 docker 驱动
  • 安装 kubeadm、kubelet 和 kubectl
  • 初始化 Kubernetes Master
  • 安装 kubectl 工具
  • 加入 Kubernetes Node
  • Kubectl 查看 Node 状态
  • 部署 CNI 网络插件
  • 测试 kubernetes 集群
  • Kubeclt 常用命令
  • 更多知识平台


个人知识库

云网站:http://www.liupeng.cloud

语雀:https://www.yuque.com/liupeng_yuque


Kubernetes 介绍

kubernetes,简称 K8s,是用 8 代替名字中间的 8 个字符 “ubernete” 而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes 的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes 提供了应用部署,规划,更新,维护的一种机制。

目前生产部署 Kubernetes 集群主要有两种方式

1、kubeadm

Kubeadm 是一个 K8s 部署工具,提供 kubeadm init 和 kubeadm join,用于快速部署 Kubernetes 集群。

2、二进制包

从 github下载发行版的二进制包,手动部署每个组件,组成 Kubernetes 集群。

本文采用 kubeadm 的方式搭建集群。

Kubernetes 中文文档

Kubernetes 官方文档


环境要求

Linux:AlmaLinux(推荐)

阿里巴巴开源镜像站

Docker 环境

Docker Compose 环境

单 Master -> 多 Node 部署。

服务器要求:至少两台以上服务器,一台 Master 节点服务器,其他 Node 节点服务器,且服务器之间网络互通。

注意:Linux 系统需连接互联网,关闭防火墙或开放对应端口,云服务器配置安全组。


Docker 环境

Kubernetes 默认 CRI(容器运行时)为 Docker,因此先安装 Docker。

Docker 环境

Docker Compose 环境


服务器初始化

1、关闭防火墙

查看防火墙状态

systemctl status firewalld.service

关闭防火墙

systemctl stop firewalld.service

禁用防火墙

systemctl disable firewalld.service

2、关闭 selinux

临时关闭

setenforce 0

永久关闭

sed -i 's/enforcing/disabled/' /etc/selinux/config

3、关闭 swap

临时关闭

swapoff -a

永久关闭

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

4、设置主机名

设置主机名

hostnamectl set-hostname 

master 服务器添加所有 node 服务器主机名到 hosts

cat >> /etc/hosts << EOF
192.168.1.100 master-100
192.168.1.99 node-99
192.168.1.98 node-98
EOF

每个 node 服务器修改各自 hosts

cat >> /etc/hosts << EOF
192.168.1.99 node-99
EOF
cat >> /etc/hosts << EOF
192.168.1.98 node-98
EOF

5、将 IPV4 流量传递到 iptables 的链(可选)

cat > /etc/sysctl.d/k8

你可能感兴趣的:(kubernetes,docker,运维)