Kubeadm安装K8S单master节点集群

1.集群环境规划:

操作系统:centos7.9

配置: 4Gib内存/4vCPU/60G硬盘

网络:NAT

开启虚拟机的虚拟化:

podSubnet(pod网段) 10.244.0.0/16

serviceSubnet(service网段): 10.96.0.0/16

物理机网段:192.168.40.0/24

K8S集群角色

IP

主机名

安装的组件

控制节点

192.168.40.180

jwpmaster

Apiserver,controller-manager,scheduler,etcd,kube-proxy,docker,calico

工作节点

192.168.40.181

jwpnode1

Kubelet,kube-proxy,docker,calico,coredns

工作节点

192.168.40.182

jwpnode2

Kubelet,kube-proxy,docker,calico,coredns

2.初始化安装k8s集群的机器配置

2.1 修改机器IP,变成静态IP

vim /etc/sysconfig/network-scripts/ifcfg-ens33文件

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

DEFROUTE=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

IPV6_ADDR_GEN_MODE=stable-privacy

NAME=ens33  #网卡名字,跟DEVICE名字保持一致即可

DEVICE=ens33 #网卡设备名,大家ip addr可看到自己的这个网卡设备名,每个人的机器可能这个名字不一样,需要写自己的

ONBOOT=yes            #开机自启动网络,必须是yes

BOOTPROTO=static        #static表示静态ip地址

IPADDR=192.168.40.180    #ip地址,需要跟自己电脑所在网段一致

NETMASK=255.255.255.0   #子网掩码,需要跟自己电脑所在网段一致

GATEWAY=192.168.40.2    #网关,在自己电脑打开cmd,输入ipconfig /all可看到

DNS1=192.168.40.2        #DNS,在自己电脑打开cmd,输入ipconfig /all可看到

#修改配置文件之后需要重启网络服务才能使配置生效,重启网络服务命令如下:

service network restart

2.2.关闭selinux

分别在master、node1、node2上执行下面的命令:

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

#修改selinux配置文件之后,重启机器,selinux配置才能永久生效

reboot -f

查看状态:getenforce

Disabled

#显示Disabled说明selinux已经关闭

2.3.配置机器主机名

在192.168.40.180上执行如下:

[root@jiawap ~]# hostnamectl set-hostname jwpmaster && bash

在192.168.40.181上执行如下:

[root@jiawap ~]# hostnamectl set-hostname jwpnode1 && bash

在192.168.40.182上执行如下:

[root@jiawap ~]# hostnamectl set-hostname jwpnode2 && bash

2.4.升级操作系统

k8s集群每台机器都操作:

[root@localhost ~]# yum update -y

2.5.配置主机hosts文件

相互之间通过主机名互相访问

修改每台机器的/etc/hosts文件,增加如下三行:

192.168.40.180 jwpmaster

192.168.40.181 jwpnode1

192.168.40.182 jwpnode2

修改之后内容如下:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.40.180 jwpmaster

192.168.40.181 jwpnode1

192.168.40.182 jwpnode2

2.6.配置主机之间无密码登录

2.6.1.设置master机器

[root@jwpmaster~]# ssh-keygen 

#一路回车,不输入密码

把本地生成的密钥文件和私钥文件拷贝到远程主机

[root@jwpmaster~]# ssh-copy-id jwpmaster

[root@jwpmaster ~]# ssh-copy-id jwpnode1

[root@jwpmaster ~]# ssh-copy-id jwpnode2

2.6.2.设置node1机器

[root@jwpnode1 ~]# ssh-keygen

#一路回车,不输入密码

把本地生成的密钥文件和私钥文件拷贝到远程主机

[root@jwpnode1 ~]# ssh-copy-id jwpmaster

[root@jwpnode1 ~]# ssh-copy-id jwpnode1

[root@jwpnode1 ~]# ssh-copy-id jwpnode2

2.6.3.设置node2机器

[root@jwpnode2 ~]# ssh-keygen 

#一路回车,不输入密码

把本地生成的密钥文件和私钥文件拷贝到远程主机

[root@jwpnode2 ~]# ssh-copy-id jwpmaster

[root@jwpnode2 ~]# ssh-copy-id jwpnode1

[root@jwpnode2 ~]# ssh-copy-id jwpnode2

2.7.关闭交换分区swap,提升性能

2.7.1.临时关闭

[root@jwpmaster ~]# swapoff -a

[root@jwpnode1 ~]# swapoff -a

[root@jwpnode2 ~]# swapoff -a

2.7.2.永久关闭

注释swap挂载,给swap这行开头加一下注释

[root@jwpmaster ~]# vim /etc/fstab

#/dev/mapper/centos-swap swap      swap    defaults        0 0

[root@ jwpnode1 ~]# vim /etc/fstab

#/dev/mapper/centos-swap swap      swap    defaults        0 0

[root@ jwpnode2 ~]# vim /etc/fstab

#给swap这行开头加一下注释#

#/dev/mapper/centos-swap swap      swap    defaults        0 0

2.7.3.为什么要关闭swap交换分区?

Swap是交换分区,如果机器内存不够,会使用swap分区,但是swap分区的性能较低,k8s设计的时候为了能提升性能,默认是不允许使用交换分区的。Kubeadm初始化的时候会检测swap是否关闭,如果没关闭,那就初始化失败。如果不想要关闭交换分区,安装k8s的时候可以指定--ignore-preflight-errors=Swap来解决。

2.8.修改机器内核参数

[root@jwpmaster ~]# modpr

  • 23
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
KubeadmKubernetes的一个工具,用于快速部署Kubernetes集群。部署Kubernetes集群的过程可以分为几个步骤: 1. 安装Kubeadm和其他Kubernetes组件,如kubelet和kubectl。你可以通过以下命令安装它们: ``` yum install -y kubeadm kubelet kubectl ``` \[2\] 2. 初始化Master节点。在Master节点上运行以下命令来初始化Kubernetes集群: ``` kubeadm init ``` 这将创建一个Kubernetes Master节点,并生成一个加入命令,你需要将这个命令保存下来,以便在后续的步骤中使用。\[1\] 3. 配置Kubernetes网络。Kubernetes需要一个网络插件来实现Pod之间的通信。你可以选择不同的网络插件,如Flannel、Calico等。根据你选择的网络插件,你需要运行相应的命令来安装和配置它。\[1\] 4. 加入Worker节点。在Worker节点上运行之前保存的加入命令,将Worker节点加入到Kubernetes集群中。这样,你就可以在集群中部署和管理Pod了。\[1\] 总结起来,使用Kubeadm部署Kubernetes集群的步骤包括安装Kubeadm和其他组件、初始化Master节点、配置网络和加入Worker节点。\[1\]\[2\] #### 引用[.reference_title] - *1* *2* *3* [kubeadm部署k8s集群最全最详细](https://blog.csdn.net/Doudou_Mylove/article/details/103901732)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JIAWAP

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值