基于centos7.6使用kubeadm搭建k8s

文档说明

适用于小白玩家,增强k8s的游戏体验,如有不懂,可自行前往https://www.kuboard.cn/install/install-k8s.html查阅资料。

基础环境适配

常规的linux环境下部署应用的操作:

  1. hostname 不要使用系统默认的hostname,自行设置hostname
    #将主机名设置为nejore
	hostnamectl set-hostname nejore
	echo "127.0.0.1   master" >> /etc/hosts
  1. 确认网卡地址 通过命令确认默认使用的网卡及网卡IP地址
root@localhost ~]# ip route show
default via 192.168.239.1 dev ens33 proto static metric 100 
192.168.239.0/24 dev ens33 proto kernel scope link src 192.168.239.101 metric 100
[root@localhost ~]# ip a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
   inet 127.0.0.1/8 scope host lo
      valid_lft forever preferred_lft forever
   inet6 ::1/128 scope host 
      valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
   link/ether 00:0c:29:db:0c:32 brd ff:ff:ff:ff:ff:ff
   inet 192.168.239.101/24 brd 192.168.239.255 scope global noprefixroute ens33
      valid_lft forever preferred_lft forever
   inet6 fe80::2a85:e69:9524:1495/64 scope link noprefixroute 
      valid_lft forever preferred_lft forever
  1. 设备信息确认
任意节点 centos 版本为 7.6 / 7.7 或 7.8
任意节点 CPU 内核数量大于等于 2,且内存大于等于 4G
任意节点 hostname 不是 localhost,且不包含下划线、小数点、大写字母,且主节点的主机名不为master
任意节点都有固定的内网 IP 地址
任意节点都只有一个网卡,如果有特殊目的,我可以在完成 K8S 安装后再增加新的网卡
任意节点上 Kubelet使用的 IP 地址 可互通(无需 NAT 映射即可相互访问),且没有防火墙、安全组隔离
任意节点不会直接使用 docker run 或 docker-compose 运行容器
  1. 开始安装
# 在 master 节点和 worker 节点都要执行
# 最后一个参数 1.18.6 用于指定 kubenetes 版本,支持所有 1.18.x 版本的安装
# 腾讯云 docker hub 镜像
# export REGISTRY_MIRROR="https://mirror.ccs.tencentyun.com"
# DaoCloud 镜像
# export REGISTRY_MIRROR="http://f1361db2.m.daocloud.io"
# 华为云镜像
# export REGISTRY_MIRROR="https://05f073ad3c0010ea0f4bc00b7105ec20.mirror.swr.myhuaweicloud.com"
# 阿里云 docker hub 镜像
export REGISTRY_MIRROR=https://registry.cn-hangzhou.aliyuncs.com
curl -sSL https://kuboard.cn/install-script/v1.18.x/install_kubelet.sh | sh -s 1.18.6
  1. 初始化master
# 只在 master 节点执行
# 替换 x.x.x.x 为 master 节点实际 IP(请使用内网 IP)
# export 命令只在当前 shell 会话中有效,开启新的 shell 窗口后,如果要继续安装过程,请重新执行此处的 export 命令
export MASTER_IP=x.x.x.x
# 替换 apiserver.demo 为 您想要的 dnsName
export APISERVER_NAME=apiserver.demo
# Kubernetes 容器组所在的网段,该网段安装完成后,由 kubernetes 创建,事先并不存在于您的物理网络中
export POD_SUBNET=10.100.0.1/16
echo "${MASTER_IP}    ${APISERVER_NAME}" >> /etc/hosts
curl -sSL https://kuboard.cn/install-script/v1.18.x/init_master.sh | sh -s 1.18.6

# 只在 master 节点执行
# 执行如下命令,等待 3-10 分钟,直到所有的容器组处于 Running 状态
watch kubectl get pod -n kube-system -o wide
# 查看 master 节点初始化结果
kubectl get nodes -o wide

  1. 初始化slave
现在master上获取命令
# 只在 master 节点执行
[root@nejore ~]# kubeadm token create --print-join-command
W0820 09:16:18.439647   39574 configset.go:202] WARNING: kubeadm cannot validate component configs for API groups [kubelet.config.k8s.io kubeproxy.config.k8s.io]
kubeadm join master.cn:6443 --token 45jh36.tnn5ebvigb5i7vty     --discovery-token-ca-cert-hash sha256:6369fbae6eb48f25a88575d523bdc2962f6c4355b650e6550c1d3a74b0ca1ec6

然后将结果中的命令复制到slave上执行即可
slave上执行
kubeadm join master.cn:6443 --token 45jh36.tnn5ebvigb5i7vty     --discovery-token-ca-cert-hash 
  1. 验证
[root@nejore ~]# kubectl get nodes -o wide
NAME     STATUS   ROLES    AGE   VERSION   INTERNAL-IP     EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION          CONTAINER-RUNTIME
nejore   Ready    master   18h   v1.18.6   192.168.1.110   <none>        CentOS Linux 7 (Core)   3.10.0-957.el7.x86_64   docker://19.3.8
slave    Ready    <none>   96m   v1.18.6   192.168.1.120   <none>        CentOS Linux 7 (Core)   3.10.0-957.el7.x86_64   docker://19.3.8
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值