if you have a subordinate that has the balls to yell at you and even make you uncomfortable. i say it's time to cut ties. you are the boss and i can understand having a bad day and such but nope. if you are getting irritated at the person who pays your check, then you should say excuse me and go out to cool down. you wont get far in a career clashing with who signs your check. that is unless they are a push over. i wouldnt tolerate it at all. i have had friends that were my boss and we could hang out after work but at work, they were the boss and if they pissed me off, i would walk away and or take my beating like a champ. i may call them out on it later but not in the moment. i have been reamed by some of my best friends in the world and just let it roll. now they arent my boss any more and they know i could have and would have beaten some ass if i could have haha. we even joke about it now.
maybe a warning man but i wouldnt allow it to persist unless they are absolutely vital and if they are i would be looking for and training a replacement as soon as possible