搭建K8S-1.23

0、简介

这里只用3台服务器来做一个简单的集群

|----------------|----------------|
| 地址 | 主机名 |
| 192.168.160.40 | kuber-master-1 |
| 192.168.160.41 | kuber-master-2 |
| 192.168.160.42 | kuber-node-1 |

1、关闭三个服务

(1)防火墙

systemctl stop firewalld

(2)Selinux

setenforce 0

(3)swap分区

swapoff -a

2、修改主机名,添加hosts文件

hostnamectl set-hostname kuber-master-1

hostnamectl set-hostname kuber-master-2

hostnamectl set-hostname kuber-node-1

修改/etc/hosts文件

192.168.160.40 kuber-master-1

192.168.160.41 kuber-master-2

192.168.160.42 kuber-node-1

3、修改内核参数

echo "net.bridge.bridge-nf-call-ip6tables = 1" >> /etc/sysctl.conf

echo "net.bridge.bridge-nf-call-iptables = 1" >> /etc/sysctl.conf

echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf

4、安装docker/kubedam/kubelet

(1)安装docker

(2)安装kubeadm/kubelet

安装kubernetes的镜像源

复制代码
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/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

进行安装

复制代码
yum remove -y kubelet kubeadm kubectl
yum install -y kubelet-1.23.17 kubeadm-1.23.17 kubectl-1.23.17
systemctl enable kubelet.service

5、部署k8s master节点

复制代码
kubeadm init \
--kubernetes-version=1.23.17 \
--apiserver-advertise-address=192.168.160.40 \(这里注意转成自己的IP地址)
--image-repository registry.aliyuncs.com/google_containers \
--service-cidr=10.10.0.0/16 \
--pod-network-cidr=10.122.0.0/16

问题:[kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get "http://localhost:10248/healthz": dial tcp [::1]:10248: connect: connection refused.

如果碰到这个问题,因为docker的版本较高用的Cgroup是cgroupfs

如果这样的话,需要修改,docker默认的使用的cgroup驱动

复制代码
vim /etc/docker/daemon.json
{
  "exec-opts": ["native.cgroupdriver=systemd"]
}
需要重启
systemctl restart docker

如果没有问题就执行下边的内容,这个在初始完master后会提示让执行这个。

mkdir -p $HOME/.kube

sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

sudo chown (id -u):(id -g) $HOME/.kube/config

6、将node节点加入其中

下边这段命令,在初始完master后会有提示,这里是我的样例。

kubeadm join 192.168.160.40:6443 --token tn624x.ks0y432mi2y6ks2b --discovery-token-ca-cert-hash sha256:e78481f3fe23b94c24df8159974ad9e4eb6ed8efd590105d6c3ba2cf3edb0490

7、将master 2节点加入

执行下边命令获取key

kubeadm init phase upload-certs --upload-certs

最后一行是key

将加入node节点的命令和这个拼接起来

kubeadm join 192.168.160.40:6443 --token tn624x.ks0y432mi2y6ks2b --discovery-token-ca-cert-hash sha256:e78481f3fe23b94c24df8159974ad9e4eb6ed8efd590105d6c3ba2cf3edb0490 --control-plane --certificate-key xxxxxxx(上边执行命令后的key)

这一部分是需要增加的,之后在master2****上执行。

8、安装calico

9、安装ingress

相关推荐
weixin_399380691 小时前
k8s一键部署tongweb企业版7049m6(by why+lqw)
java·linux·运维·服务器·云原生·容器·kubernetes
IT成长日记1 小时前
【Docker基础】Docker数据卷管理:docker volume ls及其参数详解
运维·docker·容器·volume ls
偷萧逸苦茶1 小时前
docker常见命令
docker·容器·eureka
慌糖10 小时前
微服务介绍
微服务·云原生·架构
高山莫衣15 小时前
Docker Desktop导致存储空间不足时的解决方案
docker·容器·eureka
鹏大师运维15 小时前
在银河麒麟V10 SP1上手动安装与配置高版本Docker的完整指南
linux·运维·docker·容器·麒麟·统信uos·中科方德
Ahlson15 小时前
【fnNAS】docker的nginx配置html
nginx·docker·容器·fnnas
LuckyLay15 小时前
Compose 常用命令详解——AI教你学Docker
docker·容器·eureka
阿里云云原生15 小时前
阿里云可观测 2025 年 6 月产品动态
云原生
阿里云云原生16 小时前
30 秒锁定黑客攻击:SLS SQL 如何从海量乱序日志中“揪”出攻击源
云原生