11-5 kubectl apply -f glusterfs-pvc.yaml为pending状态(后续1)

来源:11-5 共享存储 --- PV、PVC和StorageClass(下)

yl_testimooc3804939

2022-12-08

在上个问题"11-5 kubectl apply -f glusterfs-pvc.yaml为pending状态"
中老师让从"controller-manager入手,重建deployment,看看实时日志"。

–这里简单说一下我的解决方案:
我这里是3master(node-1/2/3),3worker(gluster-01/02/03),根据第四章重建,因为我单独加节点失败了。

#编辑kube-controller-manager.yaml
[root@node-1 ~]# vim /etc/kubernetes/manifests/kube-controller-manager.yaml
spec:
  containers:
  - command:
#新加看明细日志
    - --v=4
#看日志
[root@node-2 ~]# kubectl logs kube-controller-manager-node-2 -n kube-system | grep glusterfs | less 
failed to create volume: Post "http://172.16.1.26:30001/volumes": 
dial tcp **172.16.1.26:30001: connect: connection refused**

#storage-class文件内容
[root@node-1 9-persistent-volume]# cat glusterfs-storage-class.yaml 
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: glusterfs-storage-class
provisioner: kubernetes.io/glusterfs
parameters:
#172.16.1.26这是部署ingress-controller的部署地址
#我修改了第四章部署ingress的内容,打label只让部署在其中一个worker节点gluster-03
  resturl: "http://172.16.1.26:30001"
  clusterid: "XX"
  restauthenabled: "true"
  restuser: "admin"
  secretNamespace: "default"
  secretName: "XX"
  gidMin: "40000"
  gidMax: "50000"
  volumetype: "replicate:3"
[root@node-1 ~]# kubectl get all -n ingress-nginx -o wide
NAME                                 READY   STATUS    RESTARTS   AGE   IP            NODE         NOMINATED NODE   READINESS GATES
pod/ingress-nginx-controller-6s67r   1/1     Running   1          12h   10.233.58.5   gluster-03   <none>           <none>

#我查了一下为啥拒绝,发现

#发现使用POD虚拟地址可以访问30001端口
[root@node-1 9-persistent-volume]# curl 10.233.58.5:30001
Required authorization token not found
#原机器(虚拟机16配置NAT方式)的内网IP(172.16.1.26)和外网IP(10.0.0.26)都不可访问30001端口
[root@node-1 9-persistent-volume]# curl 172.16.1.26:30001
curl: (7) Failed connect to 172.16.1.26:30001; Connection refused

于是修改glusterfs-storage-class.yaml ,把IP换成ingress的POD-IP:10.233.58.5:30001就可以正常BOUND了。

老师,我这里的ingress版本用的是第四章的ingress-nginx_controller:v0.41.2,
这里直接配置ingress的POD的IP:10.233.58.5对不对啊?

写回答

2回答

刘果国

2022-12-12

课程里用的是host网络,用宿主机ip。

                                                                               
translator
                               
                                                       Double-click                                                    
                               
                                                       Select to translate                                                    
           
0
0

刘果国

2022-12-10

确定你这个不是svcip吗,podip重启会变

                                                                               
translator
                               
                                                       Double-click                                                    
                               
                                                       Select to translate                                                    
           
0
5
yl_testimooc3804939
我最终配置heketi的scvip,这样10.200.191.255:80可以连接成功,但10.200.191.255:30001不行。 这个30001端口暴露给哪个机器了?为啥视频中是说ingress的?我用ingress的gluster-03的实际IP:30001端口是不可以的啊。
2022-12-10
共5条回复

Kubernetes生产落地全程实践

一个互联网公司落地Kubernetes全过程点点滴滴

2293 学习 · 2211 问题

查看课程