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

Reply via email to