如何通过kubeadm在aws上创建集群?为了创建一个k8s集群,需要在公有云上申请两个EC2instance。这里演示的是在操作系统选择的aws、ubuntu上申请实例,创建过程中可以使用默认配置。的。pem文件在创建过程中需要保存,这是后续登录实例所需要的。
创建完成后,检查实例的公共IP地址,并通过公共IP地址和pem文件登录实例。登录实例的命令:ssh
-I/Users/李涛/Downloads/qiaotl.pem
Ubuntu@xx.xx.xx.xx(在此输入实例的公共IP地址)。
目标:创建一个包含三个节点的集群,一个主节点和两个节点。
Kubeadm在AWS:https://www.zhaodufu.com/zt/2023-05-06/上创建了一个集群折扣链接
具体步骤如下:
第一步:在aws上申请3个实例,选择ubuntu作为操作系统。
1.登录aws,申请3个ec2实例。节点通过内部IP地址加入,所以EC2是在aws上创建的。
请用弹性IP绑定实例,这样即使实例重新启动后,IP地址也不会更改。
2.执行swapoff -a命令来关闭分区;执行sudo ufw disable关闭防火墙。
3.为了保证节点节点能够成功加入主节点,还需要向主节点和节点节点开放以下端口。详情请见官网详情。
步骤2:允许iptables检查桥接流量。
1.执行命令sudo modprobe br_netfilter。
执行这个命令后,会自动创建目录/proc/sys/net/bridge,在这个目录下会自动创建一些文件,后面会用到。
2.为了使您的Linux节点上的iptables能够正确地查看桥接流量,请执行以下命令并将。
网。bridge.bridge-nf-call-iptables设置为。
cat & lt
net . bridge . bridge-nf-call-IP 6 tables = 1
net . bridge . bridge-nf-call-iptables = 1
文件结束
第三步:安装kubeadm、kubelet和kubectl。
1.更新apt包索引并安装使用Kubernetes apt仓库所需的包。
sudo apt-get更新& amp& ampsudo apt-get install-y apt-transport-https
卷曲容器
sudo apt-get更新& amp& ampsudo apt-get install -y
apt-transport-https
sudo apt-get安装卷曲
sudo apt-get安装容器d
2.下载谷歌云公共签名密钥。
sudo curl-fsSLo/usr/share/keyrings/kubernetes-archive-keyring . gpg
https://packages.cloud.google.com/apt/doc/apt-key.gpg
sudo curl-fsSLo/usr/share/keyrings/kubernetes-archive-keyring . gpg
https://packages.cloud.google.com/apt/doc/apt-key.gpg
3.添加Kubernetes apt仓库:
echo ” deb[signed-by =/usr/share/keyrings/kubernetes-archive-keyring . gpg]
https://apt.kubernetes.io/库伯内特斯-xenial main“| sudo tee
/etc/apt/sources . list . d/kubernetes . list
4.安装kubeadm、kubelet和kubectl并锁定版本。
sudo apt-get更新
sudo apt-get install-y kube let kube ADM kube CTL
sudo apt-mark hold kube let kube ADM kube CTL
以上三个步骤需要在主节点和节点节点都执行。
安装完成后,选择一个节点为主节点,另外两个节点为节点节点,主节点执行集群初始化命令。
kube ADM init-API server-advertise-address = 10 . x . x . x
-service-CIDR = 10 . x . x . x/16-pod-network-CIDR = 192 . 168 . 0 . 0/16
这里没有使用默认的kubeadm。
Init,-API server-advertisement-address可以填写主节点的内部ip地址,实际项目是一个负载均衡的ip。- service-cidr和-API server-advertisement-address不能在同一个网段,比如前面是10.0,那么后面就是10.1。
For-pod – pod-network-cidr
法兰绒默认为10.244.0.0/16。
印花布默认为192.168.0.0/16。
需要注意的是,在Kubea ADM init的过程中,如果选择以下方法安装calico插件,必须在Kubea ADM init时进行设置。
-POD-网络-CIDR = 192.168.0.0/16。否则,安装插件后,节点状态不是就绪。
在执行上述命令的过程中,遇到以下错误,所以执行这两条命,手指设为1。
echo 1 & gt/proc/sys/net/bridge/bridge-nf-call-iptables
echo 1 & gt/proc/sys/net/ipv4/ip_forward
kubeadm init命令执行完成后,将显示以下信息。按提示符复制配置文件kubeadm。
join命令需要复制下来,这是node节点后来加入的命令。
接下来,在主节点上安装网络插件,并在这里选择calico网络插件。有关特定网络插件的安装详细信息,请参见此处。
kubectl create -f
https://docs . project calico . org/manifests/tigera-operator . YAML
kubectl create -f
https://docs . project calico . org/manifests/custom-resources . YAML
安装插件后,可以在节点node上执行复制的kubeadm join命令。请注意,所有节点也需要执行步骤1、2和3。
节点node加入成功后,就可以在主节点上执行kubectl get了。
Node命令,检查主节点和节点的信息。如果两个节点都处于就绪状态,如下图所示,则整个集群安装成功。
如果以后要重启集群,在主节点和节点节点上执行kubeadm reset命令,然后在主节点上上下kubeadm。
Init命令,只需要在node node上再想想kubead join命令。
如果遇到这个错误,可以从以下几个方面检查:连接到服务器主机6443-被拒绝。
1.执行命令,查看6443是否被正常监控。
netstat -pnlt | grep 6443
2.检查kubelet服务是否正在运行。
系统控制状态kubelet
3.检查containerd服务是否正在运行。
系统状态容器d
以上是通过kubeadm在aws上创建集群的所有步骤。可以根据自己的需求和预算,以找独服低价选择合适的EC2实例类型和配置,并按实际使用情况收费。AWS的计费方式主要包括按需计费、预留实例和按使用计费等选项。亚马逊VPS(亚马逊
EC2)主要用于创建和管理虚拟服务器。它提供了灵活的计算能力,并允许您在云中运行各种应用程序和服务。
评论前必须登录!
注册