我是靠谱客的博主 慈祥胡萝卜,这篇文章主要介绍k8s教程(一)——安装k8s以及搭建单master集群一、确认相关环境二、安装相关容器运行时等工具 containerd/kubelet/kubeadm/kubectl三、初始化节点四、安装 Ingress Controller,现在分享给大家,希望可以做个参考。

k8s官方文档:k8s官方文档 相关概念都在上面,比如为什么存在有什么用。个人是觉得10台以上的服务器用k8s才不算浪费,以下的直接用docker swarm,docker stack都可。但是需要注意的是,新版k8s的一种容器进行时——Container Runtime祛除了docker,如果依旧需要docker需要自己做修改。

参考文档:参考文档

一、确认相关环境

   1.确认版本及配置

我是根据参考文档进行的。所以根据他的要求是2核4G且CentOS版本在7.8及7.8以上。本人是7.8

   2.检查hostname

复制代码
1
2
3
4
5
6
7
8
9
10
11
# 此处 hostname 的输出将会是该机器在 Kubernetes 集群中的节点名字 # 不能使用 localhost 作为节点的名字 hostname # 如需修改hostname: hostnamectl set-hostname your-new-host-name # 查看修改结果 hostnamectl status # 设置 hostname 解析 echo "127.0.0.1 $(hostname)" >> /etc/hosts

需要注意的点是你的hostname也不可以是大写或者有除‘-’‘.’的符号。翻车本人在线现身说法。如果有会报错

  3.检查网络,只有一个网卡

复制代码
1
2
3
4
5
kubelet使用的IP地址 ip route show 命令中,可以知道机器的默认网卡,通常是 eth0,如 default via 172.21.0.23 dev eth0 ip address 命令中,可显示默认网卡的 IP 地址,Kubernetes 将使用此 IP 地址与集群内的其他节点通信,如 172.17.216.80 所有节点上 Kubernetes 所使用的 IP 地址必须可以互通(无需 NAT 映射、无安全组或防火墙隔离)

顺带关闭防火墙命令为:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
1:查看防火状态 systemctl status firewalld service iptables status 2:暂时关闭防火墙 systemctl stop firewalld service iptables stop 3:永久关闭防火墙 systemctl disable firewalld chkconfig iptables off 4:重启防火墙 systemctl enable firewalld service iptables restart 5:永久关闭后重启 //暂时还没有试过 chkconfig iptables on 

二、安装相关容器运行时等工具 containerd/kubelet/kubeadm/kubectl

快捷安装:

复制代码
1
2
3
# 最后一个命令的后缀“1.20.1” 是指的kubenetes的版本 export REGISTRY_MIRROR=https://registry.cn-hangzhou.aliyuncs.com curl -sSL https://kuboard.cn/install-script/v1.20.x/install_kubelet.sh | sh -s 1.20.1

三、初始化节点

  1.初始化Master节点

复制代码
1
2
3
4
5
6
7
8
9
10
# 只在 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.20.x/init_master.sh | sh -s 1.20.1

节点加载完成后会出现以下信息

这个就和docker swarm是一样的,输入命令加入

复制代码
1
2
3
4
5
6
7
8
9
10
11
# 只在 worker 节点执行 # 替换 x.x.x.x 为 master 节点的内网 IP 注意啊,是master的节点 export MASTER_IP=x.x.x.x # 替换 just.test 为初始化 master 节点时所使用的 APISERVER_NAME export APISERVER_NAME=just.test echo "${MASTER_IP} ${APISERVER_NAME}" >> /etc/hosts # 替换为 master 节点上 kubeadm token create 命令的输出 kubeadm join just.test:6443 --token soakyr.mqkeyato53jemg93 --discovery-token-ca-cert-hash sha256:25bdf2344ea68150c692d79391958f3820b5db63f116a24db1aacb36d9bdecf7

在相应work节点绑定完成后,在master服务器查看绑定结果

复制代码
1
kubectl get nodes -o wide

结果如下:如果第一次看见状态为"notready"可以等一下,Master节点会被标出

四、安装 Ingress Controller

  1.名词解释:

Ingress 是对集群中服务的外部访问进行管理的 API 对象,典型的访问方式是 HTTP。

Ingress 可以提供负载均衡、SSL 终结和基于名称的虚拟托管。

 

官方文档:Ingress文档

  2.搭建Ingress环境

复制代码
1
2
3
# 只在 master 节点执行 kubectl apply -f https://kuboard.cn/install-script/v1.20.x/nginx-ingress.yaml

如果出现错误可重试。

最后

以上就是慈祥胡萝卜最近收集整理的关于k8s教程(一)——安装k8s以及搭建单master集群一、确认相关环境二、安装相关容器运行时等工具 containerd/kubelet/kubeadm/kubectl三、初始化节点四、安装 Ingress Controller的全部内容,更多相关k8s教程(一)——安装k8s以及搭建单master集群一、确认相关环境二、安装相关容器运行时等工具 containerd/kubelet/kubeadm/kubectl三、初始化节点四、安装内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部