背景:php 去年6月份被裁员之后,在深圳带娃,转眼到了十月多,去找工作发现没啥招聘就回老家了,想着今年出来找工作,2月份开始找 是真难找啊,面试没几个 基本都是外包在招人 没办法四月底入职了一家小公司 职务还不是做开发 偏运维 cto自己管理五六台服务器(宝塔)说搭个k8s吧 好管理 行吧 开整 咱也没搭过 幸好文档还是挺多的 官方中文文档
前提工具:kubeadm
服务器: 预算有限三台阿里云Ubuntu20.04.6 一台master 两台node 如下图
开整
#默认关闭swap分区 不用设置
#先安装工具
apt update && apt install docker.io vim curl net-tools -y
#设置主机名
hostnamectl set-hostname xxxx
#修改host
vim /etc/hosts
内网ip k8s-node1
内网ip k8s-node2
内网ip k8s-master k8sapi
#执行
apt-get update && apt-get install -y apt-transport-https
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
apt-get update
#指定版本
apt-get install -y kubelet=1.27.1-00 kubeadm=1.27.1-00 kubectl=1.27.1-00
#容器运行时拉不下来 替换对应的阿里云的 这是对应上面版本的
ctr -n k8s.io image pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6
ctr -n k8s.io image tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6 registry.k8s.io/pause:3.6
#master 节点初始化
#参考https://kubernetes.io/zh-cn/docs/reference/setup-tools/kubeadm/kubeadm-init/
kubeadm init \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version=v1.27.1 \
--apiserver-advertise-address=内网ip \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16 \
--control-plane-endpoint="k8sapi:6443" \
--upload-certs
你会看到下图
master节点执行完下面的
复制kubeadm join xxx 去node节点执行就行
#master
kubectl get node
你会发现node节点还是notready 因为还没安装网络控件
#安装flannel
#git地址 https://github.com/flannel-io/flannel
kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml
安装结束
管理工具 我用的是Kuboard www.kuboard.cn/install/v3/…
sudo docker run -d \
--restart=unless-stopped \
--name=kuboardv3 \
-p 8081:80/tcp \
-p 10082:10081/tcp \
-e KUBOARD_ENDPOINT="http://内网ip:80" \
-e KUBOARD_AGENT_SERVER_TCP_PORT="10082" \
-v /data/kuboard-data:/data \
swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v3
用户名: admin 密 码: Kuboard123
好了 可以开始你的旅程了 祝好