Buy a new ignition key switch lock cylinder with new keys to fix your issue and door lock cylinders if you don't want to carry 2 keys. A poorly cut key or worn out one will cause this problem. - https://www.ebay.com/itm/NEW-GMC-GM-OEM-IGNITION-KEY-SWITCH-LOCK-CYLINDER-2-DOOR-LOCK-CYLINDER-2-KEYS/351956362573
I had similar problems with my 99 Silverado. After extensive research it ended up being two things. The alternator and the instrument cluster. First I had the alternator tested and was told it was good. Then I replaced the instrument cluster with one from eBay. It helped some but was still slowly killing the battery, so I put a new alternator on and that finally fixed mine.