Q:

Does DNS need an A record, or is NS record all that is needed

I have a domain pointing to a web server using Cloudflare as the DNS host. The name servers on the domain point to CloudFlare, and on cloud flare I have an NS record pointing to the name server designated by the webhost server. Previously all I have had to do was put the name server as an NS record and after a while, the domain would point to the site. I have put the NS record to the correct name server and it doesn't point to the web server. However, if I add an A record pointing directly to the server, it works almost instantaneously. My question is does there need to be an A record? I have not done in the past, all I needed is the NS records. Just wondering as the IP is not dedicated and can change.
(I created another test site with a dot tk domain and the name servers on there worked just fine, no need for A record)
My Cloudflare DNS records: https://i.stack.imgur.com/1jxN2.png
I am just wondering if I need the A record there, because the dot tk worked without an A record. I have the NS record there, but when I remove the A record, there is a DNS error. Does this mean that I have to change the IP every time the server IP changes if the A record must be used?

A:

I've personally never seen a DNS configured without an A record, unless it was simply reserving the domain name.  The NS record simply identifies the servers on record for resolving user friendly Internet names to IP addresses. As far as I know, it's not supposed to point to any services other than DNS server to server queries.
Cloudflare may have simply been trying to make it easier for new users to create domains without knowing the various DNS mechanics and created an A record dynamically???  I've never used Cloudflare, so I'm just guessing on this one.
In regards to changing your A record everytime your IP changes, the answer is yes, unless you use DDNS.  See this post in SE.

