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 信息

推荐文章