【kubernetes】--安装部署

文章目录

    • 一、环境准备(所有节点都要做)
      • 1. 设置主机名(每台执行)
      • 2. 配置 `/etc/hosts`(每台都一样)
    • 二、基础设置(每台都执行)
    • 三、安装 Docker(每台都执行)
    • 四、安装 Kubernetes 组件(每台都执行)
    • 五、初始化 Master 节点(仅 master 执行)
    • 六、配置 kubectl(master 节点)
    • 七、安装网络插件(master 节点)
    • 八、加入 Worker 节点(node01 和 node02)
    • 九、验证集群(在 master 节点)

  • master: 192.168.121.134
  • node01: 192.168.121.135
  • node02: 192.168.121.136

一、环境准备(所有节点都要做)

1. 设置主机名(每台执行)

# master 节点执行:
sudo hostnamectl set-hostname master

# node01 执行:
sudo hostnamectl set-hostname node01

# node02 执行:
sudo hostnamectl set-hostname node02

2. 配置 /etc/hosts(每台都一样)

sudo tee -a /etc/hosts <<EOF
192.168.121.134 master
192.168.121.135 node01
192.168.121.136 node02
EOF

二、基础设置(每台都执行)

# 关闭 swap(Kubernetes 要求)
sudo swapoff -a
sudo sed -i '/swap/ s/^/#/' /etc/fstab

# 加载内核模块
sudo modprobe overlay
sudo modprobe br_netfilter

# 配置内核参数
sudo tee /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
EOF
sudo sysctl --system

三、安装 Docker(每台都执行)

详细教程可以查看docker安装那篇博客

sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release

# 添加 Docker 源
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 安装 Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io

# 配置 containerd
sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml
sudo systemctl restart containerd
sudo systemctl enable containerd

四、安装 Kubernetes 组件(每台都执行)

# 添加 K8s 源
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | \
  sudo tee /etc/apt/sources.list.d/kubernetes.list

sudo apt update

#假如404--删除之前的配置 并且把镜像改成aliyun
sudo rm /etc/apt/sources.list.d/kubernetes.list
sudo rm /etc/apt/trusted.gpg.d/kubernetes.gpg

#添加阿里云镜像
echo "deb https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial main" | \
  sudo tee /etc/apt/sources.list.d/kubernetes.list

#添加GPS Key
curl -fsSL https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | \
  sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/kubernetes-aliyun.gpg


sudo apt install -y kubelet kubeadm kubectl
#锁定 kubelet、kubeadm、kubectl 的当前版本,不让它们被自动升级或更新
sudo apt-mark hold kubelet kubeadm kubectl

五、初始化 Master 节点(仅 master 执行)

sudo kubeadm init --apiserver-advertise-address=192.168.121.134 --pod-network-cidr=192.168.0.0/16

在这里插入图片描述

#假如是以上错误
#重新加载内核模块
sudo modprobe br_netfilter
#检查
lsmod | grep br_netfilter
#设置 sysctl 参数并且配置生效
sudo tee /etc/sysctl.d/k8s.conf > /dev/null <<EOF
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
EOF

sudo sysctl --system

#然后再次初始化

初始化成功后,会输出一个 kubeadm join 命令,请复制它,稍后用于让 node 节点加入集群。


六、配置 kubectl(master 节点)

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

七、安装网络插件(master 节点)

使用 Calico 网络插件:

kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.27.0/manifests/calico.yaml
#查看etcd状态
curl -s http://127.0.0.1:2381/health?serializable=false

八、加入 Worker 节点(node01 和 node02)

使用 kubeadm init 输出的命令,例如:

#可以提前拉取镜像
kubeadm config images pull
sudo kubeadm join 192.168.121.134:6443 --token abcdef.0123456789abcdef \
--discovery-token-ca-cert-hash sha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

在 node01 和 node02 上都执行这条命令


九、验证集群(在 master 节点)

kubectl get nodes

输出类似:

NAME     STATUS   ROLES           AGE     VERSION
master   Ready    control-plane   5m      v1.28.x
node01   Ready              1m      v1.28.x
node02   Ready              1m      v1.28.x

你可能感兴趣的:(kubernetes,kubernetes,容器,云原生)