There are many ways to create cross-hairs and cross-hair-like effects in Unity. Here are just a few of them:
You don't need a 2kx2k pixel texture just for a cross-hair. In fact, that would be (very) bad practice. Instead, you can have Unity scale and tile a simple, very small texture, based on it's parts.
In the case of a single-pixel cross-hair, a 3x3 image is enough, through the process of 9-slicing; there the image will be sliced in up to 9 different parts, and where each edge slice will be tiled or stretched to fit/fill a certain area.
You don't need a 2kx2k texture. A 1-pixel image stretched across the screen will look like a 1-pixel line. Make two of them cross at the middle, and you have a 1-pixel cross-hair.
When dealing with UI, transformations, variations and combinations of small images are pretty much always better than monolithic textures.
In engines that support this, or with the help of plugins, vector-graphics is often the best choice for screen-space UI, as it provides clean, crisp, graphics, which are easy to transform, maintain, extend, and can greatly simplify the process of making dynamic effects.
Unfortunately, very few game-engines support this out-of-the-box, and Unity is not one of them. Further unfortunately still, almost all plugins that provide this functionality do so through work-arounds, like transforming the vector-graphics into normal images, which, despite allowing the engine to "support vector-graphics", doesn't really maintain most of the advantages of vector-graphics.
Scripted Graphics-Library rendering:
Most game engines allow (direct or indirect) access to their underlying low-level Graphics-Library (IE OpenGL, DirectX, Vulkan, etc), and it is trivial to draw simple cross-hairs through these libraries.
In Unity, this access is provided through the GL class.
Note: This is usually not recommended, because it's overkill and much harder to change/maintain than an image-based approach, specially since there is no difference if you do the image-based approach correctly.
And many more...
These are just the main/most common few of many, many other methods... You're strongly advised to do some research on this, as many of the methods for creating cross-hairs also provide interesting starting-points and/or clues for more advanced graphics and effects.
To get a pixel-perfect effect, you need a pixel-aligned approach, obviously. In Unity, for screen-space UI, that's as easy as marking the "pixel-perfect" checkbox in the canvas' inspector.