First of all let’s take a look on the node tree needed for achieving the end result.
Displays a texture what needs a glow.
Enables running actions on the glow without causing to render the glow again. Running an action on the SKEffectNode would cause it to redraw although it is rasterizing its content. Also note that the zPosition of the node should be -1 as the glow should be rendered behind the root node.
Applies gaussian blur filter to the child node what in this case is a SKSpriteNode displaying the same texture as the root node. It is important to cache the content by setting shouldRasterize to true. Otherwise the glow gets re-rendered in every frame and therefore uses computing power unnecessary.
Uses the same texture as the root node what is rendered together with the filter SKEffectNode provides.
Please check out the playground demonstrating rendering the glow in code: GlowingSprite (GitHub)