1. 使用阿里云主机一键部署 k8s 集群
发布于 2022年 04月 29日 21:49
环境说明
- 云主机: 2台(云主机需要可以翻墙)
- 操作系统: Ubuntu 18
- 配置: 2C 2G
创建2台阿里云的云主机,创建步骤见下图
我使用的是按量计费,用完随时删除
- 使用国外地域及可用区
- 使用国外地域及可用区
- 使用国外地域及可用区
设置 hostname
- 将 master 节点的云主机 hostname 设置为 k8s-master
hostnamectl set-hostname k8s-master
- 将 worker 节点的云主机 hostname 设置为 k8s-worker1
hostnamectl set-hostname k8s-worker1
部署 master 节点(需要先 ssh 到 k8s-master 的云主机)
- 执行下面命令一键部署 master 节点
curl https://gitee.com/huang_juan/k8s-deploy-shell/raw/master/master.sh | sh
- master 节点部署成功后如下图
- master 节点查看 nodes 和 pods 情况,此时只有 k8s-master 一个节点
部署 worker 节点(需要先 ssh 到 k8s-worker1 云主机)
- 执行下面的命令一键部署 worker 节点
curl https://gitee.com/huang_juan/k8s-deploy-shell/raw/master/worker.sh | sh
- worker 节点部署成功后如下图
将 workder 节点加入到集群
- 在 master 节点执行下面命令,获取到 token 和 ca_hash
kubeadm token create
master_ip=$(ifconfig | grep eth0 -A 1 | grep inet | awk '{print $2}')
token=$(kubeadm token list | grep -v TOKEN | awk '{print $1}' | head -n 1)
ca_hash=$(openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //')
echo kubeadm join $master_ip:6443 --token $token --discovery-token-ca-cert-hash sha256:$ca_hash
- 将 worker 节点加入 k8s cluster,先在 master 节点上的生成命令,复制到 worker 节点执行
kubeadm join $master_ip:6443 --token $token --discovery-token-ca-cert-hash sha256:$ca_hash
- 在 worker 节点上配置 kubectl
在 k8s-worker1 云主机上执行
mkdir -p $HOME/.kube
# $master_ip 需要替换成你的 k8s-master 云主机的 ip(如果你的两台云主机都是阿里云的,内网IP或外网IP都可以)
scp root@$master_ip:/etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
在 k8s-worker1 节点上验证 config 文件
cat /root/.kube/config
配置成功后,在 k8s-worker1 节点上可以查看 nodes 信息,可以看到 k8s-worker1 节点已经加入到集群
在 k8s-master 节点上查看 nodes 信息