I would recommend not using the 21 gallon as a spawning tank, unless you use a small(er) container inside the 21 gallon..
For breeding you will want to start with:
Anywhere from 5-10 gallons if you go with the glass tank to spawn in.
You can spawn in 5 gallon buckets (I usually don't recommend that to new breeders as it's hard to see the babies and look for deformities).
Can also breed in smallish plastic bins (Rubbermaid and Sterilite are the brands most recommended as they tend to be food grade, which will be safe for live animals). Similar to this type.
The larger the tank you breed in the more spread out the food will be and for a while after hatching, the fry dart here and there rather than actually swim and some will actually starve if they can't find enough food.. to make sure they find enough food you will end up over feeding them, which will lead to water fouling up quicker and going through your food much faster. Also you will need to be doing daily water changes, and using a small airline siphon to vacuum up everything off the bottom and to siphon the water for the first few weeks - month+ will be so annoying and time consuming in a larger tank. Why it's usually recommended no bigger than 10 gallons with a few inches of water to breed in as the largest size to breed in. Another reason is it's harder to get a pair to breed in a large space - the pair will stay on opposite ends and will keep getting out of "breeding" mode, etc.
You will need a grow out tank - depending on how many you have it will determine the size(s) of the grow outs.. a 21 gallon is fine for a smaller spawn (20 gallon LONG is usually the smallest recommended.. anything smaller you will need multiples of). I use multiple 29 gallons.. one of my spawns had to be divided up between them as I ended up with 550+ fry from a single spawn. So keep in mind you will sometimes have a large spawn, sometimes a smaller one and you will need to house them safely and healthy until you start to cull them or jar them. I would recommend at least 1 more tank of 29g size to add with the 21 gallon grow out tank. Depending how much you want to breed, if you want to go with more than 1 spawn at a time, or growing at a time (at minimum of 3 months you will be growing them per spawn) you will want at least another large tank. But if you are happy with spawning once every 2 months or so then the 21g and 29g will be fine..
Heaters for all the tanks, remember to get larger wattage for larger tanks and make sure they are all adjustable as you will want certain temps to breed/grow out in.
Sponge filters - don't use any other filter with them for the first couple months (or at all really). Sponge filters along with the air pump, airline hoses and air control valves.
IAL, live plants (not needed, but very highly recommended as it provides food for newborn fry, and helps with overall water quality), a couple snails (I would advise having only one snail per tank to avoid a ton of them which can bring up ammonia which is a big time killer for fry).
Depends on the size of the mason jars.. I usually recommend having at least a 100 jars/beanie containers/deli cups on hand at any given time for the juveniles.
Also you will need a way to heat them all up to the proper temps. Either with heat tape, a space heater, etc. Need to be proper temps that are stable.
Live foods.. BBS, micro cultures, worms, etc.. lots and lots of live foods.
There is so much more small stuff as well.. I would read the stickies on top of the breeding section- it's a good first step to what you will need, etc :)
Breeding is an expensive, very big time consumer and space taker.. definitely not something to take lightly. Lots of hard work and hours a day will lead to success :)
There are different species to the bettas, but what you are looking at is the splenden family which has multiple tail types. They will breed to one another, but better to breed the same tail type to one another until the genetics and goals are learned/determined before mixing tail types, as it can get really sloppy.. and some tail types (such as double tail) are actually deformities and can lead to body deformities easily if not careful (such as breeding a double tail to a double tail more than once, etc). Halfmoons are fine and good to breed, it's what I specialize in the most :)