Selectel-āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻ
āĻĢāĻŋāĻ¸āĻŋāĻ¯āĻŧāĻžāĻ˛ Terraform āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§ āĻāĻžāĻ˛ā§ āĻāĻ°ā§āĻāĻŋāĨ¤ āĻāĻ āĻĒāĻŖā§āĻ¯āĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻĻā§āĻ° āĻĒāĻ°āĻŋāĻāĻžāĻ āĻžāĻŽā§-āĻ-āĻā§āĻĄ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ¸āĻŽā§āĻĒāĻĻ āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖāĻ°ā§āĻĒā§ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤
āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻž āĻ¸āĻŽā§āĻĒāĻĻ āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§
āĻāĻĒāĻ¨āĻŋ āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻāĻžāĻ¨ā§āĻ¨, āĻāĻŋāĻĒāĻŋāĻ¸āĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻāĻŋ OpenStack-āĻ āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤āĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻĒā§āĻ¨āĻ¸ā§āĻā§āĻ¯āĻžāĻ āĻĒāĻžāĻŦāĻ˛āĻŋāĻ āĻā§āĻ˛āĻžāĻāĻĄ āĻĒāĻ°āĻŋāĻŦā§āĻļāĻ¨ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¨ā§āĻāĻŋāĻ āĻā§āĻ˛ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ āĻ¨āĻž āĻāĻ āĻāĻžāĻ°āĻŖā§, āĻāĻŽāĻ°āĻž āĻ
āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ API-āĻāĻ° āĻāĻāĻāĻŋ āĻ¸ā§āĻā§ āĻ
āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°ā§āĻāĻŋ āĻ¯āĻž āĻāĻāĻŋāĻ˛ āĻ¯ā§āĻāĻŋāĻ āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻžāĻā§ āĻ¸āĻšāĻ āĻāĻ°ā§ āĻāĻŦāĻ āĻāĻžāĻāĻāĻŋāĻā§ āĻāĻ°āĻ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻāĻ¨āĻ āĻāĻ°ā§ āĻ¤ā§āĻ˛ā§āĨ¤ OpenStack-āĻ āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻāĻŋāĻā§ āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻž āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻĨā§āĻā§ āĻŦāĻ¨ā§āĻ§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻĒāĻ˛āĻŦā§āĻ§
āĻ¸āĻŋāĻ˛ā§āĻā§āĻā§āĻ˛ āĻā§āĻ°āĻžāĻĢāĻ°ā§āĻŽ āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§ āĻāĻāĻ¨ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ VPC āĻ¸āĻāĻ¸ā§āĻĨāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻžāĻ° āĻā§āĻˇāĻŽāĻ¤āĻž āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤ āĻāĻ°ā§:
- āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ āĻāĻŦāĻ āĻ¤āĻžāĻĻā§āĻ° āĻā§āĻāĻž;
- āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§, āĻ¤āĻžāĻĻā§āĻ° āĻā§āĻŽāĻŋāĻāĻž āĻāĻŦāĻ āĻā§āĻā§āĻ¨;
- āĻĒāĻžāĻŦāĻ˛āĻŋāĻ āĻ¸āĻžāĻŦāĻ¨ā§āĻ, āĻā§āĻ°āĻ¸-āĻāĻā§āĻāĻ˛āĻŋāĻ āĻāĻŦāĻ VRRP āĻ¸āĻš;
- āĻ¸āĻĢā§āĻāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ˛āĻžāĻāĻ¸ā§āĻ¨ā§āĻ¸āĨ¤
VPC API āĻāĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒāĻžāĻŦāĻ˛āĻŋāĻ Go āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĨ¤ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻāĻŦāĻ āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§ āĻāĻāĻ¯āĻŧāĻ āĻāĻĒā§āĻ¨ āĻ¸ā§āĻ°ā§āĻ¸, āĻ¤āĻžāĻĻā§āĻ° āĻŦāĻŋāĻāĻžāĻļ Github-āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ:
- āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻāĻžāĻ¨ā§āĻĄāĻžāĻ°
āĻā§-āĻ¸ā§āĻ˛āĻāĻŋāĻĒāĻŋāĻā§āĻ˛āĻžāĻ¯āĻŧā§āĻ¨ā§āĻ , - āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛
Terraform-āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§ Selectel .
āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻā§āĻ˛āĻžāĻāĻĄ āĻ¸āĻāĻ¸ā§āĻĨāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻ¤ā§, āĻ¯ā§āĻŽāĻ¨ āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§āĻļāĻŋāĻ¨, āĻĄāĻŋāĻ¸ā§āĻ, āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°, āĻāĻĒāĻ¨āĻŋ OpenStack Terraform āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻāĻāĻ¯āĻŧ āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻĢāĻŋāĻ¸āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ˛āĻŋāĻā§āĻāĻā§āĻ˛āĻŋāĻ¤ā§ āĻāĻĒāĻ˛āĻŦā§āĻ§:
- āĻ¸āĻŋāĻ˛ā§āĻā§āĻā§āĻ˛ āĻ°āĻŋāĻ¸ā§āĻ°ā§āĻ¸ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨:
Terraform-āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§ Selectel , - OpenStack āĻ¸āĻŽā§āĻĒāĻĻ āĻĄāĻā§āĻŽā§āĻ¨ā§āĻā§āĻļāĻ¨:
Terraform-āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§ OpenStack .
āĻā§āĻāĻŋāĻ āĻ¸ā§āĻāĻžāĻ°ā§āĻā§āĻĄ
āĻļā§āĻ°ā§ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻĒāĻ¨āĻžāĻā§ Terraform āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ (āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ āĻāĻŦāĻ āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨ āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻ˛āĻŋāĻā§āĻāĻā§āĻ˛āĻŋ āĻāĻāĻžāĻ¨ā§ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§
āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻ¤ā§, āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§āĻ° āĻāĻāĻāĻŋ Selectel API āĻā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨, āĻ¯āĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§
āĻ¸āĻŋāĻ˛ā§āĻā§āĻā§āĻ˛ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĢā§āĻ¸ā§āĻāĻā§āĻ˛āĻŋ āĻā§āĻ°āĻžāĻĢāĻ°ā§āĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻŦāĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻŋāĻĨā§āĻŦ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§ āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻ°ā§āĻĄāĻŋāĻŽā§āĻĄ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ¸ā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧ:
āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¸āĻš āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻĻā§āĻāĻŋ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻŦāĻŋāĻāĻā§āĻ¤:
- āĻŽāĻĄāĻŋāĻāĻ˛, āĻā§āĻ āĻĒā§āĻ¨āĻāĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ¯ā§āĻā§āĻ¯ āĻŽāĻĄāĻŋāĻāĻ˛ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯āĻž āĻāĻ¨āĻĒā§āĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋāĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ¸ā§āĻ āĻ¨ā§āĻ¯āĻŧ āĻāĻŦāĻ āĻ¸āĻāĻ¸ā§āĻĨāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻā§āĻ āĻ¸ā§āĻ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°ā§;
- āĻāĻĻāĻžāĻšāĻ°āĻŖ, āĻāĻ¨ā§āĻ¤āĻāĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻŽāĻĄāĻŋāĻāĻ˛āĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻ¸ā§āĻā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¸āĻšāĨ¤
Terraform āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§, āĻāĻāĻāĻŋ Selectel API āĻā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻāĻŦāĻ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻ¨āĻŋāĻā§āĻā§ āĻĒāĻ°āĻŋāĻāĻŋāĻ¤ āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§, āĻāĻ¸ā§āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻŋāĻ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻā§āĻ˛āĻŋāĻ¤ā§ āĻāĻāĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻāĨ¤
āĻāĻāĻāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻĄāĻŋāĻ¸ā§āĻ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻāĻāĻŋ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻ¤ā§āĻ°āĻŋāĻ° āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ
āĻāĻ¸ā§āĻ¨ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ āĻ¤ā§āĻ°āĻŋāĻ° āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§āĻāĻŋ, āĻāĻāĻāĻŋ āĻā§āĻŽāĻŋāĻāĻž āĻ¸āĻš āĻāĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻĄāĻŋāĻ¸ā§āĻ āĻ¸āĻš āĻāĻāĻāĻŋ āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§āĻļāĻŋāĻ¨:
āĻĢāĻžāĻāĻ˛ā§ vars.tf āĻŽāĻĄāĻŋāĻāĻ˛ āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻ¤āĻžāĻĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻŋāĻā§ āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻŽāĻžāĻ¨ āĻāĻā§, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻāĻŋ āĻā§āĻ¨ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻŦā§ ru-3a āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻ¸āĻš:
variable "server_vcpus" {
default = 4
}
variable "server_ram_mb" {
default = 8192
}
variable "server_root_disk_gb" {
default = 8
}
variable "server_image_name" {
default = "Ubuntu 18.04 LTS 64-bit"
}
āĻĢāĻžāĻāĻ˛ā§ main.tf āĻ¸āĻŋāĻ˛ā§āĻā§āĻā§āĻ˛ āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§ āĻļā§āĻ°ā§ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§:
provider "selectel" {
token = "${var.sel_token}"
}
āĻāĻ āĻĢāĻžāĻāĻ˛āĻāĻŋāĻ¤ā§ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž SSH āĻā§āĻāĻŋāĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻŽāĻžāĻ¨āĻ āĻ°āĻ¯āĻŧā§āĻā§:
module "server_local_root_disk" {
...
server_ssh_key = "${file("~/.ssh/id_rsa.pub")}"
}
āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ˛ā§, āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻāĻŋāĻ¨ā§āĻ¨ āĻĒāĻžāĻŦāĻ˛āĻŋāĻ āĻā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻā§ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻ˛ āĻĒāĻžāĻĨ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¨āĻž; āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŽāĻžāĻ¨ āĻ¯ā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
āĻāĻ°āĻ āĻāĻ āĻĢāĻžāĻāĻ˛āĻāĻŋāĻ¤ā§ āĻŽāĻĄāĻŋāĻāĻ˛āĻā§āĻ˛āĻŋ āĻāĻžāĻ˛ā§ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ_āĻ¸āĻžāĻĨā§_āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ и āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°_āĻ˛ā§āĻāĻžāĻ˛_āĻ°ā§āĻ_āĻĄāĻŋāĻ¸ā§āĻ, āĻ¯āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ¸āĻŽā§āĻĒāĻĻ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°ā§āĨ¤
āĻāĻ¸ā§āĻ¨ āĻāĻ°āĻ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤āĻāĻžāĻŦā§ āĻāĻ āĻŽāĻĄāĻŋāĻāĻ˛āĻā§āĻ˛āĻŋ āĻĻā§āĻā§āĻ¨āĨ¤
āĻāĻāĻāĻŋ āĻā§āĻŽāĻŋāĻāĻž āĻ¸āĻš āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ āĻāĻŦāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž
āĻĒā§āĻ°āĻĨāĻŽ āĻŽāĻĄāĻŋāĻāĻ˛āĻāĻŋ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§ āĻāĻŦāĻ āĻ¸ā§āĻ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§ āĻāĻāĻāĻŋ āĻā§āĻŽāĻŋāĻāĻž āĻ¸āĻš āĻāĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§:
āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ OpenStack āĻ āĻ˛āĻ āĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻāĻ° āĻ¸āĻāĻ¸ā§āĻĨāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ āĻšāĻŦā§āĨ¤ āĻŽāĻĄāĻŋāĻāĻ˛āĻāĻŋ āĻ¸āĻšāĻ āĻāĻŦāĻ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¤āĻŋāĻ¨āĻāĻŋ āĻ¸āĻ¤ā§āĻ¤āĻž āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°ā§:
- Selectel_vpc_project_v2,
- Selectel_vpc_user_v2,
- Selectel_vpc_role_v2.
āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻĄāĻŋāĻ¸ā§āĻ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻāĻāĻŋ āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻā§āĻā§
āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻŽāĻĄāĻŋāĻāĻ˛āĻāĻŋ āĻāĻĒā§āĻ¨āĻ¸ā§āĻā§āĻ¯āĻžāĻ āĻ āĻŦāĻā§āĻā§āĻ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻžāĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤, āĻ¯āĻž āĻāĻāĻāĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻĄāĻŋāĻ¸ā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻāĻŋ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧāĨ¤
āĻ¸āĻŽā§āĻĒāĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ āĻŽāĻĄāĻŋāĻāĻ˛ā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻž āĻāĻŋāĻā§ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻā§ āĻāĻĒāĻ¨āĻžāĻ° āĻŽāĻ¨ā§āĻ¯ā§āĻ āĻĻā§āĻāĻ¯āĻŧāĻž āĻāĻāĻŋāĻ¤ openstack_compute_instance_v2:
resource "openstack_compute_instance_v2" "instance_1" {
...
lifecycle {
ignore_changes = ["image_id"]
}
vendor_options {
ignore_resize_confirmation = true
}
}
āĻ¯ā§āĻā§āĻ¤āĻŋ āĻāĻĒā§āĻā§āĻˇāĻž_āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻĒāĻ¨āĻžāĻā§ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻĒā§āĻā§āĻˇāĻž āĻāĻ°āĻžāĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ id āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§āĻļāĻŋāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻāĻŋāĻ¤ā§āĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯āĨ¤ āĻāĻŋāĻĒāĻŋāĻ¸āĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻŦāĻžāĻ¤ā§, āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻĒāĻžāĻŦāĻ˛āĻŋāĻ āĻāĻŦāĻŋāĻā§āĻ˛āĻŋ āĻ¸āĻĒā§āĻ¤āĻžāĻšā§ āĻāĻāĻŦāĻžāĻ° āĻ¸ā§āĻŦāĻ¯āĻŧāĻāĻā§āĻ°āĻŋāĻ¯āĻŧāĻāĻžāĻŦā§ āĻāĻĒāĻĄā§āĻ āĻšāĻ¯āĻŧ āĻāĻŦāĻ āĻāĻāĻ āĻ¸āĻŽāĻ¯āĻŧā§ āĻ¤āĻžāĻĻā§āĻ° id āĻāĻāĻžāĻĄāĻŧāĻžāĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĨ¤ āĻāĻāĻŋ āĻāĻĒā§āĻ¨āĻ¸ā§āĻā§āĻ¯āĻžāĻ āĻāĻĒāĻžāĻĻāĻžāĻ¨ā§āĻ° āĻŦāĻŋāĻļā§āĻˇāĻ¤ā§āĻŦā§āĻ° āĻāĻžāĻ°āĻŖā§ - āĻā§āĻ˛ā§āĻ¯āĻžāĻ¨ā§āĻ¸, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻŋāĻ¤ā§āĻ°āĻā§āĻ˛āĻŋ āĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ¯āĻŧ āĻ¸āĻ¤ā§āĻ¤āĻž āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŦāĻŋāĻŦā§āĻāĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤
āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻŦāĻž āĻĄāĻŋāĻ¸ā§āĻ āĻ¤ā§āĻ°āĻŋ āĻŦāĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻā§āĻ¨ āĻ¯āĻž āĻāĻāĻāĻŋ āĻ¯ā§āĻā§āĻ¤āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻā§ image_id āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧ id āĻĒāĻžāĻŦāĻ˛āĻŋāĻ āĻāĻŽā§āĻ, āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¸ā§āĻ āĻāĻŽā§āĻ āĻāĻĒāĻĄā§āĻ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻĒāĻ°, āĻāĻŦāĻžāĻ° āĻā§āĻ°āĻžāĻĢāĻ°ā§āĻŽ āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĢā§āĻ¸ā§āĻ āĻāĻžāĻ˛āĻžāĻ˛ā§ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻŦāĻž āĻĄāĻŋāĻ¸ā§āĻ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ¤ā§āĻ°āĻŋ āĻšāĻŦā§āĨ¤ āĻāĻāĻāĻŋ āĻ¯ā§āĻā§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻĒā§āĻā§āĻˇāĻž_āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻĒāĻ¨āĻŋ āĻ¯ā§āĻŽāĻ¨ āĻāĻāĻāĻŋ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻāĻĄāĻŧāĻžāĻ¤ā§ āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧāĨ¤
āĻĻā§āĻ°āĻˇā§āĻāĻŦā§āĻ¯: āĻ¯ā§āĻā§āĻ¤āĻŋ āĻāĻĒā§āĻā§āĻˇāĻž_āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻŦā§āĻļ āĻ
āĻ¨ā§āĻ āĻĻāĻŋāĻ¨ āĻāĻā§ Terraform āĻ āĻšāĻžāĻāĻŋāĻ°:
āĻ¯ā§āĻā§āĻ¤āĻŋ ignore_resize_confirmation āĻ¸āĻĢāĻ˛āĻāĻžāĻŦā§ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻĄāĻŋāĻ¸ā§āĻ, āĻā§āĻ°, āĻŦāĻž āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻŽā§āĻŽāĻ°āĻŋāĻ° āĻāĻāĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻ āĻ§āĻ°āĻ¨ā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻāĻāĻŋ āĻ āĻ¨ā§āĻ°ā§āĻ§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ OpenStack Nova āĻāĻĒāĻžāĻĻāĻžāĻ¨ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻŽāĻžāĻĒ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨. āĻ āĻ¨ā§āĻ°ā§āĻ§ā§āĻ° āĻĒāĻ°ā§ āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻ¨ā§āĻāĻž āĻŽāĻžāĻĒ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°āĻā§ āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻžāĻ¸ā§ āĻ°āĻžāĻā§ verify_resize āĻāĻŦāĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻāĻžāĻ āĻĨā§āĻā§ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤āĻāĻ°āĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻĒā§āĻā§āĻˇāĻž āĻāĻ°ā§āĨ¤ āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻ āĻāĻāĻ°āĻŖāĻāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯āĻžāĻ¤ā§ Nova āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻāĻžāĻ āĻĨā§āĻā§ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻĒāĻĻāĻā§āĻˇā§āĻĒā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ āĻĒā§āĻā§āĻˇāĻž āĻ¨āĻž āĻāĻ°ā§āĨ¤
āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ¯ā§āĻā§āĻ¤āĻŋ Terraform āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻžāĻ¸ āĻāĻ¨ā§āĻ¯ āĻ
āĻĒā§āĻā§āĻˇāĻž āĻ¨āĻž āĻāĻ°āĻžāĻ° āĻ
āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧ verify_resize āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŦāĻ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĻ° āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§ āĻāĻāĻāĻŋ āĻ¸āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻ
āĻŦāĻ¸ā§āĻĨāĻžāĻ¯āĻŧ āĻĨāĻžāĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻĨāĻžāĻā§āĻ¨āĨ¤ āĻ¯ā§āĻā§āĻ¤āĻŋāĻāĻŋ OpenStack Terraform āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§āĻ° āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ 1.10.0 āĻĨā§āĻā§ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ:
āĻ¸āĻŽā§āĻĒāĻĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž
āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĢā§āĻ¸ā§āĻāĻā§āĻ˛āĻŋ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻāĻā§, āĻ āĻ¨ā§āĻā§āĻ°āĻš āĻāĻ°ā§ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻ¯ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖā§, āĻĻā§āĻāĻŋ āĻāĻŋāĻ¨ā§āĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§ āĻāĻžāĻ˛ā§ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻāĻŦāĻ OpenStack āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§ āĻ¸āĻŋāĻ˛ā§āĻā§āĻā§āĻ˛ āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§āĻ° āĻ¸āĻāĻ¸ā§āĻĨāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻāĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ° āĻāĻ°ā§, āĻ¯ā§āĻšā§āĻ¤ā§ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻ¤ā§āĻ°āĻŋ āĻ¨āĻž āĻāĻ°ā§, āĻāĻāĻŋāĻ° āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻāĻ¤ āĻŦāĻ¸ā§āĻ¤ā§āĻā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻž āĻ āĻ¸āĻŽā§āĻāĻŦ . āĻĻā§āĻ°ā§āĻāĻžāĻā§āĻ¯āĻŦāĻļāĻ¤, āĻāĻāĻ āĻāĻžāĻ°āĻŖā§ āĻāĻŽāĻ°āĻž āĻļā§āĻ§ā§ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻ¨āĻž Terraform āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¯ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻāĻŋāĻ¤āĻ°ā§āĨ¤ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻĨāĻŽā§ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻŽāĻĄāĻŋāĻāĻ˛ āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ_āĻ¸āĻžāĻĨā§_āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻāĻŦāĻ āĻ¤āĻžāĻ° āĻĒāĻ°ā§ āĻ āĻ¨ā§āĻ¯ āĻ¸āĻŦāĻāĻŋāĻā§āĻ° āĻāĻ¨ā§āĻ¯āĨ¤
āĻĻā§āĻ°āĻˇā§āĻāĻŦā§āĻ¯: āĻāĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻāĻŋ āĻāĻāĻ¨āĻ Terraform-āĻ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ, āĻāĻĒāĻ¨āĻŋ Github-āĻ āĻāĻ˛ā§āĻāĻ¨āĻž āĻ
āĻ¨ā§āĻ¸āĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻ¸āĻŽā§āĻĒāĻĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§, āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻ¯āĻžāĻ¨
$ ls
README.md main.tf vars.tf
āĻāĻŽāĻ°āĻž āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻŽāĻĄāĻŋāĻāĻ˛ āĻļā§āĻ°ā§ āĻāĻ°āĻŋ:
$ terraform init
āĻāĻāĻāĻĒā§āĻ āĻĻā§āĻāĻžāĻ¯āĻŧ āĻ¯ā§ Terraform āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻŽāĻ¨ āĻ¸āĻ°āĻŦāĻ°āĻžāĻšāĻāĻžāĻ°ā§āĻĻā§āĻ° āĻ¸āĻ°ā§āĻŦāĻļā§āĻˇ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°ā§ āĻāĻŦāĻ āĻāĻĻāĻžāĻšāĻ°āĻŖā§ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŽāĻĄāĻŋāĻāĻ˛ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°ā§āĨ¤
āĻĒā§āĻ°āĻĨāĻŽā§ āĻŽāĻĄāĻŋāĻāĻ˛ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻ¯āĻžāĻ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ_āĻ¸āĻžāĻĨā§_āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§. āĻāĻāĻŋ āĻ¸ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ āĻāĻŽāĻ¨ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ āĻĒāĻžāĻ¸āĻŋāĻ āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨:
- āĻ¸ā§āĻ˛_āĻ ā§āĻ¯āĻžāĻāĻžāĻāĻ¨ā§āĻ āĻāĻĒāĻ¨āĻžāĻ° āĻ¸āĻŋāĻ˛ā§āĻā§āĻā§āĻ˛ āĻ ā§āĻ¯āĻžāĻāĻžāĻāĻ¨ā§āĻ āĻ¨āĻŽā§āĻŦāĻ° āĻ¸āĻš;
- āĻ¸ā§āĻ˛_āĻā§āĻā§āĻ¨ Selectel API-āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¨āĻžāĻ° āĻā§ āĻĻāĻŋāĻ¯āĻŧā§;
- āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ OpenStack āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ¸āĻšāĨ¤
āĻĒā§āĻ°āĻĨāĻŽ āĻĻā§āĻāĻŋ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ā§āĻ° āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻĨā§āĻā§ āĻ¨āĻŋāĻ¤ā§ āĻšāĻŦā§
āĻļā§āĻˇ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻāĻĒāĻ¨āĻŋ āĻ¯ā§āĻā§āĻ¨ā§ āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻĻāĻŋāĻ¯āĻŧā§ āĻāĻ¸āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
āĻŽāĻĄāĻŋāĻāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻ¨āĻžāĻā§ āĻŽāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ SEL_ACCOUNT, SEL_TOKEN и āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻ˛āĻŽāĻžāĻ¨:
$ env
TF_VAR_sel_account=SEL_ACCOUNT
TF_VAR_sel_token=SEL_TOKEN
TF_VAR_user_password=USER_PASSWORD
terraform apply -target=module.project_with_user
āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻĒāĻ°ā§, Terraform āĻĻā§āĻāĻžāĻŦā§ āĻ¯ā§ āĻāĻāĻŋ āĻā§āĻ¨ āĻ¸āĻāĻ¸ā§āĻĨāĻžāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ¯āĻŧ āĻāĻŦāĻ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤āĻāĻ°āĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŋāĻā§āĻāĻžāĻ¸āĻž āĻāĻ°āĻŦā§:
Plan: 3 to add, 0 to change, 0 to destroy.
Do you want to perform these actions?
Terraform will perform the actions described above.
Only 'yes' will be accepted to approve.
Enter a value: yes
āĻāĻāĻŦāĻžāĻ° āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§ āĻāĻŦāĻ āĻā§āĻŽāĻŋāĻāĻž āĻ¤ā§āĻ°āĻŋ āĻšāĻ¯āĻŧā§ āĻā§āĻ˛ā§, āĻāĻĒāĻ¨āĻŋ āĻ āĻŦāĻļāĻŋāĻˇā§āĻ āĻ¸āĻāĻ¸ā§āĻĨāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻļā§āĻ°ā§ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
$ env
TF_VAR_sel_account=SEL_ACCOUNT
TF_VAR_sel_token=SEL_TOKEN
TF_VAR_user_password=USER_PASSWORD
terraform apply
āĻ¸āĻŽā§āĻĒāĻĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ āĻāĻāĻĒāĻŋ āĻ āĻŋāĻāĻžāĻ¨āĻž āĻ¸āĻš Terraform āĻāĻāĻāĻĒā§āĻā§ āĻŽāĻ¨ā§āĻ¯ā§āĻ āĻĻāĻŋāĻ¨ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻ¤ā§āĻ°āĻŋ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ° āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸āĻ¯ā§āĻā§āĻ¯ āĻšāĻŦā§:
module.server_local_root_disk.openstack_networking_floatingip_associate_v2.association_1: Creating...
floating_ip: "" => "x.x.x.x"
āĻāĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻāĻĒāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ SSH āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ¤ā§āĻ°āĻŋ āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§āĻļāĻŋāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤
āĻ¸āĻŽā§āĻĒāĻĻ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž
āĻā§āĻ°āĻžāĻĢāĻ°ā§āĻŽā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ¸āĻāĻ¸ā§āĻĨāĻžāĻ¨ āĻ¤ā§āĻ°āĻŋāĻ° āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ, āĻ¸ā§āĻā§āĻ˛āĻŋāĻ āĻ¸āĻāĻļā§āĻ§āĻ¨ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻ¸ā§āĻ¨ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°ā§āĻ° āĻŽāĻžāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻ° āĻāĻŦāĻ āĻŽā§āĻŽāĻ°āĻŋāĻ° āĻ¸āĻāĻā§āĻ¯āĻž āĻŦā§āĻĻā§āĻ§āĻŋ āĻāĻ°āĻŋ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°_āĻāĻŋāĻ¸āĻŋāĻĒāĻŋāĻ¸ и āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°_āĻ°āĻžāĻŽ_āĻāĻŽāĻŦāĻŋ āĻĢāĻžāĻāĻ˛ā§ āĻāĻĻāĻžāĻšāĻ°āĻŖ/vpc/server_local_root_disk/main.tf:
- server_vcpus = "${var.server_vcpus}"
- server_ram_mb = "${var.server_ram_mb}"
+ server_vcpus = 8
+ server_ram_mb = 10240
āĻāĻ° āĻĒāĻ°ā§, āĻāĻŽāĻ°āĻž āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻ° āĻĢāĻ˛ā§ āĻā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻŦā§ āĻ¤āĻž āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻŋ:
$ env
TF_VAR_sel_account=SEL_ACCOUNT
TF_VAR_sel_token=SEL_TOKEN
TF_VAR_user_password=USER_PASSWORD
terraform plan
āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ, Terraform āĻāĻāĻāĻŋ āĻ¸āĻŽā§āĻĒāĻĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§āĻā§ openstack_compute_instance_v2 и openstack_compute_flavor_v2.
āĻ āĻ¨ā§āĻā§āĻ°āĻš āĻāĻ°ā§ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻ¯ā§ āĻāĻāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§āĻļāĻŋāĻ¨āĻāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻŦā§āĻ āĻāĻ°āĻŦā§āĨ¤
āĻ¨āĻ¤ā§āĻ¨ āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§āĻļāĻŋāĻ¨ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻ¤ā§, āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨ Terraform āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¯, āĻ¯āĻž āĻāĻŽāĻ°āĻž āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻāĻžāĻ˛ā§ āĻāĻ°ā§āĻāĻŋāĨ¤
āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¤ā§āĻ°āĻŋ āĻŦāĻ¸ā§āĻ¤ā§ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻŦā§
āĻāĻŽāĻžāĻĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§
āĻāĻāĻāĻŋ Kubernetes āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻ¤ā§āĻ°āĻŋāĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖ
āĻāĻŽāĻ°āĻž āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§ āĻāĻĻāĻžāĻšāĻ°āĻŖā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻžāĻ° āĻāĻā§, āĻāĻŽāĻ°āĻž āĻāĻā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻ¸āĻāĻ¸ā§āĻĨāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻāĻ°āĻŦāĨ¤ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§āĻ° āĻŽā§āĻ˛ā§ āĻāĻāĻŋ āĻāĻ°āĻ¤ā§
$ env
TF_VAR_sel_account=SEL_ACCOUNT
TF_VAR_sel_token=SEL_TOKEN
TF_VAR_user_password=USER_PASSWORD
terraform destroy -target=module.server_local_root_disk
āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¸āĻŋāĻ˛ā§āĻā§āĻā§āĻ˛ āĻāĻŋāĻĒāĻŋāĻ¸āĻŋ āĻāĻĒāĻŋāĻāĻ āĻ āĻŦāĻā§āĻā§āĻāĻā§āĻ˛āĻŋ āĻ¸āĻžāĻĢ āĻāĻ°āĻ¤ā§ āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻāĻžāĻ˛āĻžāĻ¨:
$ env
TF_VAR_sel_account=SEL_ACCOUNT
TF_VAR_sel_token=SEL_TOKEN
TF_VAR_user_password=USER_PASSWORD
terraform destroy -target=module.project_with_user
āĻāĻāĻ¯āĻŧ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ, āĻāĻĒāĻ¨āĻžāĻā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦāĻ¸ā§āĻ¤ā§ āĻŽā§āĻā§ āĻĢā§āĻ˛āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻāĻŋ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§:
Do you really want to destroy all resources?
Terraform will destroy all your managed infrastructure, as shown above.
There is no undo. Only 'yes' will be accepted to confirm.
Enter a value: yes
āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋāĻ¤ā§ āĻāĻā§
āĻāĻ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻāĻŋ āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§, āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§ āĻā§āĻŽāĻŋāĻāĻž āĻ¸āĻš āĻāĻāĻāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§, āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻāĻ¤ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§āĨ¤ āĻĢāĻžāĻāĻ˛ā§ vars.tf āĻāĻĒāĻ¨āĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻŽāĻžāĻ¨ āĻĻā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻ¯ā§āĻŽāĻ¨ āĻ¨ā§āĻĄā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻž, āĻ¤āĻžāĻĻā§āĻ° āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯, āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖ āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĨ¤
āĻĒā§āĻ°āĻĨāĻŽ āĻāĻĻāĻžāĻšāĻ°āĻŖā§āĻ° āĻŽāĻ¤ā§ āĻ¸āĻāĻ¸ā§āĻĨāĻžāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§, āĻĒā§āĻ°āĻĨāĻŽā§ āĻāĻŽāĻ°āĻž āĻŽāĻĄāĻŋāĻāĻ˛ āĻļā§āĻ°ā§ āĻāĻ°āĻŦ āĻāĻŦāĻ āĻŽāĻĄāĻŋāĻāĻ˛ āĻ¸āĻāĻ¸ā§āĻĨāĻžāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŦ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ_āĻ¸āĻžāĻĨā§_āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ āĻ¨ā§āĻ¯ āĻ¸āĻŦāĻāĻŋāĻā§ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨:
$ terraform init
$ env
TF_VAR_sel_account=SEL_ACCOUNT
TF_VAR_sel_token=SEL_TOKEN
TF_VAR_user_password=USER_PASSWORD
terraform apply -target=module.project_with_user
$ env
TF_VAR_sel_account=SEL_ACCOUNT
TF_VAR_sel_token=SEL_TOKEN
TF_VAR_user_password=USER_PASSWORD
terraform apply
āĻāĻŽāĻ°āĻž āĻāĻĒā§āĻ¨āĻ¸ā§āĻā§āĻ¯āĻžāĻ āĻŽā§āĻ¯āĻžāĻāĻ¨āĻžāĻŽ āĻāĻŽā§āĻĒā§āĻ¨ā§āĻ¨ā§āĻā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ Kubernetes āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻŦāĻ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻšāĻ¸ā§āĻ¤āĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°āĻŦāĨ¤ āĻāĻĒāĻ¨āĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻāĻŋāĻ¤ā§ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻā§āĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°āĻŦā§āĻ¨ āĻ¸ā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻ°āĻ āĻāĻžāĻ¨āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻĄāĻŋāĻ¸ā§āĻ āĻāĻŦāĻ āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§āĻļāĻŋāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻŦā§ āĻāĻŦāĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻāĻ¨āĻ¸ā§āĻāĻ˛ āĻāĻ°āĻž āĻšāĻŦā§āĨ¤ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤āĻŋāĻ¤ā§ āĻĒā§āĻ°āĻžāĻ¯āĻŧ 4 āĻŽāĻŋāĻ¨āĻŋāĻ āĻ¸āĻŽāĻ¯āĻŧ āĻ˛āĻžāĻā§, āĻāĻ āĻ¸āĻŽāĻ¯āĻŧā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ Terraform āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻāĻ°āĻŦā§ āĻ¯ā§āĻŽāĻ¨:
module.kubernetes_cluster.openstack_containerinfra_cluster_v1.cluster_1: Still creating... (3m0s elapsed)
āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻšāĻ˛ā§, Terraform āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°āĻŦā§ āĻ¯ā§ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻāĻŦāĻ āĻāĻ° āĻāĻāĻĄāĻŋ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻāĻ°āĻŦā§:
module.kubernetes_cluster.openstack_containerinfra_cluster_v1.cluster_1: Creation complete after 4m20s (ID: 3c8...)
Apply complete! Resources: 6 added, 0 changed, 0 destroyed.
āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ¤ā§āĻ°āĻŋ āĻā§āĻŦāĻžāĻ°āĻ¨ā§āĻāĻ¸ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻž āĻā§āĻŦā§āĻā§āĻā§āĻ˛ āĻāĻĒāĻ¨āĻžāĻā§ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻĢāĻžāĻāĻ˛ āĻĒā§āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻāĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻĒāĻ¨āĻžāĻ° āĻ ā§āĻ¯āĻžāĻāĻžāĻāĻ¨ā§āĻā§āĻ° āĻĒā§āĻ°āĻāĻ˛ā§āĻĒāĻā§āĻ˛āĻŋāĻ° āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ¯āĻŧ āĻā§āĻ°āĻžāĻĢāĻ°ā§āĻŽā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ¤ā§āĻ°āĻŋ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒāĻāĻŋāĻ¤ā§ āĻ¯āĻžāĻ¨:
āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§, āĻ˛āĻžāĻāĻ āĻ˛āĻŋāĻā§āĻ āĻ
āĻ¨ā§āĻ¸āĻ°āĻŖ āĻāĻ°ā§āĻ¨
āĻ˛āĻāĻāĻ¨ āĻ¤āĻĨā§āĻ¯ā§āĻ° āĻāĻ¨ā§āĻ¯, Terraform āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻĒāĻ¨āĻžāĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻ¨āĻžāĻŽ āĻāĻŦāĻ āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĒā§āĻ°āĻ¤āĻžāĻ°āĻŖāĻž āĻ¨āĻž āĻāĻ°ā§ āĻĨāĻžāĻā§āĻ¨ vars.tf āĻŦāĻž main.tf āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻĻāĻžāĻšāĻ°āĻŖā§āĻ° āĻāĻ¨ā§āĻ¯, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻāĻžāĻ°ā§āĻ° āĻ¨āĻžāĻŽ āĻĨāĻžāĻāĻŦā§ tf_user. āĻāĻĒāĻ¨āĻžāĻā§ āĻĒāĻžāĻ¸āĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ā§āĻ° āĻŽāĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ TF_VAR_user_password, āĻ¯āĻž āĻļā§āĻ°ā§āĻ¤ā§ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛ Terraform āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¯ āĻāĻā§
āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§āĻ° āĻāĻŋāĻ¤āĻ°ā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻā§āĻ¯āĻžāĻŦā§ āĻ¯ā§āĻ¤ā§ āĻšāĻŦā§ Kubernetes:
āĻā§āĻ°āĻžāĻĢāĻ°ā§āĻŽā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ¤ā§āĻ°āĻŋ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ°āĻāĻŋ āĻāĻāĻžāĻ¨ā§āĻ āĻ
āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤āĨ¤ āĻāĻ° āĻāĻ¨ā§āĻ¯ āĻĢāĻžāĻāĻ˛ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°ā§āĻ¨ āĻā§āĻŦā§āĻā§āĻā§āĻ˛ āĻāĻĒāĻ¨āĻŋ "āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸" āĻā§āĻ¯āĻžāĻŦā§ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
āĻāĻ¨āĻ¸ā§āĻāĻ˛ā§āĻļāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§ āĻāĻāĻ āĻā§āĻ¯āĻžāĻŦā§ āĻ
āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤āĨ¤ āĻā§āĻŦā§āĻā§āĻā§āĻ˛ āĻāĻŦāĻ āĻĄāĻžāĻāĻ¨āĻ˛ā§āĻĄ āĻāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° config.yaml.
āĻ˛āĻā§āĻā§āĻ° āĻĒāĻ°ā§ āĻā§āĻŦā§āĻā§āĻā§āĻ˛ āĻāĻŦāĻ āĻĒāĻ°āĻŋāĻŦā§āĻļ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§āĻ˛ āĻ¸ā§āĻ āĻāĻ°āĻž āĻā§āĻŦā§āĻāĻ¨āĻĢāĻŋāĻ āĻāĻĒāĻ¨āĻŋ Kubernetes āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
$ kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-9578f5c87-g6bjf 1/1 Running 0 8m
kube-system coredns-9578f5c87-rvkgd 1/1 Running 0 6m
kube-system heapster-866fcbc879-b6998 1/1 Running 0 8m
kube-system kube-dns-autoscaler-689688988f-8cxhf 1/1 Running 0 8m
kube-system kubernetes-dashboard-7bdb5d4cd7-jcjq9 1/1 Running 0 8m
kube-system monitoring-grafana-84c97bb64d-tc64b 1/1 Running 0 8m
kube-system monitoring-influxdb-7c8ccc75c6-dzk5f 1/1 Running 0 8m
kube-system node-exporter-tf-cluster-rz6nggvs4va7-minion-0 1/1 Running 0 8m
kube-system node-exporter-tf-cluster-rz6nggvs4va7-minion-1 1/1 Running 0 8m
kube-system openstack-cloud-controller-manager-8vrmp 1/1 Running 3 8m
prometeus-monitoring grafana-76bcb7ffb8-4tm7t 1/1 Running 0 8m
prometeus-monitoring prometheus-75cdd77c5c-w29gb 1/1 Running 0 8m
āĻā§āĻ°āĻžāĻĢāĻ°ā§āĻŽā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻ¨ā§āĻĄā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻž āĻ¸āĻšāĻā§āĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻĢāĻžāĻāĻ˛ā§ main.tf āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ:
cluster_node_count = "${var.cluster_node_count}"
āĻāĻ āĻŽāĻžāĻ¨ āĻĨā§āĻā§ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻšāĻ¯āĻŧ vars.tf:
variable "cluster_node_count" {
default = 2
}
āĻāĻĒāĻ¨āĻŋ āĻšāĻ¯āĻŧ āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻŽāĻžāĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ vars.tf, āĻ āĻĨāĻŦāĻž āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻŽāĻžāĻ¨ āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°ā§āĻ¨ main.tf:
- cluster_node_count = "${var.cluster_node_count}"
+ cluster_node_count = 3
āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻ¤ā§, āĻ¯ā§āĻŽāĻ¨ āĻĒā§āĻ°āĻĨāĻŽ āĻāĻĻāĻžāĻšāĻ°āĻŖā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻŽāĻžāĻ¨ā§āĻĄāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨ Terraform āĻĒā§āĻ°āĻ¯ā§āĻā§āĻ¯:
$ env
TF_VAR_sel_account=SEL_ACCOUNT
TF_VAR_sel_token=SEL_TOKEN
TF_VAR_user_password=USER_PASSWORD
terraform apply
āĻ¨ā§āĻĄā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ˛ā§, āĻā§āĻ˛āĻžāĻ¸ā§āĻāĻžāĻ° āĻāĻĒāĻ˛āĻŦā§āĻ§ āĻĨāĻžāĻāĻŦā§āĨ¤ Terraform āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻāĻāĻŋ āĻ¨ā§āĻĄ āĻ¯ā§āĻ āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§, āĻāĻĒāĻ¨āĻŋ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻāĻžāĻĄāĻŧāĻžāĻ āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨:
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
tf-cluster-rz6nggvs4va7-master-0 Ready,SchedulingDisabled master 8m v1.12.4
tf-cluster-rz6nggvs4va7-minion-0 Ready <none> 8m v1.12.4
tf-cluster-rz6nggvs4va7-minion-1 Ready <none> 8m v1.12.4
tf-cluster-rz6nggvs4va7-minion-2 Ready <none> 3m v1.12.4
āĻāĻĒāĻ¸āĻāĻšāĻžāĻ°
āĻāĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§ āĻāĻŽāĻ°āĻž āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻāĻĒāĻžāĻ¯āĻŧāĻā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§ āĻĒāĻ°āĻŋāĻāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻāĻŋ
Selectel Terraform āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻāĻžāĻ°ā§āĻ¤ā§ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯ā§ āĻā§āĻ¨ā§ āĻŦāĻžāĻ āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ°āĻŋāĻĒā§āĻ°ā§āĻ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§
āĻāĻ¤ā§āĻ¸: www.habr.com