.net core - 使用kubeadm搭建k8s - k8s(微服务学习) 二

发布时间 2024-01-11 17:16:23作者: Bluegoing

前提准备:OpenEuler系统,VMWare

 

由于本次使用3台主机完成kubernetes集群部署,其中1台为master节点,名称为k8s-master01;其中2台为node节点,名称分别为:k8s-node01及k8s-node02

 

master节点
# hostnamectl set-hostname k8s-master01

  

node01节点
# hostnamectl set-hostname k8s-node01

  

node02节点
# hostnamectl set-hostname k8s-node02

  

首先VM的网络设置如下:

 关于VM的IP设置可以看下面这个文章:

Linux配置网络_没有ifcfg-ens33,只有ifcfg-ens0-CSDN博客

各个节点的配置如下:

配置文件位于

/ect/sysconfig/network-scripts/

我的是ifcfg

vi ifcfg-ens160

master

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=ens160
UUID=5d816caa-e2e3-45b8-b497-24341aef4464
DEVICE=ens160
ONBOOT=yes
IPADDR=192.168.139.160
PREFIX-24
GATEWAY=192.168.139.2
DNS1=119.29.29.29

node1 

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=ens160
UUID=5d816caa-e2e3-45b8-b497-24341aef4464
DEVICE=ens160
ONBOOT=yes
IPADDR=192.168.139.161
PREFIX-24
GATEWAY=192.168.139.2
DNS1=119.29.29.29

node2

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=ens160
UUID=5d816caa-e2e3-45b8-b497-24341aef4464
DEVICE=ens160
ONBOOT=yes
IPADDR=192.168.139.162
PREFIX-24
GATEWAY=192.168.139.2
DNS1=119.29.29.29

  

关闭swap

# 临时关闭swap分区
swapoff -a

关闭防火墙

# 关闭并禁用防火墙
systemctl stop firewalld && systemctl disable firewalld

  

ipv4修改

开启内核路由转发
vi /etc/sysctl.conf

......
net.ipv4.ip_forward=1
......

  

 

安装docker

# 安装docker
dnf install -y docker
# 启用docker
systemctl enable docker && systemctl start docker
# 查看docker版本
docker --version

  

安装kubernates

# 安装kubeadmin、kubelet、kubernetes-master
dnf install -y kubernetes-kubeadm kubernetes-kubelet kubernetes-master
# 安装conntrack组件(k8s依赖组件)
dnf install -y conntrack
# 配置kubelet开机自启
systemctl enable kubelet.service && systemctl start kubelet.service

# 安装Kubernetes,apiserver-advertise-address 请替换成实际环境中的master节点ip地址,本文环境使用192.168.123.208
kubeadm init --apiserver-advertise-address=192.168.139.160 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.20.2 --service-cidr=10.1.0.0/16 --pod-network-cidr=10.244.0.0/16
# 命令选项说明:
# --apiserver-advertise-address:apiserver通告给其他组件的IP地址,一般应该为Master节点的用于集群内部通信的IP地址,0.0.0.0表示节点上所有可用地址
# --image-repository:指定要使用的镜像仓库,指定为aliyun镜像加速下载
# --kubernetes-version:Kubernetes程序组件的版本号
# --pod-network-cidr:Pod网络的地址范围,其值为CIDR格式的网络地址
# --service-cidr:Service的网络地址范围,其值为CIDR格式的网络地址

  

最后执行完就可以看到如下所示

 

如果安装完成后提示

The connection to the server localhost:8080 was refused - did you specify the right host or port?

在所有节点执行

echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile

source ~/.bash_profile