Closed arsenalzp closed 5 years ago
I suspect the etcd container isn't coming up properly. Try tridentctl logs -l etcd
.
Are you using an etcd image for ppc?
@kangarlou,sure,I use ppc packages provided by IBM and called IBM Private Cloud CE. But their etcd uses 4001 port,so I have to change it in Dockerfile and adjust Trident configuration to force it to use external etcd. I'll try to fix it tomorrow and I hope that help.
@kangarlou , unfortunately , I'm unable to deploy Trident with external etcd:
$ kubectl logs trident-844c7d79c7-8kk8v -n trident time="2019-01-12T08:10:37Z" level=debug msg=Environment PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" time="2019-01-12T08:10:37Z" level=debug msg=Environment HOSTNAME=trident-844c7d79c7-8kk8v time="2019-01-12T08:10:37Z" level=debug msg=Environment KUBERNETES_PORT="tcp://192.168.100.1:443" time="2019-01-12T08:10:37Z" level=debug msg=Environment KUBERNETES_PORT_443_TCP="tcp://192.168.100.1:443" time="2019-01-12T08:10:37Z" level=debug msg=Environment KUBERNETES_PORT_443_TCP_PROTO=tcp time="2019-01-12T08:10:37Z" level=debug msg=Environment KUBERNETES_PORT_443_TCP_PORT=443 time="2019-01-12T08:10:37Z" level=debug msg=Environment KUBERNETES_PORT_443_TCP_ADDR=192.168.100.1 time="2019-01-12T08:10:37Z" level=debug msg=Environment KUBERNETES_SERVICE_HOST=192.168.100.1 time="2019-01-12T08:10:37Z" level=debug msg=Environment KUBERNETES_SERVICE_PORT=443 time="2019-01-12T08:10:37Z" level=debug msg=Environment KUBERNETES_SERVICE_PORT_HTTPS=443 time="2019-01-12T08:10:37Z" level=debug msg=Environment PORT=8000 time="2019-01-12T08:10:37Z" level=debug msg=Environment BIN=trident_orchestrator time="2019-01-12T08:10:37Z" level=debug msg=Environment CLI_BIN=tridentctl time="2019-01-12T08:10:37Z" level=debug msg=Environment ETCDV3="http://localhost:8001" time="2019-01-12T08:10:37Z" level=debug msg=Environment K8S= time="2019-01-12T08:10:37Z" level=debug msg=Environment TRIDENT_IP=localhost time="2019-01-12T08:10:37Z" level=debug msg=Environment HOME=/root time="2019-01-12T08:10:37Z" level=info msg="Running Trident storage orchestrator." binary=/usr/local/bin/trident_orchestrator build_time="Сб янв 12 09:42:32 EET 2019" version=18.10.0-custom+0f168eef71dd978df90130fb19a83f35add54c60 time="2019-01-12T08:10:37Z" level=debug msg=Flag name=debug value=true time="2019-01-12T08:10:37Z" level=debug msg=Flag name=etcd_v3 value="https://mycluster.icp:4001" time="2019-01-12T08:10:37Z" level=debug msg=Flag name=etcd_v3_cacert value=/etc/cfc/conf/etcd/ca.pem time="2019-01-12T08:10:37Z" level=debug msg=Flag name=etcd_v3_cert value=/etc/cfc/conf/etcd/server.pem time="2019-01-12T08:10:37Z" level=debug msg=Flag name=etcd_v3_key value=/etc/cfc/conf/etcd/server-key.pem time="2019-01-12T08:10:37Z" level=debug msg=Flag name=k8s_pod value=true time="2019-01-12T08:10:37Z" level=debug msg="Trident is configured with an etcdv3 client without TLS." time="2019-01-12T08:10:37Z" level=warning msg="Trident's etcdv3 client should be configured with TLS!" > time="2019-01-12T08:11:07Z" level=fatal msg="Unable to create the etcd V3 client. Unavailable etcd cluster"
Try to get health status:
$etcdctl --debug --no-sync --endpoints https://mycluster.icp:4001 --ca-file /etc/cfc/conf/etcd/ca.pem --cert-file /etc/cfc/conf/etcd/server.pem --key-file /etc/cfc/conf/etcd/server-key.pem cluster-health Cluster-Endpoints: https://mycluster.icp:4001 cURL Command: curl -X GET https://mycluster.icp:4001/v2/members member b0bea0af5b3040e is healthy: got healthy result from https://10.1.2.125:4001 cluster is healthy
Here is my trident-deployment-external-etcd.yaml :
$ cat trident-deployment-external-etcd.yaml apiVersion: extensions/v1beta1 kind: Deployment metadata: name: trident labels: app: trident.netapp.io spec: replicas: 1 template: metadata: labels: app: trident.netapp.io spec: serviceAccount: trident containers:
- name: trident-main image: trident:18.10.0-custom command:
- /usr/local/bin/trident_orchestrator args:
- -etcd_v3
- https://mycluster.icp:4001
- -etcd_v3_cacert
- /etc/cfc/conf/etcd/ca.pem
- -etcd_v3_cert
- /etc/cfc/conf/etcd/server.pem
- -etcd_v3_key
- /etc/cfc/conf/etcd/server-key.pem
- -
Success!
$bin/tridentctl -n trident get backend +---------------------+----------------+--------+---------+ | NAME | STORAGE DRIVER | ONLINE | VOLUMES | +---------------------+----------------+--------+---------+ | ontapnas_10.1.3.138 | ontap-nas | true | 0 | +---------------------+----------------+--------+---------+
But, I have a problem with storage classes:
$kubectl create -f storage-class-basic.yaml -n trident error: error validating "storage-class-basic.yaml": error validating data: ValidationError(StorageClass): unknown field "backendType" in io.k8s.api.storage.v1.StorageClass; if you choose to ignore these errors, turn validation off with --validate=false
Could somebody help me please ?
After closely Docs reading I found problem and fixed it. We can close this issue
$ kubectl exec -it task-pv-pod -n trident -- df -h /usr/share/nginx/html
Filesystem Size Used Avail Use% Mounted on 10.1.3.138:/trident_trident_basic_de5a6 922M 192K 922M 1% /usr/share/nginx/html
$ kubectl get pvc -aw -n trident
Flag --show-all has been deprecated, will be removed in an upcoming release NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE basic Bound trident-basic-de5a6 1Gi RWO basic 9m trident Bound trident 2Gi RWO 15h
Great to see you figured it out!
The first step of building container ( previous finished successfully . Here is my long-long debugging messages I got from tridentctl: Run installation: $ ./tridentctl install --trident-image trident:18.10.0-custom -n default -d
_$./tridentctl logs
Dockerfile presents in attachment. Dockerfile