Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Önemli
Bu makaledeki örnek playbook'ları çalıştırmak için Ansible 2.9 (veya üzeri) gereklidir.
Redis için Azure Cache , verilere hızlı erişim sağlayarak hızlı yanıt veren uygulamalar oluşturmanıza olanak tanıyan açık kaynak uyumlu bir hizmettir.
Bu makalede şunları öğreneceksiniz:
- Önbellek oluşturma
- Önbelleği ölçeklendirme
- Önbelleği yeniden başlatma
- Önbelleğe güvenlik duvarı kuralı ekleme
- Önbelleği silme
Önkoşullar
- Azure aboneliği: Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
Ansible'ı Yükleme: Aşağıdaki seçeneklerden birini yapın:
- Ansible'ı Linux sanal makinesine yükleme ve yapılandırma
- Azure Cloud Shell'i yapılandırın ve Linux sanal makinesine erişiminiz yoksa Ansible ile bir sanal makine oluşturun.
Önbellek oluşturma
Yeni bir kaynak grubu içinde Redis için Azure Cache oluşturun.
- name: Create resource group
azure_rm_resourcegroup:
name: "{{ resource_group }}"
location: "{{ location }}"
- name: Create Azure Cache for Redis
azure_rm_rediscache:
resource_group: "{{ resource_group }}"
name: "{{ redis_name }}"
sku:
name: basic
size: C1
Önbelleğin sağlanması birkaç dakika sürebilir. Aşağıdaki kod Ansible'a işlemin tamamlanmasını beklemesini bildirir:
- name: Wait for Redis provisioning to complete
azure_rm_rediscache_info:
resource_group: "{{ resource_group }}"
name: "{{ redis_name }}"
register: facts
until: "{{ facts.rediscaches[0]['provisioning_state'] == 'Succeeded' }}"
retries: 100
delay: 60
Uzun sağlama işlemi sırasında birkaç "hata" iletisi görüntülenir. Bu iletiler güvenle yoksayılabilir. Önemli ileti, son iletidir. Aşağıdaki örnekte, son ("tamam") iletisine kadar birçok hata iletisi vardır.
FAILED - RETRYING: Get facts (100 retries left).
FAILED - RETRYING: Get facts (99 retries left).
FAILED - RETRYING: Get facts (98 retries left).
FAILED - RETRYING: Get facts (97 retries left).
FAILED - RETRYING: Get facts (96 retries left).
FAILED - RETRYING: Get facts (95 retries left).
FAILED - RETRYING: Get facts (94 retries left).
FAILED - RETRYING: Get facts (93 retries left).
FAILED - RETRYING: Get facts (92 retries left).
FAILED - RETRYING: Get facts (91 retries left).
ok: [localhost]
Önbelleği ölçeklendirme
Redis için Azure Cache, uygulamanızın gereksinimlerine bağlı olarak farklı önbellek tekliflerine sahiptir. Bu önbellek seçenekleri, önbellek boyutu ve özellikleri seçiminde esneklik sağlar. Önbellek oluşturulduktan sonra uygulama gereksinimleriniz değişirse, önbelleği gerektiği gibi ölçeklendikleyebilirsiniz. Ölçeklendirme hakkında daha fazla bilgi için bkz. Redis için Azure Cache'i Ölçeklendirme.
Aşağıdaki örnek kod önbelleği Standart olarak ölçeklendirir:
- name: Scale up Azure Cache for Redis
azure_rm_rediscache:
resource_group: "{{ resource_group }}"
name: "{{ redis_name }}"
sku:
name: standard
size: C1
Önbelleği ölçeklendirmek birkaç dakika sürebilir. Aşağıdaki kod Ansible'a işlemin tamamlanmasını beklemesini bildirir:
- name: Wait for Redis scaling up to complete
azure_rm_rediscache_info:
resource_group: "{{ resource_group }}"
name: "{{ redis_name }}"
register: facts
until: "{{ facts.rediscaches[0]['provisioning_state'] == 'Succeeded' }}"
retries: 100
delay: 60
Redis için Azure Cache sağlama görevine benzer şekilde, aşağıdaki ileti gibi bir çıktı normaldir:
**FAILED - RETRYING: Get facts (100 retries left)** is normal.
Önbelleği yeniden başlatın
Aşağıdaki kod, önceki bölümlerde oluşturulan önbelleği yeniden başlatır.
- name: Reboot Azure Cache for Redis
azure_rm_rediscache:
resource_group: "{{ resource_group }}"
name: "{{ redis_name }}"
reboot:
reboot_type: all
Güvenlik duvarı kuralı ekleme
Aşağıdaki kod önbelleğe bir güvenlik duvarı kuralı ekler:
- name: Add Firewall rule
azure_rm_rediscachefirewallrule:
resource_group: "{{ resource_group }}"
cache_name: "{{ redis_name }}"
name: rule1
start_ip_address: 168.1.1.1
end_ip_address: 168.1.1.4
Önbelleği silme
Aşağıdaki kod önbelleği siler:
- name: Delete Azure Cache for Redis
azure_rm_rediscache:
resource_group: "{{ resource_group }}"
name: "{{ redis_name }}"
state: absent
Örnek senaryo kitabını edinin
Örnek playbook'un tamamını almanın iki yolu vardır:
-
Playbook'u indirin ve
rediscache.yml'e kaydedin. - adlı
rediscache.ymlyeni bir dosya oluşturun ve aşağıdaki içeriği bu dosyaya kopyalayın:
- name: Manage Azure Cache for Redis
hosts: localhost
connection: local
vars:
resource_group: "{{ resource_group_name }}"
redis_name: "redis{{ resource_group_name }}"
location: eastus2
roles:
- azure.azure_preview_modules
tasks:
- name: Create resource group
azure_rm_resourcegroup:
name: "{{ resource_group }}"
location: "{{ location }}"
- name: Create Azure Cache for Redis
azure_rm_rediscache:
resource_group: "{{ resource_group }}"
name: "{{ redis_name }}"
sku:
name: basic
size: C1
- name: Wait for Redis provisioning to complete
azure_rm_rediscache_info:
resource_group: "{{ resource_group }}"
name: "{{ redis_name }}"
register: facts
until: "{{ facts.rediscaches[0]['provisioning_state'] == 'Succeeded' }}"
retries: 100
delay: 60
- name: Scale up Azure Cache for Redis
azure_rm_rediscache:
resource_group: "{{ resource_group }}"
name: "{{ redis_name }}"
sku:
name: standard
size: C1
- name: Wait for Redis scaling up to complete
azure_rm_rediscache_info:
resource_group: "{{ resource_group }}"
name: "{{ redis_name }}"
register: facts
until: "{{ facts.rediscaches[0]['provisioning_state'] == 'Succeeded' }}"
retries: 100
delay: 60
- name: Reboot Azure Cache for Redis
azure_rm_rediscache:
resource_group: "{{ resource_group }}"
name: "{{ redis_name }}"
reboot:
reboot_type: all
- name: Add Firewall rule
azure_rm_rediscachefirewallrule:
resource_group: "{{ resource_group }}"
cache_name: "{{ redis_name }}"
name: rule1
start_ip_address: 168.1.1.1
end_ip_address: 168.1.1.4
- name: Delete Azure Cache for Redis
azure_rm_rediscache:
resource_group: "{{ resource_group }}"
name: "{{ redis_name }}"
state: absent
Örnek playbook'u çalıştırın
Bu bölümde, bu makalede gösterilen çeşitli özellikleri test etmek için playbook'u çalıştırın.
vars bölümünde yer tutucuyu {{ resource_group_name }} kaynak grubunuzun adıyla değiştirin.
Ansible-playbook kullanarak playbook'u çalıştırın
ansible-playbook rediscache.yml
Çıktı aşağıdaki sonuçlara benzer:
TASK [create resource group]
Tuesday 12 March 2019 16:21:07 +0800 (0:00:00.054) 0:00:01.503
ok: [localhost]
TASK [Create Azure Cache for Redis]
Tuesday 12 March 2019 16:21:09 +0800 (0:00:01.950) 0:00:03.454
[WARNING]: Azure API profile latest does not define an entry for RedisManagementClient
changed: [localhost]
TASK [Dump host name]
Tuesday 12 March 2019 16:21:49 +0800 (0:00:40.125) 0:00:43.580
ok: [localhost] =>
output['host_name']: redis0312.redis.cache.windows.net
TASK [Get facts]
Tuesday 12 March 2019 16:21:49 +0800 (0:00:00.056) 0:00:43.636
[WARNING]: conditional statements should not include jinja2 templating delimiters such as {{ }} or {% %}. Found: {{ facts.rediscaches[0]['provisioning_state'] == 'Succeeded' }}
FAILED - RETRYING: Get facts (100 retries left).
FAILED - RETRYING: Get facts (99 retries left).
FAILED - RETRYING: Get facts (98 retries left).
FAILED - RETRYING: Get facts (97 retries left).
FAILED - RETRYING: Get facts (96 retries left).
FAILED - RETRYING: Get facts (95 retries left).
FAILED - RETRYING: Get facts (94 retries left).
FAILED - RETRYING: Get facts (93 retries left).
FAILED - RETRYING: Get facts (92 retries left).
FAILED - RETRYING: Get facts (91 retries left).
FAILED - RETRYING: Get facts (90 retries left).
ok: [localhost]
TASK [Scale up Azure Cache for Redis]
Tuesday 12 March 2019 16:33:20 +0800 (0:11:31.296) 0:12:14.933
changed: [localhost]
TASK [Get facts]
Tuesday 12 March 2019 16:33:29 +0800 (0:00:09.164) 0:12:24.097
[WARNING]: conditional statements should not include jinja2 templating delimiters such as {{ }} or {% %}. Found: {{ facts.rediscaches[0]['provisioning_state'] == 'Succeeded' }}
FAILED - RETRYING: Get facts (100 retries left).
FAILED - RETRYING: Get facts (99 retries left).
FAILED - RETRYING: Get facts (98 retries left).
FAILED - RETRYING: Get facts (97 retries left).
FAILED - RETRYING: Get facts (96 retries left).
FAILED - RETRYING: Get facts (95 retries left).
FAILED - RETRYING: Get facts (94 retries left).
FAILED - RETRYING: Get facts (93 retries left).
FAILED - RETRYING: Get facts (92 retries left).
FAILED - RETRYING: Get facts (91 retries left).
ok: [localhost]
TASK [Reboot Azure Cache for Redis]
Tuesday 12 March 2019 16:43:57 +0800 (0:10:27.740) 0:22:51.838
ok: [localhost]
TASK [Add Firewall rule]
Tuesday 12 March 2019 16:44:02 +0800 (0:00:05.432) 0:22:57.271
changed: [localhost]
TASK [Delete Azure Cache for Redis]
Tuesday 12 March 2019 16:44:08 +0800 (0:00:05.137) 0:23:02.409
changed: [localhost]
PLAY RECAP
localhost : ok=10 changed=4 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0
Tuesday 12 March 2019 16:44:14 +0800 (0:00:06.217) 0:23:08.626
Kaynakları temizle
Aşağıdaki kodu olarak
delete_rg.ymlkaydedin.--- - hosts: localhost tasks: - name: Deleting resource group - "{{ name }}" azure_rm_resourcegroup: name: "{{ name }}" state: absent register: rg - debug: var: rgansible-playbook komutunu kullanarak playbook'u çalıştırın. Yer tutucuyu silinecek kaynak grubunun adıyla değiştirin. Kaynak grubundaki tüm kaynaklar silinir.
ansible-playbook delete_rg.yml --extra-vars "name=<resource_group>"Önemli noktalar:
- Playbook'un
registerdeğişkeni vedebugbölümü nedeniyle, komut tamamlandığında sonuçlar görüntülenir.
- Playbook'un