环境说明

  • 云主机: 2台(云主机需求可以翻墙
  • 操作系统: Ubuntu 18
  • 装备: 2C 2G

创立2台阿里云的云主机,创立过程见下图

我运用的是按量计费,用完随时删去

  • 运用国外地域及可用区
  • 运用国外地域及可用区
  • 运用国外地域及可用区

1. 使用阿里云主机一键部署 k8s 集群

1. 使用阿里云主机一键部署 k8s 集群

1. 使用阿里云主机一键部署 k8s 集群

设置 hostname

  • 将 master 节点的云主机 hostname 设置为 k8s-master
hostnamectl set-hostname k8s-master

1. 使用阿里云主机一键部署 k8s 集群

1. 使用阿里云主机一键部署 k8s 集群

  • 将 worker 节点的云主机 hostname 设置为 k8s-worker1
hostnamectl set-hostname k8s-worker1

1. 使用阿里云主机一键部署 k8s 集群

布置 master 节点(需求先 ssh 到 k8s-master 的云主机)

  • 履行下面指令一键布置 master 节点
curl https://gitee.com/huang_juan/k8s-deploy-shell/raw/master/master.sh | sh

1. 使用阿里云主机一键部署 k8s 集群

  • master 节点布置成功后如下图

1. 使用阿里云主机一键部署 k8s 集群

  • master 节点检查 nodes 和 pods 状况,此刻只有 k8s-master 一个节点

1. 使用阿里云主机一键部署 k8s 集群

布置 worker 节点(需求先 ssh 到 k8s-worker1 云主机)

  • 履行下面的指令一键布置 worker 节点
curl https://gitee.com/huang_juan/k8s-deploy-shell/raw/master/worker.sh | sh

1. 使用阿里云主机一键部署 k8s 集群

  • worker 节点布置成功后如下图

1. 使用阿里云主机一键部署 k8s 集群

将 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

1. 使用阿里云主机一键部署 k8s 集群

  • 将 worker 节点参加 k8s cluster,先在 master 节点上的生成指令,复制到 worker 节点履行
kubeadm join $master_ip:6443 --token $token --discovery-token-ca-cert-hash sha256:$ca_hash

1. 使用阿里云主机一键部署 k8s 集群

  • 在 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

1. 使用阿里云主机一键部署 k8s 集群

装备成功后,在 k8s-worker1 节点上可以检查 nodes 信息,可以看到 k8s-worker1 节点已经参加到集群

1. 使用阿里云主机一键部署 k8s 集群

在 k8s-master 节点上检查 nodes 信息

1. 使用阿里云主机一键部署 k8s 集群

1. 使用阿里云主机一键部署 k8s 集群

装置 Metrics API

  • 装置
kubectl apply -f https://gitee.com/huang_juan/k8s-deploy-shell/raw/master/metrics-api.yaml
  • 验证是否装置成功
kubectl get pods -A | grep metric
kubectl top pods -A

1. 使用阿里云主机一键部署 k8s 集群