I always buy travel insurance. You can go to insuremytrip.com and choose specifics for insurance you want. There are lots of companies to compare on that site. I have bought Nationwide through them and bought Nationwide on their web site.
With Nationwide you can wait to buy it and still be covered for preexisting conditions as long as you pay for insurance that covers the full cost of your known trip/cruise cost, even though you have only put down a deposit. When I buy their insurance, I usually wait until closer to paying my cruise in full so I am not out so much money when I have only paid my deposit.
I have also bought Travel Guard. You have to buy their insurance within 14 days (if I remember correctly) of booking your cruise. With them, you can pay for the amount of insurance that just covers what you have spent to date and increase coverage as you pay more for the cruise, excursions, air fare, etc. Payments for increased coverage have to be made within a given time frame as well (within 14 days of purchasing new excursions, etc.) to keep the preexisting condition coverage without paying extra for it. Everything has to be paid before final payment.