āĻāĻāĻž āĻ āĻŋāĻ, āĻŽā§āĻā§āĻ¤āĻŋāĻ° āĻĒāĻ°ā§
āĻāĻ āĻāĻŋāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ā§ āĻāĻŽāĻ°āĻž āĻ§āĻžāĻĒā§ āĻ§āĻžāĻĒā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦ
āĻāĻāĻžāĻ°āĻāĻŋāĻ
āĻāĻŽāĻ°āĻž āĻ¯āĻĻāĻŋ āĻ¯āĻžāĻ
āĻāĻŋāĻ¤ā§āĻ° 1: āĻāĻ¨āĻ¸āĻžāĻ˛ āĻ āĻ¨ā§āĻŽā§āĻĻāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ āĻĢāĻŋāĻ¸āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻāĻāĻžāĻ°āĻāĻŋāĻ
āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¤āĻžāĻāĻžāĻ¨
āĻ āĻŦāĻļā§āĻ¯āĻ, āĻ¸ā§āĻāĻžāĻ¨ā§ āĻĻāĻ°āĻāĻžāĻ°ā§ āĻ¤āĻĨā§āĻ¯ āĻāĻā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ¸āĻ˛ā§ āĻāĻāĻŋ āĻā§āĻāĻžāĻŦā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦā§āĻ¨ āĻ¤āĻžāĻ° āĻā§āĻ¨āĻ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻāĻž āĻ¨ā§āĻā§ˇ āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻ¯ā§ āĻā§āĻ¨āĻ āĻŦāĻŋāĻŦā§āĻāĻŦāĻžāĻ¨ āĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻ° āĻŽāĻ¤ā§, āĻāĻĒāĻ¨āĻŋ āĻāĻžāĻāĻĄā§āĻ¨ā§āĻ¸ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ¨ā§āĻāĻžāĻ°āĻ¨ā§āĻ āĻā§āĻāĻā§āĻā§āĻ¨āĨ¤ āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ°... āĻāĻĒāĻ¨āĻŋ āĻŦā§āĻ¯āĻ°ā§āĻĨ. āĻāĻāĻž āĻāĻā§āĨ¤ āĻāĻ° āĻāĻāĻž āĻ āĻŋāĻ āĻāĻ°āĻž āĻ¯āĻžāĻ.
āĻāĻŽāĻžāĻĻā§āĻ° POC āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻāĻā§, āĻāĻ¸ā§āĻ¨ āĻāĻ¨āĻ¸āĻžāĻ˛ā§āĻ° āĻ āĻ¨ā§āĻŽā§āĻĻāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻāĻāĻžāĻ°āĻāĻŋāĻāĻ¤ā§ āĻĢāĻŋāĻ°ā§ āĻ¯āĻžāĻ (āĻĄāĻžāĻ¯āĻŧāĻžāĻā§āĻ°āĻžāĻŽ 1) āĻāĻŦāĻ āĻāĻāĻŋāĻā§ āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ā§āĻ° āĻĒā§āĻ°āĻ¸āĻā§āĻā§ āĻĒāĻ°āĻŋāĻŽāĻžāĻ°ā§āĻāĻ¨ āĻāĻ°āĻŋāĨ¤
āĻ¸ā§āĻĨāĻžāĻĒāĻ¤ā§āĻ¯
āĻāĻ āĻāĻŋāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ā§, āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻŽā§āĻļāĻŋāĻ¨ā§ āĻāĻāĻāĻŋ āĻāĻ¨āĻ¸āĻžāĻ˛ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦ āĻ¯āĻž āĻāĻ¨āĻ¸āĻžāĻ˛ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž āĻāĻāĻāĻŋ āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¯ā§āĻāĻžāĻ¯ā§āĻ āĻāĻ°āĻŦā§āĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ°ā§ āĻāĻŽāĻ°āĻž āĻĒāĻĄā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻĄāĻžāĻŽāĻŋ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦ āĻāĻŦāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ¨āĻ¸āĻžāĻ˛ āĻā§/āĻŽāĻžāĻ¨ āĻ¸ā§āĻā§āĻ° āĻĨā§āĻā§ āĻĒāĻĄāĻŧāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻž āĻ āĻ¨ā§āĻŽā§āĻĻāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦāĨ¤
āĻ¨ā§āĻā§āĻ° āĻāĻŋāĻ¤ā§āĻ°āĻāĻŋ āĻāĻ āĻāĻŋāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ā§ āĻāĻŽāĻ°āĻž āĻ¯ā§ āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻāĻŋ āĻ¤āĻžāĻ° āĻŦāĻŋāĻŦāĻ°āĻŖ āĻĻā§āĻ¯āĻŧ, āĻ¸ā§āĻāĻ¸āĻžāĻĨā§ āĻ āĻ¨ā§āĻŽā§āĻĻāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻĒāĻŋāĻāĻ¨ā§ āĻ¯ā§āĻā§āĻ¤āĻŋ, āĻ¯āĻž āĻĒāĻ°ā§ āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž āĻāĻ°āĻž āĻšāĻŦā§āĨ¤
āĻāĻŋāĻ¤ā§āĻ° 2: Kubernetes āĻ āĻ¨ā§āĻŽā§āĻĻāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻāĻāĻžāĻ°āĻāĻŋāĻ
āĻāĻāĻāĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻ¨ā§āĻ: āĻāĻāĻŋ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ¨āĻ¸āĻžāĻ˛ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĻ° āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§āĻ° āĻŦāĻžāĻāĻ°ā§ āĻĨāĻžāĻāĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻāĨ¤ āĻ¤āĻŦā§ āĻšā§āĻ¯āĻžāĻ, āĻ¤āĻŋāĻ¨āĻŋ āĻāĻāĻāĻžāĻŦā§ āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻāĻ¨āĻ¸āĻžāĻ˛ āĻāĻāĻžāĻ°āĻāĻŋāĻ āĻĄāĻžāĻ¯āĻŧāĻžāĻā§āĻ°āĻžāĻŽ (āĻĄāĻžāĻ¯āĻŧāĻžāĻā§āĻ°āĻžāĻŽ 1) āĻā§āĻ°āĻšāĻŖ āĻāĻ°ā§ āĻāĻŦāĻ āĻāĻāĻŋāĻ¤ā§ āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°ā§, āĻāĻŽāĻ°āĻž āĻāĻĒāĻ°ā§āĻ° āĻāĻŋāĻ¤ā§āĻ°āĻāĻŋ āĻĒā§āĻ¯āĻŧā§āĻāĻŋ (āĻĄāĻžāĻ¯āĻŧāĻžāĻā§āĻ°āĻžāĻŽ 2), āĻāĻŦāĻ āĻāĻāĻžāĻ¨ā§ āĻ¯ā§āĻā§āĻ¤āĻŋāĻāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§āĻĒ:
- āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻĒāĻĄā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻ ā§āĻ¯āĻžāĻāĻžāĻāĻ¨ā§āĻ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻĨāĻžāĻāĻŦā§ āĻ¯āĻžāĻ¤ā§ āĻāĻāĻāĻŋ JWT āĻā§āĻā§āĻ¨ āĻā§āĻ¨āĻžāĻ°ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ Kubernetes āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°āĻŋāĻāĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻāĻ āĻā§āĻā§āĻ¨āĻāĻŋāĻ āĻĄāĻŋāĻĢāĻ˛ā§āĻāĻ°ā§āĻĒā§ āĻĒāĻĄā§ āĻĸā§āĻāĻžāĻ¨ā§ āĻšāĻ¯āĻŧāĨ¤
- āĻĒāĻĄā§āĻ° āĻāĻŋāĻ¤āĻ°ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻŦā§āĻĻāĻ¨ āĻŦāĻž āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ¨āĻ¸āĻžāĻ˛ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻā§āĻ° āĻāĻžāĻā§ āĻāĻāĻāĻŋ āĻ˛āĻāĻāĻ¨ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻļā§āĻ°ā§ āĻāĻ°ā§āĨ¤ āĻ˛āĻāĻāĻ¨ āĻ āĻ¨ā§āĻ°ā§āĻ§ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻā§āĻ¨ āĻāĻŦāĻ āĻ¨āĻžāĻŽāĻ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻĨāĻžāĻāĻŦā§ āĻŦāĻŋāĻļā§āĻˇāĻāĻžāĻŦā§ āĻ¤ā§āĻ°āĻŋ āĻ āĻ¨ā§āĻŽā§āĻĻāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ (Kubernetes āĻĒā§āĻ°āĻāĻžāĻ°)āĨ¤ āĻāĻ āĻ§āĻžāĻĒ #2 āĻāĻ¨āĻ¸āĻžāĻ˛ āĻĄāĻžāĻ¯āĻŧāĻžāĻā§āĻ°āĻžāĻŽā§āĻ° (āĻ¸ā§āĻāĻŋāĻŽ 1) āĻ§āĻžāĻĒ 1 āĻāĻ° āĻ¸āĻžāĻĨā§ āĻŽāĻŋāĻ˛ā§ āĻ¯āĻžāĻ¯āĻŧāĨ¤
- āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ¨āĻ¸āĻžāĻ˛ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻ āĻ āĻ¨ā§āĻ°ā§āĻ§āĻāĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ¨āĻ¸āĻžāĻ˛ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻĢāĻ°ā§āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻāĻ°āĻŦā§āĨ¤
- āĻŽā§āĻ¯āĻžāĻāĻŋāĻ ! āĻāĻāĻžāĻ¨ā§āĻ āĻāĻ¨āĻ¸āĻžāĻ˛ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻ¸āĻ¤ā§āĻ¯āĻ¤āĻž āĻ¯āĻžāĻāĻžāĻ āĻāĻ°ā§, āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻĒāĻ°āĻŋāĻāĻ¯āĻŧ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ¤āĻĨā§āĻ¯ āĻ¸āĻāĻā§āĻ°āĻš āĻāĻ°ā§ āĻāĻŦāĻ āĻāĻāĻŋāĻā§ āĻĒā§āĻ°ā§āĻŦāĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻ¯ā§āĻā§āĻ¨ā§ āĻ¨āĻŋāĻ¯āĻŧāĻŽā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¤ā§āĻ˛āĻ¨āĻž āĻāĻ°ā§āĨ¤ āĻāĻāĻŋ āĻŦā§āĻāĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¨ā§āĻā§ āĻāĻ°ā§āĻāĻāĻŋ āĻāĻŋāĻ¤ā§āĻ° āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻ˛āĨ¤ āĻāĻ āĻ§āĻžāĻĒāĻāĻŋ āĻāĻ¨āĻ¸āĻžāĻ˛ āĻāĻāĻžāĻ°āĻāĻŋāĻ āĻĄāĻžāĻ¯āĻŧāĻžāĻā§āĻ°āĻžāĻŽā§āĻ° (āĻĄāĻžāĻ¯āĻŧāĻžāĻā§āĻ°āĻžāĻŽ 3) āĻ§āĻžāĻĒ 4, 5 āĻāĻŦāĻ 1 āĻāĻ° āĻ¸āĻžāĻĨā§ āĻŽāĻŋāĻ˛ā§ āĻ¯āĻžāĻ¯āĻŧāĨ¤
- āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ¨āĻ¸āĻžāĻ˛ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻ āĻ¨ā§āĻ°ā§āĻ§āĻāĻžāĻ°ā§āĻ° āĻĒāĻ°āĻŋāĻāĻ¯āĻŧ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ āĻ¨ā§āĻŽā§āĻĻāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ¨āĻŋāĻ¯āĻŧāĻŽ (āĻ¯āĻž āĻāĻŽāĻ°āĻž āĻ¸āĻāĻā§āĻāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ°ā§āĻāĻŋ) āĻ āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§ āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻ¸āĻš āĻāĻāĻāĻŋ āĻāĻ¨āĻ¸āĻžāĻ˛ āĻā§āĻā§āĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĨ¤ āĻāĻāĻŋ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¸ā§āĻ āĻā§āĻā§āĻ¨āĻāĻŋ āĻĢā§āĻ°āĻ¤ āĻĒāĻžāĻ āĻžāĻŦā§āĨ¤ āĻāĻāĻŋ āĻāĻ¨āĻ¸āĻžāĻ˛ āĻĄāĻžāĻ¯āĻŧāĻžāĻā§āĻ°āĻžāĻŽā§āĻ° (āĻĄāĻžāĻ¯āĻŧāĻžāĻā§āĻ°āĻžāĻŽ 6) āĻ§āĻžāĻĒ 1 āĻāĻ° āĻ¸āĻžāĻĨā§ āĻŽāĻŋāĻ˛ā§ āĻ¯āĻžāĻ¯āĻŧāĨ¤
- āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ¨āĻ¸āĻžāĻ˛ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻāĻ°āĻž āĻāĻŦā§āĻĻāĻ¨ āĻŦāĻž āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻ¤ā§ āĻā§āĻā§āĻ¨ āĻĢāĻ°ā§āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻāĻ°ā§āĨ¤
āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻŦā§āĻĻāĻ¨ āĻŦāĻž āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻāĻāĻ¨ āĻāĻ āĻāĻ¨āĻ¸āĻžāĻ˛ āĻā§āĻā§āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ¨āĻ¸āĻžāĻ˛ āĻĄā§āĻāĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ¯ā§āĻāĻžāĻ¯ā§āĻ āĻāĻ°āĻ¤ā§, āĻ¯ā§āĻŽāĻ¨ āĻā§āĻā§āĻ¨ā§āĻ° āĻŦāĻŋāĻļā§āĻˇāĻžāĻ§āĻŋāĻāĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤
āĻāĻžāĻĻā§ āĻĒā§āĻ°āĻāĻžāĻļ!
āĻāĻĒāĻ¨āĻžāĻĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¯āĻžāĻ°āĻž āĻā§āĻĒāĻŋ āĻĨā§āĻā§ āĻļā§āĻ§ā§ āĻāĻāĻāĻŋ āĻāĻ°āĻā§āĻļ āĻ¨āĻŋāĻ¯āĻŧā§ āĻā§āĻļāĻŋ āĻ¨āĻ¨ āĻāĻŦāĻ āĻāĻāĻŋ āĻā§āĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°ā§ āĻ¤āĻž āĻāĻžāĻ¨āĻ¤ā§ āĻāĻžāĻ¨... āĻāĻŽāĻžāĻā§ "āĻāĻĒāĻ¨āĻžāĻā§ āĻĻā§āĻāĻžāĻ¨ āĻāĻ¤ āĻāĻā§āĻ° āĻāĻ°āĻā§āĻļā§āĻ° āĻāĻ°ā§āĻ¤Âģ.
āĻāĻā§āĻ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻāĻŽāĻžāĻĻā§āĻ° "āĻāĻžāĻĻā§" āĻĒāĻĻāĻā§āĻˇā§āĻĒ (āĻāĻŋāĻ¤ā§āĻ° 2: āĻ§āĻžāĻĒ 4) āĻšāĻ˛ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻ¨āĻ¸āĻžāĻ˛ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻ āĻ¨ā§āĻ°ā§āĻ§āĻāĻŋāĻā§ āĻĒā§āĻ°āĻŽāĻžāĻŖā§āĻāĻ°āĻŖ āĻāĻ°ā§, āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ¤āĻĨā§āĻ¯ āĻ¸āĻāĻā§āĻ°āĻš āĻāĻ°ā§ āĻāĻŦāĻ āĻāĻāĻŋāĻā§ āĻĒā§āĻ°ā§āĻŦāĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻ¯ā§āĻā§āĻ¨ā§ āĻ¨āĻŋāĻ¯āĻŧāĻŽā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¤ā§āĻ˛āĻ¨āĻž āĻāĻ°ā§āĨ¤ āĻāĻ āĻ§āĻžāĻĒāĻāĻŋ āĻāĻ¨āĻ¸āĻžāĻ˛ āĻāĻāĻžāĻ°āĻāĻŋāĻ āĻĄāĻžāĻ¯āĻŧāĻžāĻā§āĻ°āĻžāĻŽā§āĻ° (āĻĄāĻžāĻ¯āĻŧāĻžāĻā§āĻ°āĻžāĻŽ 3) āĻ§āĻžāĻĒ 4, 5 āĻāĻŦāĻ 1 āĻāĻ° āĻ¸āĻžāĻĨā§ āĻŽāĻŋāĻ˛ā§ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻ¨ā§āĻā§ āĻāĻāĻāĻŋ āĻāĻŋāĻ¤ā§āĻ° (āĻĄāĻžāĻ¯āĻŧāĻžāĻā§āĻ°āĻžāĻŽ 3), āĻ¯āĻžāĻ° āĻāĻĻā§āĻĻā§āĻļā§āĻ¯ āĻšāĻ˛ āĻ¸ā§āĻĒāĻˇā§āĻāĻāĻžāĻŦā§ āĻĻā§āĻāĻžāĻ¨ā§ āĻ¯ā§ āĻāĻ¸āĻ˛ā§ āĻāĻŋ āĻāĻāĻā§ āĻĢāĻŖāĻž āĻ āĻ§ā§āĻ¨ā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ Kubernetes āĻ āĻ¨ā§āĻŽā§āĻĻāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĨ¤
āĻāĻŋāĻ¤ā§āĻ° 3: āĻāĻžāĻĻā§ āĻĒā§āĻ°āĻāĻžāĻļ!
- āĻāĻāĻāĻŋ āĻ¸ā§āĻāĻ¨āĻž āĻŦāĻŋāĻ¨ā§āĻĻā§ āĻšāĻŋāĻ¸āĻžāĻŦā§, āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ¨āĻ¸āĻžāĻ˛ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ¨āĻ¸āĻžāĻ˛ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻ˛āĻāĻāĻ¨ āĻ āĻ¨ā§āĻ°ā§āĻ§āĻāĻŋ āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻ ā§āĻ¯āĻžāĻāĻžāĻāĻ¨ā§āĻ āĻā§āĻā§āĻ¨ āĻāĻŦāĻ āĻāĻā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻ āĻ¨ā§āĻŽā§āĻĻāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻĻāĻžāĻšāĻ°āĻŖā§āĻ° āĻ¸āĻžāĻĨā§ āĻĢāĻ°ā§āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻāĻ°ā§āĨ¤ āĻāĻ āĻ§āĻžāĻĒāĻāĻŋ āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻžāĻ¯āĻŧ āĻ§āĻžāĻĒ 3 āĻāĻ° āĻ¸āĻžāĻĨā§ āĻŽāĻŋāĻ˛ā§ āĻ¯āĻžāĻ¯āĻŧāĨ¤
- āĻāĻāĻ¨ āĻāĻ¨āĻ¸āĻžāĻ˛ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻā§ (āĻŦāĻž āĻ¨ā§āĻ¤āĻž) āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻā§āĻā§āĻ¨ā§āĻ° āĻ¸āĻ¤ā§āĻ¯āĻ¤āĻž āĻ¯āĻžāĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻ āĻ¤āĻāĻŦ, āĻāĻāĻŋ āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻāĻ°āĻŦā§ (āĻāĻ¨āĻ¸āĻžāĻ˛ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§) āĻāĻŦāĻ āĻāĻĒāĻ¯ā§āĻā§āĻ¤ āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻ¸āĻš, āĻāĻŽāĻ°āĻž āĻā§āĻāĻā§ āĻŦā§āĻ° āĻāĻ°āĻŦ āĻ¯ā§ āĻā§āĻā§āĻ¨āĻāĻŋ āĻāĻ¸āĻ˛ āĻāĻŋāĻ¨āĻž āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻžāĻ°āĨ¤
- āĻ¯āĻžāĻāĻžāĻāĻā§āĻ¤ āĻ āĻ¨ā§āĻ°ā§āĻ§āĻāĻŋ āĻāĻ¨āĻ¸āĻžāĻ˛ āĻ˛āĻŋāĻĄāĻžāĻ°ā§āĻ° āĻāĻžāĻā§ āĻĢā§āĻ°āĻ¤ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻāĻ¨āĻ¸āĻžāĻ˛ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻ˛āĻāĻāĻ¨ āĻ āĻ¨ā§āĻ°ā§āĻ§ (āĻāĻŦāĻ āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻĒā§āĻ°āĻāĻžāĻ°) āĻĨā§āĻā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ¨āĻžāĻŽ āĻ¸āĻš āĻ āĻ¨ā§āĻŽā§āĻĻāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖāĻāĻŋ āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻāĻ°ā§āĨ¤
- āĻāĻ¨āĻ¸āĻžāĻ˛ āĻ˛āĻŋāĻĄāĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ āĻ¨ā§āĻŽā§āĻĻāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ (āĻ¯āĻĻāĻŋ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ) āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°ā§ āĻāĻŦāĻ āĻāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻŦāĻžāĻāĻ§āĻžāĻ āĻ¨āĻŋāĻ¯āĻŧāĻŽā§āĻ° āĻ¸ā§āĻ āĻĒāĻĄāĻŧā§āĨ¤ āĻāĻāĻŋ āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻā§āĻ˛āĻŋ āĻĒāĻĄāĻŧā§ āĻāĻŦāĻ āĻ¯āĻžāĻāĻžāĻāĻā§āĻ¤ āĻĒāĻ°āĻŋāĻāĻ¯āĻŧ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻ¤āĻžāĻĻā§āĻ° āĻ¤ā§āĻ˛āĻ¨āĻž āĻāĻ°ā§āĨ¤
- āĻāĻŋāĻ-āĻĻāĻžāĻš! āĻāĻā§āĻ° āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻžāĻ° āĻ§āĻžāĻĒ 5 āĻ āĻāĻ˛ā§āĻ¨āĨ¤
āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§āĻļāĻŋāĻ¨ā§ āĻāĻ¨āĻ¸āĻžāĻ˛ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻāĻžāĻ˛āĻžāĻ¨
āĻāĻāĻ¨ āĻĨā§āĻā§, āĻāĻŽāĻŋ āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻāĻ āĻāĻ POC āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻ¨āĻž āĻĻā§āĻŦ, āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ āĻŦā§āĻ˛ā§āĻ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻā§, āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻŦāĻžāĻā§āĻ¯ā§āĻ° āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž āĻāĻžāĻĄāĻŧāĻžāĻāĨ¤ āĻāĻāĻžāĻĄāĻŧāĻžāĻ, āĻāĻā§ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻāĻŽāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ āĻŦāĻāĻžāĻ āĻžāĻŽā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ GCP āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦ, āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻŋ āĻ āĻ¨ā§āĻ¯ āĻā§āĻĨāĻžāĻ āĻāĻāĻ āĻ āĻŦāĻāĻžāĻ āĻžāĻŽā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
- āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§āĻļāĻŋāĻ¨ āĻļā§āĻ°ā§ āĻāĻ°ā§āĻ¨ (āĻāĻĻāĻžāĻšāĻ°āĻŖ/āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°)āĨ¤
- āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻāĻ¯āĻŧāĻžāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨ (AWS-āĻ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻā§āĻˇā§āĻ ā§):
- āĻāĻŽāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻāĻŦāĻ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻā§āĻ¯āĻžāĻ āĻāĻāĻ¯āĻŧā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻ āĻŽā§āĻļāĻŋāĻ¨ā§āĻ° āĻ¨āĻžāĻŽ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ, āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ "skywiz-consul-server-poc"āĨ¤
- āĻāĻĒāĻ¨āĻžāĻ° āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻžāĻ°ā§āĻ° āĻāĻāĻĒāĻŋ āĻ āĻŋāĻāĻžāĻ¨āĻž āĻā§āĻāĻā§āĻ¨ āĻāĻŦāĻ āĻāĻāĻŋāĻā§ āĻā§āĻ¸ āĻāĻāĻĒāĻŋ āĻ āĻŋāĻāĻžāĻ¨āĻžāĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ¯āĻŧ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨ āĻ¯āĻžāĻ¤ā§ āĻāĻŽāĻ°āĻž āĻāĻāĻāĻžāĻ° āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ (UI) āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤
- UI āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°ā§āĻ 8500 āĻā§āĻ˛ā§āĻ¨āĨ¤ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨ āĻā§āĻ˛āĻŋāĻ āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻŽāĻ°āĻž āĻļā§āĻā§āĻ°āĻ āĻāĻŦāĻžāĻ° āĻāĻ āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻāĻ¯āĻŧāĻžāĻ˛ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻŦ [
āĻ˛āĻŋāĻāĻ ]. - āĻāĻĻāĻžāĻšāĻ°āĻŖā§ āĻāĻāĻāĻŋ āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻāĻ¯āĻŧāĻžāĻ˛ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻ¨āĻ¸āĻžāĻ˛ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻāĻŋāĻāĻŽ āĻĄā§āĻ¯āĻžāĻļāĻŦā§āĻ°ā§āĻĄā§ āĻĢāĻŋāĻ°ā§ āĻ¯āĻžāĻ¨ āĻāĻŦāĻ āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻ āĻā§āĻ¯āĻžāĻ āĻĢāĻŋāĻ˛ā§āĻĄā§ "skywiz-consul-server-poc" āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨āĨ¤ Save āĻ āĻā§āĻ˛āĻŋāĻ āĻāĻ°ā§āĻ¨āĨ¤
- āĻāĻāĻāĻŋ āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§āĻļāĻŋāĻ¨ā§ āĻāĻ¨āĻ¸āĻžāĻ˛ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§āĻ¨, āĻāĻāĻžāĻ¨ā§ āĻā§āĻ āĻāĻ°ā§āĻ¨āĨ¤ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ¨āĻ¸āĻžāĻ˛ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ âĨ 1.5 [āĻ˛āĻŋāĻāĻ]
- āĻāĻ¸ā§āĻ¨ āĻāĻāĻāĻŋ āĻāĻāĻ āĻ¨ā§āĻĄ āĻāĻ¨āĻ¸āĻžāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŋ - āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨āĻāĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§āĻĒāĨ¤
groupadd --system consul
useradd -s /sbin/nologin --system -g consul consul
mkdir -p /var/lib/consul
chown -R consul:consul /var/lib/consul
chmod -R 775 /var/lib/consul
mkdir /etc/consul.d
chown -R consul:consul /etc/consul.d
- āĻāĻ¨āĻ¸āĻžāĻ˛ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻāĻŦāĻ 3 āĻ¨ā§āĻĄā§āĻ° āĻāĻāĻāĻŋ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§ āĻāĻ°āĻ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻāĻžāĻāĻĄā§āĻ° āĻāĻ¨ā§āĻ¯, āĻĻā§āĻā§āĻ¨
āĻāĻāĻžāĻ¨ā§ . - āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§āĻĒ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨ /etc/consul.d/agent.json [
āĻ˛āĻŋāĻāĻ ]:
### /etc/consul.d/agent.json
{
"acl" : {
"enabled": true,
"default_policy": "deny",
"enable_token_persistence": true
}
}
- āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ¨āĻ¸āĻžāĻ˛ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻļā§āĻ°ā§ āĻāĻ°ā§āĻ¨:
consul agent
-server
-ui
-client 0.0.0.0
-data-dir=/var/lib/consul
-bootstrap-expect=1
-config-dir=/etc/consul.d
- āĻāĻĒāĻ¨āĻžāĻ° āĻāĻāĻā§āĻā§āĻ āĻāĻāĻāĻĒā§āĻ āĻĻā§āĻāĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻļā§āĻˇ āĻšāĻŦā§ "... ACLs āĻĻā§āĻŦāĻžāĻ°āĻž āĻ āĻŦāĻ°ā§āĻĻā§āĻ§ āĻāĻĒāĻĄā§āĻāĨ¤"
- āĻāĻ¨āĻ¸āĻžāĻ˛ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĻ° āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ āĻāĻāĻĒāĻŋ āĻ āĻŋāĻāĻžāĻ¨āĻž āĻā§āĻāĻā§āĻ¨ āĻāĻŦāĻ āĻĒā§āĻ°ā§āĻ 8500-āĻ āĻāĻ āĻāĻāĻĒāĻŋ āĻ āĻŋāĻāĻžāĻ¨āĻž āĻ¸āĻš āĻāĻāĻāĻŋ āĻŦā§āĻ°āĻžāĻāĻāĻžāĻ° āĻā§āĻ˛ā§āĻ¨āĨ¤ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°ā§āĻ¨ āĻ¯ā§ UI āĻā§āĻ˛ā§āĨ¤
- āĻāĻāĻāĻŋ āĻā§/āĻŽāĻžāĻ¨ āĻā§āĻĄāĻŧāĻž āĻ¯ā§āĻ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻāĻāĻŋ āĻā§āĻ˛ āĻšāĻ¤ā§ āĻšāĻŦā§. āĻāĻžāĻ°āĻŖ āĻāĻŽāĻ°āĻž āĻāĻ¨āĻ¸āĻžāĻ˛ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻāĻāĻāĻŋ ACL āĻĻāĻŋāĻ¯āĻŧā§ āĻ˛ā§āĻĄ āĻāĻ°ā§āĻāĻŋ āĻāĻŦāĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ āĻā§āĻˇāĻŽ āĻāĻ°ā§āĻāĻŋā§ˇ
- āĻāĻ¨āĻ¸āĻžāĻ˛ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻāĻĒāĻ¨āĻžāĻ° āĻļā§āĻ˛ā§ āĻĢāĻŋāĻ°ā§ āĻ¯āĻžāĻ¨ āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻžāĻ˛ā§ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒāĻāĻā§āĻŽāĻŋāĻ¤ā§ āĻŦāĻž āĻ āĻ¨ā§āĻ¯ āĻā§āĻ¨āĻ āĻāĻĒāĻžāĻ¯āĻŧā§ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋ āĻļā§āĻ°ā§ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤āĻāĻŋ āĻ˛āĻŋāĻā§āĻ¨:
consul acl bootstrap
- "āĻ¸āĻŋāĻā§āĻ°ā§āĻāĻāĻāĻĄāĻŋ" āĻŽāĻžāĻ¨ āĻā§āĻāĻā§āĻ¨ āĻāĻŦāĻ UI āĻ āĻĢāĻŋāĻ°ā§ āĻ¯āĻžāĻ¨āĨ¤ ACL āĻā§āĻ¯āĻžāĻŦā§, āĻāĻĒāĻ¨āĻŋ āĻ¯ā§ āĻā§āĻā§āĻ¨āĻāĻŋ āĻāĻĒāĻŋ āĻāĻ°ā§āĻā§āĻ¨ āĻ¤āĻžāĻ° āĻā§āĻĒāĻ¨ ID āĻ˛āĻŋāĻā§āĻ¨āĨ¤ āĻ āĻ¨ā§āĻ¯ āĻā§āĻĨāĻžāĻ SecretID āĻāĻĒāĻŋ āĻāĻ°ā§āĻ¨, āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻŋ āĻĒāĻ°ā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻŦā§āĨ¤
- āĻāĻāĻ¨ āĻāĻāĻāĻŋ āĻā§/āĻŽāĻžāĻ¨ āĻā§āĻĄāĻŧāĻž āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻ POC-āĻāĻ° āĻāĻ¨ā§āĻ¯, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨: āĻā§: âcustom-ns/test_keyâ, āĻŽāĻžāĻ¨: âāĻāĻŽāĻŋ āĻāĻžāĻ¸ā§āĻāĻŽ-āĻāĻ¨āĻāĻ¸ āĻĢā§āĻ˛ā§āĻĄāĻžāĻ°ā§ āĻāĻāĻŋ!â
āĻĄā§āĻŽāĻ¨āĻ¸ā§āĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻ¨āĻ¸āĻžāĻ˛ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻŦā§āĻĻāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ Kubernetes āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻāĻžāĻ˛ā§ āĻāĻ°āĻž āĻšāĻā§āĻā§
- āĻāĻāĻāĻŋ K8s (Kubernetes) āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨āĨ¤ āĻĻā§āĻ°ā§āĻ¤ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻ°āĻž āĻāĻāĻŋāĻā§ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĻ° āĻŽāĻ¤ā§ āĻāĻāĻ āĻā§āĻ¨ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦ, āĻāĻŦāĻ āĻ¤āĻžāĻ āĻāĻŽāĻ°āĻž āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻāĻāĻĒāĻŋ āĻ āĻŋāĻāĻžāĻ¨āĻžāĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻšāĻā§āĻ āĻ¸āĻāĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻāĻāĻ āĻ¸āĻžāĻŦāĻ¨ā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻāĻŽāĻ°āĻž āĻāĻā§ āĻŦāĻ˛āĻŦ "skywiz-app-with-consul-client-poc"āĨ¤
- āĻāĻāĻāĻŋ āĻ¸āĻžāĻāĻĄ āĻ¨ā§āĻ āĻšāĻŋāĻ¸āĻžāĻŦā§, āĻāĻ¨āĻ¸āĻžāĻ˛ āĻāĻžāĻ¨ā§āĻā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻāĻŋ POC āĻāĻ¨āĻ¸āĻžāĻ˛ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŽāĻŋ āĻāĻāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻāĻžāĻ˛ āĻāĻŋāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻĒā§āĻ¯āĻŧā§āĻāĻŋāĨ¤
- āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻŦāĻ°ā§āĻ§āĻŋāĻ¤ āĻŽāĻžāĻ¨ āĻĢāĻžāĻāĻ˛ āĻ¸āĻš Hashicorp āĻšā§āĻ˛āĻŽ āĻāĻžāĻ°ā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦāĨ¤
- āĻšā§āĻ˛āĻŽ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻŦāĻ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻ§āĻžāĻĒ:
kubectl create serviceaccount tiller --namespace kube-system
kubectl create clusterrolebinding tiller-admin-binding
--clusterrole=cluster-admin --serviceaccount=kube-system:tiller
./helm init --service-account=tiller
./helm update
- āĻšā§āĻ˛āĻŽ āĻāĻžāĻ°ā§āĻ:
https://www.consul.io/docs/platform/k8s/helm.html - āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻŽāĻžāĻ¨ āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨ (āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻāĻŽāĻŋ āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻ āĻā§āĻˇāĻŽ āĻāĻ°ā§āĻāĻŋ):
### poc-helm-consul-values.yaml
global:
enabled: false
image: "consul:latest"
# Expose the Consul UI through this LoadBalancer
ui:
enabled: false
# Allow Consul to inject the Connect proxy into Kubernetes containers
connectInject:
enabled: false
# Configure a Consul client on Kubernetes nodes. GRPC listener is required for Connect.
client:
enabled: true
join: ["<PRIVATE_IP_CONSUL_SERVER>"]
extraConfig: |
{
"acl" : {
"enabled": true,
"default_policy": "deny",
"enable_token_persistence": true
}
}
# Minimal Consul configuration. Not suitable for production.
server:
enabled: false
# Sync Kubernetes and Consul services
syncCatalog:
enabled: false
- āĻšā§āĻ˛āĻŽ āĻāĻžāĻ°ā§āĻ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°ā§āĻ¨:
./helm install -f poc-helm-consul-values.yaml ./consul-helm - name skywiz-app-with-consul-client-poc
- āĻ¯āĻāĻ¨ āĻāĻāĻŋ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§, āĻ¤āĻāĻ¨ āĻāĻ¨āĻ¸āĻžāĻ˛ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻ¨ā§āĻŽāĻ¤āĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻŦā§, āĻ¤āĻžāĻ āĻāĻ¸ā§āĻ¨ āĻ¸ā§āĻā§āĻ˛āĻŋ āĻ¯ā§āĻ āĻāĻ°āĻŋāĨ¤
- āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻĄā§āĻ¯āĻžāĻļāĻŦā§āĻ°ā§āĻĄā§ āĻ āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤ "āĻĒāĻĄ āĻ ā§āĻ¯āĻžāĻĄā§āĻ°ā§āĻ¸ āĻ°ā§āĻā§āĻ" āĻ¨ā§āĻ āĻāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻāĻŽāĻžāĻĻā§āĻ° "āĻ¸ā§āĻāĻžāĻāĻāĻāĻ-āĻāĻ¨āĻ¸āĻžāĻ˛-āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°-āĻĒāĻŋāĻāĻ¸āĻŋ" āĻĢāĻžāĻ¯āĻŧāĻžāĻ°āĻāĻ¯āĻŧāĻžāĻ˛ āĻ¨āĻŋāĻ¯āĻŧāĻŽā§ āĻĢāĻŋāĻ°ā§ āĻ¯āĻžāĻ¨āĨ¤
- āĻāĻāĻĒāĻŋ āĻ āĻŋāĻāĻžāĻ¨āĻž āĻāĻŦāĻ āĻĒā§āĻ°ā§āĻ 8301 āĻāĻŦāĻ 8300 āĻā§āĻ˛āĻžāĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ¯āĻŧ āĻĒāĻĄā§āĻ° āĻ āĻŋāĻāĻžāĻ¨āĻž āĻĒāĻ°āĻŋāĻ¸āĻ° āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨āĨ¤
- Consul UI-āĻ āĻ¯āĻžāĻ¨ āĻāĻŦāĻ āĻāĻ¯āĻŧā§āĻ āĻŽāĻŋāĻ¨āĻŋāĻ āĻĒāĻ° āĻāĻĒāĻ¨āĻŋ āĻ¨ā§āĻĄ āĻā§āĻ¯āĻžāĻŦā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻŦā§āĻ¨āĨ¤
āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻ¨āĻ¸āĻžāĻ˛āĻā§ āĻāĻā§āĻā§āĻ¤ āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻ āĻ¨ā§āĻŽā§āĻĻāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻāĻ°āĻž
- āĻāĻ¨āĻ¸āĻžāĻ˛ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻļā§āĻ˛ā§ āĻĢāĻŋāĻ°ā§ āĻ¯āĻžāĻ¨ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻā§ āĻ¸āĻāĻ°āĻā§āĻˇāĻŋāĻ¤ āĻā§āĻā§āĻ¨āĻāĻŋ āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻāĻ°ā§āĻ¨:
export CONSUL_HTTP_TOKEN=<SecretID>
- āĻĒā§āĻ°āĻŽāĻžāĻŖā§āĻāĻ°āĻŖ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻāĻŽāĻžāĻĻā§āĻ° Kubernetes āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻĨā§āĻā§ āĻ¤āĻĨā§āĻ¯ā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻŦā§:
- kubernetes-āĻšā§āĻ¸ā§āĻ
kubectl get endpoints | grep kubernetes
- kubernetes-service-account-jwt
kubectl get sa <helm_deployment_name>-consul-client -o yaml | grep "- name:"
kubectl get secret <secret_name_from_prev_command> -o yaml | grep token:
- āĻā§āĻā§āĻ¨āĻāĻŋ base64 āĻāĻ¨āĻā§āĻĄā§āĻĄ, āĻ¤āĻžāĻ āĻāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻŋāĻ¯āĻŧ āĻā§āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻāĻŋ āĻĄāĻŋāĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻ°ā§āĻ¨ [
āĻ˛āĻŋāĻāĻ ] - kubernetes-ca-cert
kubectl get secret <secret_name_from_prev_command> -o yaml | grep ca.crt:
- "ca.crt" āĻ¸āĻžāĻ°ā§āĻāĻŋāĻĢāĻŋāĻā§āĻ āĻ¨āĻŋāĻ¨ (āĻŦā§āĻ¸64 āĻĄāĻŋāĻā§āĻĄāĻŋāĻ āĻāĻ° āĻĒāĻ°ā§) āĻāĻŦāĻ āĻāĻāĻŋ "ca.crt" āĻĢāĻžāĻāĻ˛ā§ āĻ˛āĻŋāĻā§āĻ¨āĨ¤
- āĻāĻāĻ¨ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻŽāĻžāĻ¤ā§āĻ° āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻ¸ā§āĻĨāĻžāĻ¨āĻ§āĻžāĻ°āĻāĻā§āĻ˛āĻŋāĻā§ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§ āĻĒā§āĻ°āĻŽāĻžāĻŖā§āĻāĻ°āĻŖ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻāĻŋ āĻāĻžāĻ˛ā§ āĻāĻ°ā§āĻ¨ā§ˇ
consul acl auth-method create
-type "kubernetes"
-name "auth-method-skywiz-consul-poc"
-description "This is an auth method using kubernetes for the cluster skywiz-app-with-consul-client-poc"
-kubernetes-host "<k8s_endpoint_retrieved earlier>"
[email protected]
-kubernetes-service-account-
jwt="<decoded_token_retrieved_earlier>"
- āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§āĻ¤ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻāĻāĻŋāĻā§ āĻ¨āĻ¤ā§āĻ¨ āĻā§āĻŽāĻŋāĻāĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻ āĻ āĻāĻļā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¨āĻŋ Consul UI āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ¤āĻŦā§ āĻāĻŽāĻ°āĻž āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŦāĨ¤
- āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ˛āĻŋāĻā§āĻ¨
### kv-custom-ns-policy.hcl
key_prefix "custom-ns/" {
policy = "write"
}
- āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°ā§āĻ¨
consul acl policy create
-name kv-custom-ns-policy
-description "This is an example policy for kv at custom-ns/"
-rules @kv-custom-ns-policy.hcl
- āĻāĻāĻāĻĒā§āĻ āĻĨā§āĻā§ āĻāĻĒāĻ¨āĻŋ āĻ¯ā§ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻā§āĻ¨ āĻ¤āĻžāĻ° āĻāĻāĻĄāĻŋ āĻā§āĻāĻā§āĻ¨āĨ¤
- āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻāĻāĻŋ āĻā§āĻŽāĻŋāĻāĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨āĨ¤
consul acl role create
-name "custom-ns-role"
-description "This is an example role for custom-ns namespace"
-policy-id <policy_id>
- āĻāĻāĻ¨ āĻāĻŽāĻ°āĻž āĻĒā§āĻ°āĻŽāĻžāĻŖ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¨āĻ¤ā§āĻ¨ āĻā§āĻŽāĻŋāĻāĻž āĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻŦāĨ¤ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻ¯ā§ "āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨āĻāĻžāĻ°ā§" āĻĒāĻ¤āĻžāĻāĻž āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°ā§ āĻ¯ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻ˛āĻāĻāĻ¨ āĻ
āĻ¨ā§āĻ°ā§āĻ§ āĻāĻ āĻā§āĻŽāĻŋāĻāĻžāĻāĻŋ āĻĒāĻžāĻŦā§ āĻāĻŋāĻ¨āĻžāĨ¤ āĻ
āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ āĻŦāĻŋāĻāĻ˛ā§āĻĒā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻžāĻ¨ā§ āĻā§āĻ āĻāĻ°ā§āĻ¨:
https://www.consul.io/docs/acl/auth-methods/kubernetes.html#trusted-identity-attributes
consul acl binding-rule create
-method=auth-method-skywiz-consul-poc
-bind-type=role
-bind-name='custom-ns-role'
-selector='serviceaccount.namespace=="custom-ns"'
āĻ¸āĻŦāĻļā§āĻˇā§ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨
āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻ āĻ§āĻŋāĻāĻžāĻ°
- āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻ āĻ§āĻŋāĻāĻžāĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨āĨ¤ K8s āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻ ā§āĻ¯āĻžāĻāĻžāĻāĻ¨ā§āĻ āĻā§āĻā§āĻ¨ā§āĻ° āĻĒāĻ°āĻŋāĻāĻ¯āĻŧ āĻ¯āĻžāĻāĻžāĻ āĻ āĻļāĻ¨āĻžāĻā§āĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ¨āĻ¸āĻžāĻ˛āĻā§ āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¤ā§ āĻšāĻŦā§āĨ¤
- āĻĢāĻžāĻāĻ˛āĻāĻŋāĻ¤ā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤āĻāĻŋ āĻ˛āĻŋāĻā§āĻ¨
[āĻ˛āĻŋāĻāĻ] :
###skywiz-poc-consul-server_rbac.yaml
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: review-tokens
namespace: default
subjects:
- kind: ServiceAccount
name: skywiz-app-with-consul-client-poc-consul-client
namespace: default
roleRef:
kind: ClusterRole
name: system:auth-delegator
apiGroup: rbac.authorization.k8s.io
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: service-account-getter
namespace: default
rules:
- apiGroups: [""]
resources: ["serviceaccounts"]
verbs: ["get"]
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: get-service-accounts
namespace: default
subjects:
- kind: ServiceAccount
name: skywiz-app-with-consul-client-poc-consul-client
namespace: default
roleRef:
kind: ClusterRole
name: service-account-getter
apiGroup: rbac.authorization.k8s.io
- āĻāĻ¸ā§āĻ¨ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ā§āĻ° āĻ āĻ§āĻŋāĻāĻžāĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŋ
kubectl create -f skywiz-poc-consul-server_rbac.yaml
āĻāĻ¨āĻ¸āĻžāĻ˛ āĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻā§āĻā§
- āĻāĻ˛ā§āĻ˛āĻŋāĻāĻŋāĻ¤
āĻāĻāĻžāĻ¨ā§ āĻĄā§āĻŽāĻ¨āĻ¸ā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻ¯ā§āĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻ°āĻ¯āĻŧā§āĻā§, āĻ¤āĻŦā§ āĻāĻŽāĻ°āĻž āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ¸āĻšāĻ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§ āĻāĻ˛ā§ āĻ¯āĻžāĻŦ: - āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻĢāĻžāĻāĻ˛āĻāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°ā§āĻ¨ [
āĻ˛āĻŋāĻāĻ ].
### poc-consul-client-ds-svc.yaml
apiVersion: v1
kind: Service
metadata:
name: consul-ds-client
spec:
selector:
app: consul
chart: consul-helm
component: client
hasDNS: "true"
release: skywiz-app-with-consul-client-poc
ports:
- protocol: TCP
port: 80
targetPort: 8500
- āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻāĻāĻŋ configmap āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻŦāĻŋāĻ˛ā§āĻāĻāĻ¨ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨ [
āĻ˛āĻŋāĻāĻ ]āĨ¤ āĻĻāĻ¯āĻŧāĻž āĻāĻ°ā§ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻ¯ā§ āĻāĻŽāĻ°āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻ° āĻ¨āĻžāĻŽ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻāĻŋ, āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§ āĻāĻāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§āĻ¨āĨ¤
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: ConfigMap
metadata:
labels:
addonmanager.kubernetes.io/mode: EnsureExists
name: kube-dns
namespace: kube-system
data:
stubDomains: |
{"consul": ["$(kubectl get svc consul-ds-client -o jsonpath='{.spec.clusterIP}')"]}
EOF
āĻĒā§āĻ°āĻŽāĻžāĻŖā§āĻāĻ°āĻŖ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻšāĻā§āĻā§
āĻāĻāĻ¨ āĻĻā§āĻāĻž āĻ¯āĻžāĻ āĻ ā§āĻ¯āĻžāĻāĻļāĻ¨ā§ āĻŽā§āĻ¯āĻžāĻāĻŋāĻ!
- āĻāĻāĻ āĻāĻĒ-āĻ˛ā§āĻā§āĻ˛ āĻā§ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻ°āĻ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻā§ āĻĢā§āĻ˛ā§āĻĄāĻžāĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨ (āĻ¯ā§āĻŽāĻ¨ /sample_key) āĻāĻŦāĻ āĻāĻĒāĻ¨āĻžāĻ° āĻĒāĻāĻ¨ā§āĻĻā§āĻ° āĻāĻāĻāĻŋ āĻŽāĻžāĻ¨āĨ¤ āĻ¨āĻ¤ā§āĻ¨ āĻŽā§āĻ˛ āĻĒāĻĨā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¯ā§āĻā§āĻ¤ āĻ¨ā§āĻ¤āĻŋ āĻāĻŦāĻ āĻā§āĻŽāĻŋāĻāĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻŽāĻ°āĻž āĻĒāĻ°ā§ āĻŦāĻžāĻāĻ§āĻžāĻ āĻāĻ°āĻŦāĨ¤
āĻāĻžāĻ¸ā§āĻāĻŽ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ āĻĒāĻ°ā§āĻā§āĻˇāĻž:
- āĻāĻ¸ā§āĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŋ:
kubectl create namespace custom-ns
- āĻāĻŽāĻžāĻĻā§āĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ¨āĻžāĻŽāĻ¸ā§āĻĨāĻžāĻ¨ā§ āĻāĻāĻāĻŋ āĻĒāĻĄ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻ¯āĻžāĻāĨ¤ āĻĒāĻĄā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻ˛āĻŋāĻā§āĻ¨āĨ¤
###poc-ubuntu-custom-ns.yaml
apiVersion: v1
kind: Pod
metadata:
name: poc-ubuntu-custom-ns
namespace: custom-ns
spec:
containers:
- name: poc-ubuntu-custom-ns
image: ubuntu
command: ["/bin/bash", "-ec", "sleep infinity"]
restartPolicy: Never
- āĻ āĻ§ā§āĻ¨ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨:
kubectl create -f poc-ubuntu-custom-ns.yaml
- āĻāĻāĻŦāĻžāĻ° āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻāĻ˛āĻŽāĻžāĻ¨ āĻšāĻ˛ā§, āĻ¸ā§āĻāĻžāĻ¨ā§ āĻ¯āĻžāĻ¨ āĻāĻŦāĻ āĻāĻžāĻ°ā§āĻ˛ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°ā§āĻ¨āĨ¤
kubectl exec poc-ubuntu-custom-ns -n custom-ns -it /bin/bash
apt-get update && apt-get install curl -y
- āĻāĻāĻ¨ āĻāĻŽāĻ°āĻž āĻāĻā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻ
āĻ¨ā§āĻŽā§āĻĻāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻ¨āĻ¸āĻžāĻ˛ā§āĻ° āĻāĻžāĻā§ āĻāĻāĻāĻŋ āĻ˛āĻāĻāĻ¨ āĻ
āĻ¨ā§āĻ°ā§āĻ§ āĻĒāĻžāĻ āĻžāĻŦ [
āĻ˛āĻŋāĻāĻ ]. - āĻāĻĒāĻ¨āĻžāĻ° āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻ ā§āĻ¯āĻžāĻāĻžāĻāĻ¨ā§āĻ āĻĨā§āĻā§ āĻĒā§āĻ°āĻŦā§āĻļ āĻāĻ°āĻž āĻā§āĻā§āĻ¨ āĻĻā§āĻāĻ¤ā§:
cat /run/secrets/kubernetes.io/serviceaccount/token
- āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ°ā§āĻ° āĻāĻŋāĻ¤āĻ°ā§ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤āĻāĻŋ āĻ˛āĻŋāĻā§āĻ¨:
### payload.json
{
"AuthMethod": "auth-method-test",
"BearerToken": "<jwt_token>"
}
- āĻĒā§āĻ°āĻŦā§āĻļ āĻāĻ°ā§āĻ¨!
curl
--request POST
--data @payload.json
consul-ds-client.default.svc.cluster.local/v1/acl/login
- āĻāĻĒāĻ°ā§āĻ° āĻ§āĻžāĻĒāĻā§āĻ˛āĻŋ āĻāĻ āĻ˛āĻžāĻāĻ¨ā§ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻāĻ°āĻ¤ā§ (āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻŽāĻ°āĻž āĻāĻāĻžāĻ§āĻŋāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻžāĻ˛āĻžāĻŦ), āĻāĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤āĻā§āĻ˛āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
echo "{
"AuthMethod": "auth-method-skywiz-consul-poc",
"BearerToken": "$(cat /run/secrets/kubernetes.io/serviceaccount/token)"
}"
| curl
--request POST
--data @-
consul-ds-client.default.svc.cluster.local/v1/acl/login
- āĻāĻžāĻ āĻāĻ°ā§! āĻ āĻ¨ā§āĻ¤āĻ¤ āĻāĻāĻž āĻāĻāĻŋāĻ¤. āĻāĻāĻ¨ āĻ¸āĻŋāĻā§āĻ°ā§āĻāĻāĻāĻĄāĻŋ āĻ¨āĻŋāĻ¨ āĻāĻŦāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻĨāĻžāĻāĻž āĻāĻāĻŋāĻ¤ āĻā§/āĻŽāĻžāĻ¨ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻ¨āĨ¤
curl
consul-ds-client.default.svc.cluster.local/v1/kv/custom-ns/test_key --header âX-Consul-Token: <SecretID_from_prev_response>â
- āĻāĻĒāĻ¨āĻŋ āĻŦā§āĻ¸64 "āĻŽāĻžāĻ¨" āĻĄāĻŋāĻā§āĻĄ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŦāĻ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻ¯ā§ āĻāĻāĻŋ UI-āĻ¤ā§ custom-ns/test_key-āĻāĻ° āĻŽāĻžāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻŽā§āĻ˛ā§āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ āĻāĻŋāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ā§ āĻāĻĒāĻ°ā§āĻ° āĻāĻāĻ āĻŽāĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨ āĻ¤āĻŦā§ āĻāĻĒāĻ¨āĻžāĻ° āĻāĻ¨āĻā§āĻĄ āĻāĻ°āĻž āĻŽāĻžāĻ¨ āĻšāĻŦā§ IkknbSBpbiB0aGUgY3VzdG9tLW5zIGZvbGRlciEiāĨ¤
āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻ ā§āĻ¯āĻžāĻāĻžāĻāĻ¨ā§āĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž:
- āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻāĻāĻŋ āĻāĻžāĻ¸ā§āĻāĻŽ āĻ¸āĻžāĻ°ā§āĻāĻŋāĻ¸ āĻ
ā§āĻ¯āĻžāĻāĻžāĻāĻ¨ā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨ [
āĻ˛āĻŋāĻāĻ ].
kubectl apply -f - <<EOF
apiVersion: v1
kind: ServiceAccount
metadata:
name: custom-sa
EOF
- āĻĒāĻĄā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĢāĻžāĻāĻ˛ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨āĨ¤ āĻĻāĻ¯āĻŧāĻž āĻāĻ°ā§ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻ¯ā§ āĻāĻŽāĻŋ āĻļā§āĻ°āĻŽ āĻŦāĻžāĻāĻāĻžāĻ¤ā§ āĻāĻžāĻ°ā§āĻ˛ āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°ā§āĻāĻŋ :)
###poc-ubuntu-custom-sa.yaml
apiVersion: v1
kind: Pod
metadata:
name: poc-ubuntu-custom-sa
namespace: default
spec:
serviceAccountName: custom-sa
containers:
- name: poc-ubuntu-custom-sa
image: ubuntu
command: ["/bin/bash","-ec"]
args: ["apt-get update && apt-get install curl -y; sleep infinity"]
restartPolicy: Never
- āĻāĻ° āĻĒāĻ°ā§, āĻĒāĻžāĻ¤ā§āĻ°ā§āĻ° āĻāĻŋāĻ¤āĻ°ā§ āĻāĻāĻāĻŋ āĻļā§āĻ˛ āĻāĻžāĻ˛āĻžāĻ¨āĨ¤
kubectl exec -it poc-ubuntu-custom-sa /bin/bash
- āĻĒā§āĻ°āĻŦā§āĻļ āĻāĻ°ā§āĻ¨!
echo "{
"AuthMethod": "auth-method-skywiz-consul-poc",
"BearerToken": "$(cat /run/secrets/kubernetes.io/serviceaccount/token)"
}"
| curl
--request POST
--data @-
consul-ds-client.default.svc.cluster.local/v1/acl/login
- āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻ āĻ¸ā§āĻŦā§āĻāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻāĻš, āĻāĻŽāĻ°āĻž āĻāĻĒāĻ¯ā§āĻā§āĻ¤ āĻ āĻ¨ā§āĻŽāĻ¤āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻŦāĻžāĻ§ā§āĻ¯āĻ¤āĻžāĻŽā§āĻ˛āĻ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻā§āĻ˛ā§ āĻā§āĻāĻŋ, āĻāĻāĻ¨ āĻāĻāĻŋ āĻāĻ°āĻž āĻ¯āĻžāĻāĨ¤
āĻāĻĒāĻ°ā§āĻ° āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻĒāĻĻāĻā§āĻˇā§āĻĒāĻā§āĻ˛āĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§āĻ¨:
āĻ) "āĻāĻžāĻ¸ā§āĻāĻŽ-āĻ¸āĻž/" āĻāĻĒāĻ¸āĻ°ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ
āĻāĻŋāĻ¨ā§āĻ¨ āĻ¨ā§āĻ¤āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨āĨ¤
āĻ) āĻāĻāĻāĻŋ āĻā§āĻŽāĻŋāĻāĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨, āĻāĻāĻŋāĻā§ "āĻāĻžāĻ¸ā§āĻāĻŽ-āĻ¸āĻž-āĻā§āĻŽāĻŋāĻāĻž" āĻŦāĻ˛ā§āĻ¨
āĻ) āĻā§āĻŽāĻŋāĻāĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ¨ā§āĻ¤āĻŋ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻāĻ°ā§āĻ¨āĨ¤
- āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽ-āĻŦāĻžāĻāĻ¨ā§āĻĄāĻŋāĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨ (āĻā§āĻŦāĻ˛ cli/api āĻĨā§āĻā§ āĻ¸āĻŽā§āĻāĻŦ)āĨ¤ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ āĻĒāĻ¤āĻžāĻāĻžāĻ° āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻ āĻ°ā§āĻĨ āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ°ā§āĻ¨āĨ¤
consul acl binding-rule create
-method=auth-method-skywiz-consul-poc
-bind-type=role
-bind-name='custom-sa-role'
-selector='serviceaccount.name=="custom-sa"'
- "poc-ubuntu-custom-sa" āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° āĻĨā§āĻā§ āĻāĻŦāĻžāĻ° āĻ˛āĻāĻāĻ¨ āĻāĻ°ā§āĻ¨āĨ¤ āĻ¸āĻĢāĻ˛āĻ¤āĻžāĻ° !
- āĻāĻžāĻ¸ā§āĻāĻŽ-āĻ¸āĻž/ āĻā§ āĻĒāĻžāĻĨā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻĻā§āĻā§āĻ¨āĨ¤
curl
consul-ds-client.default.svc.cluster.local/v1/kv/custom-sa/test_key --header âX-Consul-Token: <SecretID>â
- āĻāĻāĻžāĻĄāĻŧāĻžāĻ āĻāĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻ¯ā§ āĻāĻ āĻā§āĻā§āĻ¨āĻāĻŋ "custom-ns/"-āĻ kv-āĻ āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻĻā§āĻ¯āĻŧ āĻ¨āĻžāĨ¤ "āĻāĻžāĻ¸ā§āĻāĻŽ-āĻ¸āĻž" āĻāĻĒāĻ¸āĻ°ā§āĻ "āĻāĻžāĻ¸ā§āĻāĻŽ-āĻāĻ¨āĻāĻ¸" āĻĻāĻŋāĻ¯āĻŧā§ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§ āĻāĻĒāĻ°ā§āĻ° āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§āĻ¨āĨ¤
āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻ āĻ¸ā§āĻŦā§āĻāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
āĻāĻāĻžāĻ°āĻ˛ā§ āĻāĻĻāĻžāĻšāĻ°āĻŖ:
- āĻāĻāĻŋ āĻ˛āĻā§āĻˇāĻŖā§āĻ¯āĻŧ āĻ¯ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧāĻŽ-āĻŦāĻžāĻ¨ā§āĻ§āĻŦ āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ āĻāĻ āĻ āĻ§āĻŋāĻāĻžāĻ°āĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻā§āĻā§āĻ¨ā§ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻŦā§āĨ¤
- āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° "poc-ubuntu-custom-sa" āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻ¨ā§āĻŽāĻ¸ā§āĻĒā§āĻ¸ā§ āĻ°āĻ¯āĻŧā§āĻā§ - āĻ¤āĻžāĻ āĻāĻ¸ā§āĻ¨ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻāĻŋāĻ¨ā§āĻ¨ āĻ¨āĻŋāĻ¯āĻŧāĻŽ-āĻŦāĻžāĻ¨ā§āĻ§āĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋāĨ¤
- āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻĒāĻĻāĻā§āĻˇā§āĻĒāĻā§āĻ˛āĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§āĻ¨:
āĻ) âāĻĄāĻŋāĻĢāĻ˛ā§āĻ/â āĻā§ āĻāĻĒāĻ¸āĻ°ā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ āĻāĻŋāĻ¨ā§āĻ¨ āĻ¨ā§āĻ¤āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨āĨ¤
āĻ) āĻāĻāĻāĻŋ āĻā§āĻŽāĻŋāĻāĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨, āĻāĻāĻŋāĻā§ "āĻĄāĻŋāĻĢāĻ˛ā§āĻ-āĻāĻ¨āĻāĻ¸-āĻ°ā§āĻ˛" āĻ¨āĻžāĻŽ āĻĻāĻŋāĻ¨
āĻ) āĻā§āĻŽāĻŋāĻāĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ¨ā§āĻ¤āĻŋ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻāĻ°ā§āĻ¨āĨ¤ - āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽ-āĻŦāĻžāĻāĻ¨ā§āĻĄāĻŋāĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨ (āĻā§āĻŦāĻ˛ cli/api āĻĨā§āĻā§ āĻ¸āĻŽā§āĻāĻŦ)
consul acl binding-rule create
-method=auth-method-skywiz-consul-poc
-bind-type=role
-bind-name='default-ns-role'
-selector='serviceaccount.namespace=="default"'
- āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ¨ā§āĻā§āĻāĻ¨āĻžāĻ° "poc-ubuntu-custom-sa" āĻ āĻĢāĻŋāĻ°ā§ āĻ¯āĻžāĻ¨ āĻāĻŦāĻ "default/" kv āĻĒāĻžāĻĨ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻ¨āĨ¤
- āĻ
āĻ¨ā§āĻŽāĻ¤āĻŋ āĻ
āĻ¸ā§āĻŦā§āĻāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
āĻāĻĒāĻ¨āĻŋ ACL > āĻā§āĻā§āĻ¨ā§āĻ° āĻ āĻ§ā§āĻ¨ā§ UI-āĻ¤ā§ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻā§āĻā§āĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻļāĻāĻ¸āĻžāĻĒāĻ¤ā§āĻ° āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻā§āĻā§āĻ¨, āĻāĻŽāĻžāĻĻā§āĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻā§āĻā§āĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻāĻŋ "āĻāĻžāĻ¸ā§āĻāĻŽ-āĻ¸āĻž-āĻ°ā§āĻ˛" āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻāĻā§āĨ¤ āĻāĻŽāĻ°āĻž āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§ āĻ¯ā§ āĻā§āĻā§āĻ¨āĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻāĻŋ āĻ¤āĻž āĻ¤ā§āĻ°āĻŋ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ āĻ¯āĻāĻ¨ āĻāĻŽāĻ°āĻž āĻ˛āĻ āĻāĻ¨ āĻāĻ°ā§āĻāĻŋ āĻāĻŦāĻ āĻ¤āĻāĻ¨ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽ-āĻŦāĻžāĻ¨ā§āĻ§āĻŦ āĻāĻŋāĻ˛ āĻ¯āĻž āĻŽā§āĻ˛ā§āĨ¤ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻŦāĻžāĻ° āĻ˛āĻāĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻ¨āĻ¤ā§āĻ¨ āĻā§āĻā§āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ - āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°ā§āĻ¨ āĻ¯ā§ āĻāĻĒāĻ¨āĻŋ "custom-sa/" āĻāĻŦāĻ "default/" kv āĻĒāĻžāĻĨ āĻāĻāĻ¯āĻŧ āĻĨā§āĻā§ āĻĒāĻĄāĻŧāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
āĻ¸āĻĢāĻ˛!
āĻāĻ° āĻāĻžāĻ°āĻŖ āĻšāĻ˛ āĻāĻŽāĻžāĻĻā§āĻ° "poc-ubuntu-custom-sa" "custom-sa" āĻāĻŦāĻ "default-ns" āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻŦāĻžāĻāĻ¨ā§āĻĄāĻŋāĻāĻ¯āĻŧā§āĻ° āĻ¸āĻžāĻĨā§ āĻŽā§āĻ˛ā§āĨ¤
āĻāĻĒāĻ¸āĻāĻšāĻžāĻ°
TTL āĻā§āĻā§āĻ¨ mgmt?
āĻāĻ āĻ˛ā§āĻāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻ āĻ āĻ¨ā§āĻŽā§āĻĻāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻ¤ā§āĻĒāĻ¨ā§āĻ¨ āĻā§āĻā§āĻ¨āĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ TTL āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻāĻ°āĻžāĻ° āĻā§āĻ¨ āĻ¸āĻŽāĻ¨ā§āĻŦāĻŋāĻ¤ āĻāĻĒāĻžāĻ¯āĻŧ āĻ¨ā§āĻāĨ¤ āĻāĻ¨āĻ¸āĻžāĻ˛ āĻ āĻ¨ā§āĻŽā§āĻĻāĻ¨ā§āĻ° āĻ¸ā§āĻ°āĻā§āĻˇāĻŋāĻ¤ āĻ āĻā§āĻŽā§āĻļāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻĻā§āĻ°ā§āĻĻāĻžāĻ¨ā§āĻ¤ āĻ¸ā§āĻ¯ā§āĻ āĻšāĻŦā§āĨ¤
TTL āĻĻāĻŋāĻ¯āĻŧā§ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ āĻāĻāĻāĻŋ āĻā§āĻā§āĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻ°āĻ¯āĻŧā§āĻā§:
https://www.consul.io/docs/acl/acl-system.html#acl-tokens
āĻŽā§āĻ¯āĻŧāĻžāĻĻ āĻļā§āĻˇ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ - āĻ¯ā§ āĻ¸āĻŽāĻ¯āĻŧā§ āĻāĻ āĻā§āĻā§āĻ¨āĻāĻŋ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻŦā§āĨ¤ (āĻāĻā§āĻāĻŋāĻ; āĻāĻ¨āĻ¸āĻžāĻ˛ 1.5.0 āĻ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§)- āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛ āĻ¤ā§āĻ°āĻŋ/āĻāĻĒāĻĄā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨
https://www.consul.io/api/acl/tokens.html#expirationtime
āĻāĻļāĻž āĻāĻ°āĻŋ āĻ āĻĻā§āĻ° āĻāĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§ āĻāĻŽāĻ°āĻž āĻā§āĻāĻžāĻŦā§ āĻā§āĻā§āĻ¨ āĻ¤ā§āĻ°āĻŋ āĻšāĻ¯āĻŧ āĻ¤āĻž āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻŦ (āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻŦāĻž āĻ āĻ¨ā§āĻŽā§āĻĻāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ āĻ¨ā§āĻ¸āĻžāĻ°ā§) āĻāĻŦāĻ TTL āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŦāĨ¤
āĻ¤āĻ¤āĻā§āĻˇāĻŖ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤, āĻāĻĒāĻ¨āĻžāĻ° āĻ¯ā§āĻā§āĻ¤āĻŋāĻ¤ā§ āĻāĻāĻāĻŋ āĻ˛āĻāĻāĻāĻ āĻāĻ¨ā§āĻĄāĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻā§āĻāĻ¯āĻŧāĻž āĻšāĻā§āĻā§āĨ¤
https://www.consul.io/api/acl/acl.html#logout-from-auth-method https://www.consul.io/docs/acl/acl-auth-methods.html#overall-login-process
āĻāĻāĻžāĻĄāĻŧāĻžāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻŦā§āĻ˛āĻā§ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ āĻĒāĻĄāĻŧā§āĻ¨:
āĻ āĻ¨ā§āĻŽā§āĻĻāĻ¨ āĻāĻžāĻĄāĻŧāĻžāĻ ClickHouse āĻĨā§āĻā§ ClickHouse-āĻ āĻ āĻ¨ā§āĻŽā§āĻĻāĻ¨ āĻ¸āĻš āĻŽāĻžāĻāĻā§āĻ°ā§āĻļāĻ¨ āĻāĻŋāĻ¸ā§āĻ° āĻĻāĻŋāĻā§ āĻ¨āĻŋāĻ¯āĻŧā§ āĻā§āĻā§? āĻāĻŋāĻāĻ˛ā§āĻ¯āĻžāĻŦ āĻ¸āĻŋāĻāĻ/āĻ¸āĻŋāĻĄāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻā§āĻāĻžāĻŦā§ āĻāĻāĻžāĻ§āĻŋāĻ āĻĒāĻžāĻāĻĒāĻ˛āĻžāĻāĻ¨ āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻ¯āĻžāĻ¯āĻŧ āĻĄāĻāĻžāĻ° āĻāĻŽā§āĻ āĻ¸āĻā§āĻā§āĻāĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻ¤āĻŋāĻ¨āĻāĻŋ āĻ¸āĻšāĻ āĻā§āĻļāĻ˛ K8S-āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻŦā§āĻļ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻā§āĻ°āĻžāĻĢāĻŋāĻ āĻŦāĻŋāĻĒā§āĻ˛ āĻ¸āĻāĻā§āĻ¯āĻ āĻāĻŋāĻ¨ā§āĻ¨āĻ§āĻ°ā§āĻŽā§ āĻāĻ¯āĻŧā§āĻŦ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§āĻ° āĻŦā§āĻ¯āĻžāĻāĻāĻĒ āĻ°ā§āĻĄāĻŽāĻžāĻāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻ˛āĻŋāĻā§āĻ°āĻžāĻŽ āĻŦāĻāĨ¤ āĻā§āĻāĻžāĻŦā§ āĻ¨āĻŋāĻā§āĻ° āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¯āĻĻā§āĻ° āĻā§āĻŦāĻ¨āĻā§ āĻ¸āĻšāĻ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ
āĻāĻ¤ā§āĻ¸: www.habr.com