环境说明
- 云主机: 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 信息
装置 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