Why is it saying that 'rb' doesnt exist in the currect context?

using UnityEngine;
using System.Collections;

public class Jump2 : MonoBehaviour {
public float jumpPower2;

// Use this for initialization
void Start()
{
    Rigidbody2D rb = GetComponent<Rigidbody2D>();
}
void onTriggerStay(Collider2D other)
{
    if (other.tag == "JumpZone")
        
        if (Input.GetKey(KeyCode.UpArrow))
            if (rb.position.y <= 0.2)
                rb.AddForce(Vector2.up * jumpPower2);
}

}

You need to make the rb variable public to other methods.
You can do this by adding it outside the start method, and assigning it in the start method like so:

private Rigidbody2D rb;

void Start()
 {
     rb = GetComponent<Rigidbody2D>();
 }