搭建k8s集群
如果曾经安装过,建议清理旧的配置
rm -rf /root/.kube
rm -rf /etc/cni/net.d
ipvsadm -C
iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X
安装docker
docker安装
安装 kubeadm
kubeadm安装文档
kubeadm init \
--apiserver-advertise-address=172.16.51.9 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.23.1 \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=192.168.0.0/16
安装 Pod 网络附加组件(calico或flannel)
calico安装文档
flannel
允许控制平面节点上调度 Pod
kubectl taint nodes --all node-role.kubernetes.io/master-
加入节点
遇到问题
error execution phase control-plane-prepare/download-certs: error downloading certs: error downloading the secret: secrets "kubeadm-certs" is forbidden
# certificate-key 默认2小时的有效期,如果过期按照提示重新生成
# 使用命令重新生成 certificate-key
# 用新证书替换--certificate-key后面的内容
$ kubeadm init phase upload-certs --upload-certs
不关闭swap启动k8s
vi /etc/sysconfig/kubelet
KUBELET_EXTRA_ARGS="--fail-swap-on=false"
dashboard
其他pc访问dashboard,端口转发
安装dashboard
ssh -L localhost:8001:localhost:8001 -NT root@
创建用户
获取Token
kubectl -n kubernetes-dashboard get secret $(kubectl -n kubernetes-dashboard get sa/admin-user -o jsonpath="{.secrets[0].name}") -o go-template="{{.data.token | base64decode}}"
安装helm
helm
安装 ingress
选择下面任何一个即可
haproxy
haproxy-ingress
traefik
install-traefik
外部负载均衡器 metalLB
metalLB