一.k8s环境搭建
部署k8s
节点 | IP地址(统一使用外网IP) | 配置 | 云 |
master | 192.168.1.33 | 2核4G | 腾讯云 |
node | 192.168.22.45 | 1核2G | 华为云 |
二.部署nfs
1.master节点安装nfs服务端
yum -y install rpcbind nfs-utils
systemctl start rpcbind.service
systemctl start nfs.service
2.创建需要挂载的目录
mkdir -pv /data/volumes
chown -R nfsnobody.nfsnobody /data/volumes
3.配置/etc/exports文件
vim /etc/exports
/data/volumes 192.168.22.45(insecure,rw,async,no_root_squash)
#使配置生效
exportfs -rv
# 查看配置
exportfs
4.node节点安装nfs客户端
yum -y install nfs-utils rpcbind
systemctl start rpcbind.service
三.helm部署storageclass(动态存储)
1.安装helm
wget https://get.helm.sh/helm-v3.2.4-linux-amd64.tar.gz
tar -zxvf helm-v3.2.4-linux-amd64.tar.gz
mv linux-amd64/helm /usr/local/bin/helm
2.helm安装nfs-provisioner
helm repo add azure http://mirror.azure.cn/kubernetes/charts/
helm install nfs-client azure/nfs-client-provisioner \
--set nfs.server=192.168.1.33 \
--set nfs.path=/data/volumes \
--set storageClass.name=glusterfs \
--set storageClass.defaultClass=true
3.查看
kubectl get sc
kubectl get pod
4.创建测试文件测试
# 配置
cat < pvc-test.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-test
spec:
storageClassName: "nfs-storage"
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Mi
EOF
kubectl apply -f pvc-test.yaml
# 查看
kubectl get pvc
状态是Bound为成功,Pending则为异常
如果异常,编辑yaml文件,加入 - --feature-gates=RemoveSelfLink=false
vim /etc/kubernetes/manifests/kube-apiserver.yaml
四.安装kubesphere
1.打开github中kubesphere项目,下载yaml文件到master节点
kubectl apply -f kubesphere-installer.yaml
2.编辑cluster-configuration.yaml文件,将里面devops等组件开启(将false改成true)
vim cluster-configuration.yaml
kubectl apply -f cluster-configuration.yaml
3.查看日志,看安装任务是否成功
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f
五.登陆kubesphere(http://192.168.1.33:30880)
默认账号密码:admin/P@88w0rd