龙空技术网

小白入门必知必会-Kubernetes安装

霸都运维 186

前言:

眼前兄弟们对“kubernets获取不了nodes”大体比较重视,大家都想要知道一些“kubernets获取不了nodes”的相关文章。那么小编在网络上网罗了一些对于“kubernets获取不了nodes””的相关文章,希望你们能喜欢,你们一起来学习一下吧!

一 Kubernetes基础

1.1 简介

Kubernetes也称为K8s,是用于自动部署、扩缩和管理容器化应用程序的开源系统。

1.2 官网

二 基础环境设置

以下在不做特殊说明的情况下,两台机器都要执行

2.1 服务器规划

两台4核CPU、8G内存、100G磁盘空间的服务器,操作系统为CentOS7.8

2.2 修改主机名

hostnamectl set-hostname k8smaster

hostnamectl set-hostname k8sworker

退出重新登录

2.3 设置hostname解析

echo "127.0.0.1 $(hostname)" >>/etc/hosts

2.4 关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

2.5 禁用SElinux

setenforce 0

sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

2.6 关闭swap

swapoff -a

sed -ri 's/.*swap.*/#&/' /etc/fstab

2.7 允许iptables检查桥接流量

cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf

br_netfilter

EOF

cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

EOF

生效

sysctl --system

三 Kubernetes

以下在不做特殊说明的情况下,两台机器都要执行。本次安装版本为1.19.5

3.1 安装Docker及Kubelete

export REGISTRY_MIRROR= curl -sSL | sh -s 1.19.5

3.2 初始化master节点

只在master服务器执行

# 只在 master 节点执行

# 替换 x.x.x.x 为 master 节点实际 IP(请使用内网 IP)

# export 命令只在当前 shell 会话中有效,开启新的 shell 窗口后,如果要继续安装过程,请重新执行此处的 export 命令

export MASTER_IP=192.168.0.101

# 替换 apiserver.demo 为 您想要的 dnsName

export APISERVER_NAME=sanzhilang.cn

# Kubernetes 容器组所在的网段,该网段安装完成后,由 kubernetes 创建,事先并不存在于您的物理网络中

export POD_SUBNET=10.100.0.1/16

echo "${MASTER_IP} ${APISERVER_NAME}" >> /etc/hosts

curl -sSL | sh -s 1.19.5

执行如下命令,等待 3-10 分钟,直到所有的容器组处于 Running 状态 watch kubectl get pod -n kube-system -o wide

查看master节点初始化结果

kubectl get nodes -o wide

3.3 初始化worker节点

获取join命令参数,在master节点执行

kubeadm token create --print-join-command

kubeadm join sanzhilang.cn:6443 --token 59zt5u.nj2dcn6luqvaage6 --discovery-token-ca-cert-hash sha256:6fd493d045db199846b863826717c1dfd23f8a6ea0efd3d8953b4b2facbdecb7

该token的有效时间是2小时。

针对所有的worker节点执行

# 只在 worker 节点执行

# 替换 x.x.x.x 为 master 节点的内网 IP

export MASTER_IP=192.168.0.101

# 替换 apiserver.demo 为初始化 master 节点时所使用的 APISERVER_NAME

export APISERVER_NAME=sanzhiliang.cn

echo "${MASTER_IP} ${APISERVER_NAME}" >> /etc/hosts

# 替换为 master 节点上 kubeadm token create 命令的输出

kubeadm join sanzhilang.cn:6443 --token 59zt5u.nj2dcn6luqvaage6 --discovery-token-ca-cert-hash sha256:6fd493d045db199846b863826717c1dfd23f8a6ea0efd3d8953b4b2facbdecb7

3.4 检查初始化结果

在master节点上执行

kubectl get nodes -o wide

至此,通过Kubeadm方式安装Kubernetes成功。感谢您的观看与支持,坚持下去,一起努力加油吧。

标签: #kubernets获取不了nodes