Hello Zsolt, You’re really welcome
On Thu, 12 Jan 2023 at 16:29 Zsolt Kozak <koza...@gmail.com> wrote: > Hello Davide! > > I really appreciate your kind help! > > kubectl get networkpolicy gave the following: > > > "No resources found in default namespace." > > This is because network policies CR are relative to their namespace. You can use -A to list a specific resource kind for all namespaces. > > > Actually I've tried to run the Kubernetes plugin in a so-called "some" > namespace, but there is no networkpolicy in "some" NS neither. (I've changed > the name of the NS to some.) > > > kubectl get networkpolicy -n some > No resources found in some namespace. > > I’d suggest you to have a look at Kubernetes documentation about Network Policies https://kubernetes.io/docs/concepts/services-networking/network-policies/ Another question, which CNI (container network interface ) are you using in your cluster ? > > > Best regards, > > Zsolt > > Again, I’ll have a try on my side and keep you updated. Best regards Davide > > > On Thu, Jan 12, 2023 at 8:00 AM Davide F. <bacula-...@dflc.ch> wrote: > >> Hello Zsolt, >> >> Indeed, the NetworkPolicy you've provided doesn't seem to be involved in >> the issue your facing. >> >> Let's keep trying to figure out what's going on with your setup >> >> Could you run these commands below >> >> kubectl get networkpolicy >> >> >> and if you get some result, run >> >> kubectl describe networkpolicy <networkpolicy-name> >> >> >> In the meantime, I'll setup a "test" environement and see if I'm facing >> the problem. >> >> I'll keep you updated. >> >> Best regards >> >> Davide >> >> On Wed, Jan 11, 2023 at 5:54 PM Zsolt Kozak <koza...@gmail.com> wrote: >> >>> Hi! >>> >>> Yes, but only one tiny: >>> >>> kind: NetworkPolicy >>> apiVersion: networking.k8s.io/v1 >>> metadata: >>> name: allow-apiserver >>> namespace: calico-apiserver >>> ownerReferences: >>> - apiVersion: operator.tigera.io/v1 >>> kind: APIServer >>> name: default >>> controller: true >>> blockOwnerDeletion: true >>> managedFields: >>> - manager: operator >>> operation: Update >>> apiVersion: networking.k8s.io/v1 >>> spec: >>> podSelector: >>> matchLabels: >>> apiserver: 'true' >>> ingress: >>> - ports: >>> - protocol: TCP >>> port: 5443 >>> policyTypes: >>> - Ingress >>> status: {} >>> >>> But I guess it's an allow, not a block policy. (I'm somewhat new to >>> Kubernetes and not too familiar with network policies...) >>> >>> Best regards, >>> Zsolt >>> >>> On Wed, Jan 11, 2023 at 5:47 PM Davide F. <bacula-...@dflc.ch> wrote: >>> >>>> Hi, >>>> >>>> Are you using some kind of network policy within your cluster ? >>>> >>>> Best, >>>> >>>> Davide >>>> >>>> On Wed, 11 Jan 2023 at 10:53 Zsolt Kozak <koza...@gmail.com> wrote: >>>> >>>>> Hello Davide! >>>>> >>>>> I am running the File Daemon on the master node, on the control plane. >>>>> It's Kubernetes vanilla, version 1.25.4. >>>>> No, the master node is running on the same subnet as the workers. >>>>> >>>>> It should be some network issue, I think. >>>>> >>>>> Best regards, >>>>> Zsolt >>>>> >>>>> On Wed, Jan 11, 2023 at 8:45 AM Davide F. <bacula-...@dflc.ch> wrote: >>>>> >>>>>> Hello Kozak, >>>>>> >>>>>> I haven’t tried k8s plugin but let me try to understand what could be >>>>>> the root cause of your problem. >>>>>> >>>>>> Could you explain further point 1 please ? >>>>>> On which node are you running the file daemon ? >>>>>> >>>>>> Which version / flavor of Kubernetes are you using ? >>>>>> >>>>>> Is it Kubernetes vanilla ? OpenShift ? Tansu ? >>>>>> >>>>>> Depending on your feedback from the first question, does master nodes >>>>>> runs in a different subnet than worker’s ? >>>>>> >>>>>> Thanks for your feedback >>>>>> >>>>>> Best, >>>>>> >>>>>> Davide >>>>>> >>>>>> On Tue, 10 Jan 2023 at 21:12 Zsolt Kozak <koza...@gmail.com> wrote: >>>>>> >>>>>>> Hello, >>>>>>> >>>>>>> I have some problems with backuping Kubernetes PVCs with Bacula >>>>>>> Kubernetes Plugin. (I have asked it on bacula-users mailing list but >>>>>>> got no >>>>>>> answer.) >>>>>>> >>>>>>> I am using the latest 13.0.1 Bacula from the community builds on >>>>>>> Debian Bullseye hosts. >>>>>>> >>>>>>> Backuping only the Kubernetes objects except Persistent Volume >>>>>>> Claims (PVC) works like a charm. I've installed the Kubernetes plugin >>>>>>> and >>>>>>> the latest Bacula File Daemon on the master node (control plane) of our >>>>>>> Kubernetes cluster. Bacula can access the Kubernetes cluster and backup >>>>>>> every single object as YAML files. >>>>>>> >>>>>>> The interesting part comes with trying to backup a PVC... >>>>>>> >>>>>>> First of all I could build my own Bacula Backup Proxy Pod Image from >>>>>>> the source and it's deployed into our local Docker image repository >>>>>>> (repo). >>>>>>> The Bacula File Daemon is configured properly I guess. Backup process >>>>>>> started and the following things happened. >>>>>>> >>>>>>> 1. Bacula File Daemon deployed Bacula Backup Proxy Pod Image into >>>>>>> the Kubernetes cluster, so Bacula-backup container pod started. >>>>>>> 2. I got into the pod and I could see the Baculatar application >>>>>>> started and running. >>>>>>> 3. The k8s_backend application started on the Bacula File Daemon >>>>>>> host (kubernetes.server) in 2 instances. >>>>>>> 4. From the Bacula-backup pod I could check that Baculatar could >>>>>>> connect to the k8s_backend at the default 9104 port >>>>>>> (kubernetes.server:9104). >>>>>>> 5. I checked the console messages of the job with Bat that Bacula >>>>>>> File Daemon started to process the configured PVC, started to write a >>>>>>> pvc.tar but nothing happened. >>>>>>> 6. After default 600 sec, after timeout the job was cancelled. >>>>>>> 7. It may be important that Bacula File Daemon could not delete the >>>>>>> Bacula-backup pod. (It could create it but could not delete it.) >>>>>>> >>>>>>> >>>>>>> Could you please tell me what's wrong? >>>>>>> >>>>>>> >>>>>>> Here are some log parts. (I've changed some sensitive data.) >>>>>>> >>>>>>> >>>>>>> Bacula File Daemon configuration: >>>>>>> >>>>>>> FileSet { >>>>>>> Name = "Kubernetes Set" >>>>>>> Include { >>>>>>> Options { >>>>>>> signature = SHA512 >>>>>>> compression = GZIP >>>>>>> Verify = pins3 >>>>>>> } >>>>>>> Plugin = "kubernetes: \ >>>>>>> debug=1 \ >>>>>>> baculaimage=repo/bacula-backup:04jan23 \ >>>>>>> namespace=namespace \ >>>>>>> pvcdata \ >>>>>>> pluginhost=kubernetes.server \ >>>>>>> timeout=120 \ >>>>>>> verify_ssl=0 \ >>>>>>> fdcertfile=/etc/bacula/certs/bacula-backup.cert \ >>>>>>> fdkeyfile=/etc/bacula/certs/bacula-backup.key" >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> >>>>>>> >>>>>>> Bacula File Daemon debug log (parts): >>>>>>> >>>>>>> >>>>>>> DEBUG:[baculak8s/jobs/estimation_job.py:134 in processing_loop] >>>>>>> processing get_annotated_namespaced_pods_data:namespace:nrfound:0 >>>>>>> DEBUG:[baculak8s/plugins/kubernetes_plugin.py:319 in >>>>>>> list_pvcdata_for_namespace] list pvcdata for namespace:namespace >>>>>>> pvcfilter=True estimate=False >>>>>>> DEBUG:[baculak8s/plugins/k8sbackend/pvcdata.py:108 in >>>>>>> pvcdata_list_namespaced] pvcfilter: True >>>>>>> DEBUG:[baculak8s/plugins/k8sbackend/pvcdata.py:112 in >>>>>>> pvcdata_list_namespaced] found:some-claim >>>>>>> DEBUG:[baculak8s/plugins/k8sbackend/pvcdata.py:127 in >>>>>>> pvcdata_list_namespaced] add pvc: {'name': 'some-claim', 'node_name': >>>>>>> None, >>>>>>> 'storage_class_name': 'nfs-client', 'capacity': '2Gi', 'fi': >>>>>>> <baculak8s.entities.file_info.FileInfo object at 0x7ffaa55bfcc0>} >>>>>>> DEBUG:[baculak8s/jobs/estimation_job.py:165 in processing_loop] >>>>>>> processing list_pvcdata_for_namespace:namespace:nrfound:1 >>>>>>> DEBUG:[baculak8s/jobs/estimation_job.py:172 in processing_loop] >>>>>>> PVCDATA:some-claim:{'name': 'some-claim', 'node_name': 'node1', >>>>>>> 'storage_class_name': 'nfs-client', 'capacity': '2Gi', 'fi': >>>>>>> <baculak8s.entities.file_info.FileInfo object at 0x7ffaa55bfcc0>} >>>>>>> DEBUG:[baculak8s/io/log.py:110 in save_sent_packet] Sent Packet >>>>>>> I000041 >>>>>>> Start backup volume claim: some-claim >>>>>>> >>>>>>> DEBUG:[baculak8s/jobs/job_pod_bacula.py:298 in prepare_bacula_pod] >>>>>>> prepare_bacula_pod:token=xx88M5oggQJ....4YDbSwBRxTOhT >>>>>>> namespace=namespace >>>>>>> DEBUG:[baculak8s/jobs/job_pod_bacula.py:136 in prepare_pod_yaml] >>>>>>> pvcdata: {'name': 'some-claim', 'node_name': 'node1', >>>>>>> 'storage_class_name': >>>>>>> 'nfs-client', 'capacity': '2Gi', 'fi': >>>>>>> <baculak8s.entities.file_info.FileInfo object at 0x7ffaa55bfcc0>} >>>>>>> DEBUG:[baculak8s/plugins/k8sbackend/baculabackup.py:102 in >>>>>>> prepare_backup_pod_yaml] host:kubernetes.server port:9104 >>>>>>> namespace:namespace image:repo/bacula-backup:04jan23 >>>>>>> job:KubernetesBackup.2023-01-04_21.05.03_10:410706 >>>>>>> DEBUG:[baculak8s/io/log.py:110 in save_sent_packet] Sent Packet >>>>>>> I000149 >>>>>>> Prepare Bacula Pod on: node1 with: repo/bacula-backup:04jan23 >>>>>>> <IfNotPresent> kubernetes.server:9104 >>>>>>> >>>>>>> DEBUG:[baculak8s/jobs/job_pod_bacula.py:198 in >>>>>>> prepare_connection_server] prepare_connection_server:New >>>>>>> ConnectionServer: >>>>>>> 0.0.0.0:9104 >>>>>>> DEBUG:[baculak8s/util/sslserver.py:180 in listen] >>>>>>> ConnectionServer:Listening... >>>>>>> DEBUG:[baculak8s/jobs/job_pod_bacula.py:307 in prepare_bacula_pod] >>>>>>> prepare_bacula_pod:start pod >>>>>>> INFO:[baculak8s/plugins/kubernetes_plugin.py:771 in >>>>>>> backup_pod_isready] backup_pod_status:isReady: False / 0 >>>>>>> INFO:[baculak8s/plugins/kubernetes_plugin.py:771 in >>>>>>> backup_pod_isready] backup_pod_status:isReady: True / 1 >>>>>>> DEBUG:[baculak8s/jobs/estimation_job.py:183 in _estimate_file] >>>>>>> {'name': 'some-claim', 'node_name': 'node1', 'storage_class_name': >>>>>>> 'nfs-client', 'capacity': '2Gi', 'fi': >>>>>>> <baculak8s.entities.file_info.FileInfo object at 0x7ffaa55bfcc0>} >>>>>>> DEBUG:[baculak8s/jobs/estimation_job.py:190 in _estimate_file] >>>>>>> file_info: {FileInfo >>>>>>> name:/@kubernetes/namespaces/namespace/persistentvolumeclaims/some-claim.tar >>>>>>> namespace:None type:F objtype:pvcdata cached:False} >>>>>>> DEBUG:[baculak8s/io/log.py:110 in save_sent_packet] Sent Packet >>>>>>> C000079 >>>>>>> >>>>>>> FNAME:/@kubernetes/namespaces/namespace/persistentvolumeclaims/some-claim.tar >>>>>>> >>>>>>> >>>>>>> DEBUG:[baculak8s/io/log.py:110 in save_sent_packet] Sent Packet >>>>>>> C000040 >>>>>>> TSTAMP:1672861077 1672861077 1672861077 >>>>>>> >>>>>>> DEBUG:[baculak8s/io/log.py:110 in save_sent_packet] Sent Packet >>>>>>> C000031 >>>>>>> STAT:F 2147483648 0 0 100640 1 >>>>>>> >>>>>>> DEBUG:[baculak8s/io/log.py:110 in save_sent_packet] Sent Packet >>>>>>> F000000 >>>>>>> (EOD PACKET) >>>>>>> >>>>>>> DEBUG:[baculak8s/jobs/backup_job.py:77 in __backup_pvcdata] >>>>>>> backup_pvcdata:data recv >>>>>>> DEBUG:[baculak8s/io/log.py:110 in save_sent_packet] Sent Packet >>>>>>> C000005 >>>>>>> DATA >>>>>>> >>>>>>> DEBUG:[baculak8s/util/sslserver.py:193 in handle_connection] >>>>>>> ConnectionServer:Connection from: ('192.168.XX.YY', 10541) >>>>>>> DEBUG:[baculak8s/util/sslserver.py:145 in gethello] ['Hello', >>>>>>> 'KubernetesBackup.2023-01-04_21.05.03_10', '410706'] >>>>>>> DEBUG:[baculak8s/util/token.py:57 in check_auth_data] >>>>>>> AUTH_DATA:Token: xx88M5oggQJuGsPbtD........ohQjeU7PkA4YDbSwBRxTOhT >>>>>>> DEBUG:[baculak8s/util/token.py:59 in check_auth_data] >>>>>>> RECV_TOKEN_DATA:Token: xx88M5oggQJuGsPbtD....ohQjeU7PkA4YDbSwBRxTOhT >>>>>>> DEBUG:[baculak8s/util/sslserver.py:105 in authenticate] >>>>>>> ConnectionServer:Authenticated >>>>>>> >>>>>>> .... after timeout >>>>>>> >>>>>>> DEBUG:[baculak8s/jobs/job_pod_bacula.py:121 in handle_pod_data_recv] >>>>>>> handle_pod_data_recv:EOT >>>>>>> DEBUG:[baculak8s/util/sslserver.py:201 in handle_connection] >>>>>>> ConnectionServer:Finish - disconnect. >>>>>>> DEBUG:[baculak8s/jobs/backup_job.py:85 in __backup_pvcdata] >>>>>>> backup_pvcdata:logs recv >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> Job messages: >>>>>>> >>>>>>> bacula-dir No prior or suitable Full backup found in catalog for the >>>>>>> current FileSet. Doing FULL backup. >>>>>>> The FileSet "Kubernetes Set" was modified on 2023-01-04 20:20:41, >>>>>>> this is after the last successful backup on 2023-01-04 19:19:49. >>>>>>> bacula-sd Ready to append to end of Volume "Full-XXX" >>>>>>> size=3,838,161,002 >>>>>>> bacula-fd Connected to Storage at bacula.server:9103 with TLS >>>>>>> bacula-sd Volume "Full-XXXX" previously written, moving to end of >>>>>>> data. >>>>>>> bacula-dir Connected to Client "bacula-fd" at kubernetes.server:9102 >>>>>>> with TLS >>>>>>> Using Device "FileStorageEeyoreFull" to write. >>>>>>> Connected to Storage "InternalStorageFull" at bacula.server:9103 >>>>>>> with TLS >>>>>>> Start Backup JobId 410830, >>>>>>> Job=KubernetesBackup.2023-01-04_21.05.03_10 >>>>>>> bacula-fd kubernetes: Prepare Bacula Pod on: node with: >>>>>>> repo/bacula-backup:04jan23 kubernetes.server:9104 >>>>>>> kubernetes: Processing namespace: namespace >>>>>>> kubernetes: Start backup volume claim: some-claim >>>>>>> kubernetes: Connected to Kubernetes 1.25 - v1.25.4. >>>>>>> bacula-dir >>>>>>> Error: Bacula Enterprise bacula-dir 13.0.1 (05Aug22): >>>>>>> Build OS: x86_64-pc-linux-gnu-bacula-enterprise >>>>>>> debian 11.2 >>>>>>> JobId: 410830 >>>>>>> Job: KubernetesBackup.2023-01-04_21.05.03_10 >>>>>>> Backup Level: Full (upgraded from Differential) >>>>>>> Client: "bacula-fd" 13.0.1 (05Aug22) >>>>>>> x86_64-pc-linux-gnu-bacula-enterprise,debian,10.11 >>>>>>> FileSet: "Kubernetes Set" 2023-01-04 20:20:41 >>>>>>> Pool: "Full-Pool" (From Job FullPool override) >>>>>>> Catalog: "MyCatalog" (From Client resource) >>>>>>> Storage: "InternalStorageFull" (From Pool resource) >>>>>>> Scheduled time: 04-Jan-2023 21:05:03 >>>>>>> Start time: 04-Jan-2023 21:27:04 >>>>>>> End time: 04-Jan-2023 21:29:06 >>>>>>> Elapsed time: 2 mins 2 secs >>>>>>> Priority: 10 >>>>>>> FD Files Written: 23 >>>>>>> SD Files Written: 0 >>>>>>> FD Bytes Written: 52,784 (52.78 KB) >>>>>>> SD Bytes Written: 0 (0 B) >>>>>>> Rate: 0.4 KB/s >>>>>>> Software Compression: 100.0% 1.0:1 >>>>>>> Comm Line Compression: 5.6% 1.1:1 >>>>>>> Snapshot/VSS: no >>>>>>> Encryption: yes >>>>>>> Accurate: yes >>>>>>> Volume name(s): Full-XXXX >>>>>>> Volume Session Id: 43 >>>>>>> Volume Session Time: 1672853724 >>>>>>> Last Volume Bytes: 3,838,244,105 (3.838 GB) >>>>>>> Non-fatal FD errors: 3 >>>>>>> SD Errors: 0 >>>>>>> FD termination status: OK >>>>>>> SD termination status: SD despooling Attributes >>>>>>> Termination: *** Backup Error *** >>>>>>> Fatal error: catreq.c:680 Restore object create error. >>>>>>> bacula-fd >>>>>>> Error: kubernetes: PTCOMM cannot get packet header from backend. >>>>>>> bacula-dir Fatal error: sql_create.c:1273 Create db Object record >>>>>>> INSERT INTO RestoreObject >>>>>>> (ObjectName,PluginName,RestoreObject,ObjectLength,ObjectFullLength,ObjectIndex,ObjectType,ObjectCompression,FileIndex,JobId) >>>>>>> VALUES ('RestoreOptions','kubernetes: \n debug=1 \n >>>>>>> baculaimage=repo/bacula-backup:04jan23 \n >>>>>>> namespace=namespace \n pvcdata \n >>>>>>> pluginhost=kubernetes.server \n timeout=120 \n >>>>>>> verify_ssl=0 \n >>>>>>> fdcertfile=/etc/bacula/certs/bacula-backup.cert >>>>>>> \n >>>>>>> fdkeyfile=/etc/bacula/certs/bacula-backup.key','# Plugin >>>>>>> configuration file\n# Version 1\nOptPrompt=\"K8S config >>>>>>> file\"\nOptDefault=\"*None*\"\nconfig=@STR@\n\n >>>>>>> OptPrompt=\"K8S API server >>>>>>> URL/Host\"\nOptDefault=\"*None*\"\nhost=@STR@\n\nOptPrompt=\"K8S >>>>>>> Bearertoken\"\nOptDefault=\"*None*\"\ntoken=@STR@\n\nOptPrompt=\"K8S >>>>>>> API server cert verification\"\n >>>>>>> OptDefault=\"True\"\nverify_ssl=@BOOL@\n\nOptPrompt=\"Custom CA >>>>>>> Certs file to >>>>>>> use\"\nOptDefault=\"*None*\"\nssl_ca_cert=@STR@\n\nOptPrompt=\"Output >>>>>>> format when saving to file (JSON, YAML)\"\n >>>>>>> OptDefault=\"RAW\"\noutputformat=@STR@\n\nOptPrompt=\"The address >>>>>>> for listen to incoming backup pod >>>>>>> data\"\nOptDefault=\"*FDAddress*\"\nfdaddress=@STR@\n\n >>>>>>> OptPrompt=\"The port for opening socket for >>>>>>> listen\"\nOptDefault=\"9104\"\nfdport=@INT32@\n\nOptPrompt=\"The >>>>>>> endpoint address for backup pod to connect\"\n >>>>>>> OptDefault=\"*FDAddress*\"\npluginhost=@STR@\n\nOptPrompt=\"The >>>>>>> endpoint port to connect\"\nOptDefault=\"9104\"\n >>>>>>> pluginport=@INT32@\n\n',859,859,0,27,0,1,410830) failed. ERR=Data >>>>>>> too long for column 'PluginName' at row 1 >>>>>>> >>>>>>> bacula-sd Sending spooled attrs to the Director. Despooling 8,214 >>>>>>> bytes ... >>>>>>> bacula-fd >>>>>>> Error: kubernetes: Error closing backend. Err=Child exited with code >>>>>>> 1 >>>>>>> Fatal error: kubernetes: Wrong backend response to JobEnd command. >>>>>>> bacula-sd Elapsed time=00:02:02, Transfer rate=659 Bytes/second >>>>>>> bacula-fd >>>>>>> Error: kubernetes: PTCOMM cannot get packet header from backend. >>>>>>> >>>>>>> Error: kubernetes: Cannot successfully start bacula-backup pod in >>>>>>> expected time! >>>>>>> >>>>>>> Error: kubernetes: Job already running in 'namespace' namespace. >>>>>>> Check logs or delete bacula-backup Pod manually. >>>>>>> >>>>>>> >>>>>>> Best regards, >>>>>>> Zsolt >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Bacula-devel mailing list >>>>>>> Bacula-devel@lists.sourceforge.net >>>>>>> https://lists.sourceforge.net/lists/listinfo/bacula-devel >>>>>>> >>>>>>
_______________________________________________ Bacula-devel mailing list Bacula-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-devel