Forum Discussion

Bryan_T_'s avatar
Nov 13, 2024

TS Declarations for DNS

Does anyone have a list of TS declarations that just show objects in the DNS module? Any examples that show wide-ip's aPools, cnamePools, etc would be helpful. 

 

Thank you

  • Hi,

    List Wide IPs

    --> tmsh list ltm dns wideip all-properties

    List A Pools

    --> tmsh list ltm dns pool a all-properties

    List CNAME Pools

    tmsh list ltm dns pool cname all-properties

     

    List DNS Configurations

    tmsh list ltm dns all-properties

     

    HT

  • Hi Bryan_T,

     

    In F5 Telemetry Streaming (TS), a DNS declaration would typically be a JSON structure defining the configuration of a DNS zone on your BIG-IP device, including details like record types (A, CNAME, MX), hostnames, IP addresses, and potentially security settings, allowing you to declaratively manage your DNS infrastructure through the F5 API and monitor changes in DNS records via telemetry streams. 

     

    Key points about F5 TS DNS declarations:
    Declarative nature:
    You specify the desired state of your DNS configuration in a JSON document, and the F5 system automatically applies the changes needed to achieve that state. 
    Data structure:
    The declaration would likely include properties like:
    Zone name: The domain name for which you're defining DNS records. 
    Record type: A (Address), CNAME (Canonical Name), MX (Mail Exchanger), TXT (Text), etc. 
    Host name: The hostname associated with the record. 
    IP address/target: The corresponding IP address or another hostname for the record. 
    TTL (Time To Live): How long the record should be cached by resolvers. 

     

    Security features:
    Depending on the F5 configuration, you might include options for DNSSEC (Domain Name System Security Extensions) to enhance security by validating DNS records. 


    Example F5 TS DNS declaration (simplified):
    Code

    {

        "class": "DNS",

        "my_zone": {

            "class": "DNS_Zone",

            "name": "example.com",

            "records": [

                {

                    "name": "www",

                    "type": "A",

                    "rdata": "10.0.0.1",

                    "ttl": 3600

                },

                {

                    "name": "mail",

                    "type": "CNAME",

                    "rdata": "mail.example.com",

                    "ttl": 3600

                }

            ]

        }

    }
    How to use a DNS declaration:
    Send to F5 API:
    You would POST this JSON declaration to the F5 BIG-IP Telemetry Streaming API endpoint to configure the DNS zone with the specified records.
    Monitoring changes:
    By using the F5 TS capabilities, you can monitor changes in the DNS configuration and receive notifications when updates are made to your DNS records. 

     

    Important considerations:
    F5 version compatibility:
    Ensure your declaration syntax aligns with the version of F5 BIG-IP you are using.
    Access control:
    You need appropriate permissions to manage DNS configurations on your F5 device. 

     

    Detailed documentation:
    Refer to the F5 documentation for specific details on supported DNS record types, configuration options, and the complete syntax for your F5 version.

    Using BIG-IP DNS features in a declaration

    https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/3.32/declarations/gslb.html

     

    F5 Public Cloud Solutions > Deploying F5 Solutions to GCP with Terraform and The F5 Automation Toolchain > F5 Telemetry Streaming Initial SetupSource | Edit on 

    PDF

    F5 Telemetry Streaming Initial Setup

    https://clouddocs.f5.com/training/community/public-cloud/html/class14/module05/lab1.html

    https://clouddocs.f5.com/products/extensions/f5-telemetry-streaming/latest/#:~:text=Introduction%C2%B6,TS's%20declarative%20REST%20API%20endpoint.&text=If%20playback%20doesn't%20begin%20shortly%2C%20try%20restarting%20your%20device.

    https://clouddocs.f5.com/products/extensions/f5-telemetry-streaming/latest/declarations.html

     

    F5 Telemetry Streaming Initial Setup

    Telemetry Streaming was created to offload common metrics from the BIG-IP onto external monitoring/graphing utilities, including the major cloud-native monitoring programs. In this lab we will be sending the some basic metrics from the BIG-IP to Cloud Monitoring - part of GCP.

    The Telemetry Streaming package has been installed as part of the base image. You can verify it is installed by going to iApps => Package Management LX where you can note the version.

     

     

     

    Make sure you are signed into BIG-IP 1, click on TS the bottom white bar.

     

    “message:Success” response signals that the Telemetry Streaming Extension (TS) is ready on Big-IP1.

    From files tab click on Lab4.2-TS under the drop down menu, select “ts.json” request. Right Click “Post as TS Declaration”.

     

     

    “message:Success” response signals that the Telemetry Streaming Extension (TS) declaration successfully completed processing on Big-IP1.

     

     

    Switch the connection to BIG-IP 2.

    From files tab click on Lab4.2-TS under the drop down menu, select “ts.json” request. Right Click “Post as TS Declaration”.

     

     

    “message:Success” response signals that the Telemetry Streaming Extension (TS) declaration successfully completed processing on Big-IP1.

     

     

    This lab has been split into two parts to ensure that the systems begin to send data to the Google Cloud Monitoring Solution which you can query and visualize.

     

     

    HTH


    F5 Design Engineer

    (Please rate and mark as solution if this is helpful.)
    (F5 DevCentral is a free help community, but it requires time and dedication to help others, a thanks or rating would not hurt or cost anything)