Quản lý IBM SmartCloud Enterprise, Phần 4: Tạo các ảnh với ICCT

Một gói phần mềm là một bộ sưu tập các tệp cài đặt phần mềm, các tệp cấu hình và siêu dữ liệu, có thể được triển khai trên một cá thể máy ảo. Trong phần cuối cùng này, các tác giả mô tả ba cơ chế để tạo ra các ảnh bằng cách sử dụng Image Construction and Composition Tool (ICCT - Công cụ Tổng hợp và Xây dựng ảnh) của IBM để bắt giữ lại một ảnh tuỳ chỉnh và cơ chế để thêm vào bằng thủ công một phụ thuộc giữa một ảnh và một gói phần mềm bằng cách cập nhật tệp cấu trúc liên kết ngữ nghĩa.

ICCT thực hiện các nhiệm vụ ghi chép và cung cấp một tiến trình từng bước một và một giao diện người dùng đồ họa để tạo ra các gói phần mềm một cách thuận tiện, tùy chỉnh các cá thể máy ảo và bắt giữ lại các ảnh. Loạt bài này trình bày cách sử dụng ICCT để tạo ra một gói phần mềm, sau đó đăng ký và duy trì nó trên IBM SmartCloud Enterprise.

Alex Amies, Kỹ sư phần mềm cao cấp, IBM

Alex Amies là kỹ sư phần mềm cao cấp tại phòng thí nghiệm phát triển GTS của IBM tại Trung Quốc. Ông hiện là kiến trúc sư tham gia thiết kế IBM SmartCloud Enterprise. Trước đây, ông đã làm kiến trúc sư và nhà phát triển về các sản phẩm bảo mật và đám mây trong các nhóm khác của IBM.



Alexei Karve, Kỹ sư phần mềm cao cấp, IBM

Alexei Karve là kỹ sư phần mềm cao cấp tại Trung tâm nghiên cứu Thomas J Watson của IBM. Ông là thành viên của nhóm thiết kế về SmartCloud Enterprise tập trung vào các gói phần mềm và VPN/VLAN cho các hệ thống hỗ trợ nghiệp vụ đám mây. Alexei có nhiều kinh nghiệm trong các dịch vụ hỗ trợ hoạt động, ảo hóa và Trình quản lý cung ứng Tivoli (Tivoli Provisioning Manager) . Ông đã trải qua quá trình làm việc lâu dài và đa dạng trong lĩnh vực quản lý hệ thống kể từ khi gia nhập IBM vào năm 1993.



Scott Peddle, Nhà phát triển tư vấn phần mềm, IBM Japan

Photo of Scott PeddleScott Peddle là một nhà phát triển phần mềm tư vấn về IBM SmartCloud Enterprise. Scott lãnh đạo các dự án tập trung vào việc tích hợp Rational Asset Manager trong một môi trường đám mây. Ông có kinh nghiệm về lãnh đạo dự án để tích hợp các công cụ WebSphere BPM, chẳng hạn như WebSphere Business Modeler và WebSphere Integration Developer qua Rational Asset Manager. Scott cũng là kỹ sư phát hành cho các sản phẩm xây dựng và thiết kế Rational, như Rational Software Architect và Rational Application Developer.



Hidayatullah Shaikh, Nhân viên kỹ thuật cao cấp, IBM

Shaikh là một Nhà sáng chế xuất sắc của IBM và người lãnh đạo kỹ thuật về các sản phẩm Business Support Systems cho IBM SmartCloud Enterprise và Enterprise+, ông làm việc tại Hoa Kỳ.



Qiangguo Tong, Kỹ sư tư vấn phần mềm, IBM

Qiang Guo Tong gia nhập IBM vào năm 2004. Ông là một trong những nhà lãnh đạo nhóm phát triển IBM SmartCloud Enterprise chịu trách nhiệm về việc tạo các tính năng mới. Ông cũng là kiến trúc sư giải pháp hỗ trợ toàn cầu hóa về SmartCloud. Ông có chuyên môn kỹ thuật về công nghệ toàn cầu hóa và công nghệ JavaEE. Ông đã có hơn 8 năm kinh nghiệm phát triển ứng dụng web dựa trên kiến trúc JavaEE và tập trung vào các công nghệ web 2.0 như Dojo, JSON-RPC.



Pan Xia Zou, Kỹ sư phần mềm, IBM

Pan Xia Zou là Kỹ sư phần mềm nhân viên tại IBM và là kiến trúc sư tự động hóa xây dựng và triển khai về IBM SmartCloud Enterprise.



05 04 2013

Các bài trước của loạt bài này đã trình bày việc tạo và duy trì các gói phần mềm trong SmartCloud Enterprise Asset Catalog (Danh mục tài sản của SmartCloud Enterprise) bằng cách sử dụng ICCT. Các bài này cũng đã trình bày việc tạo một ảnh đơn giản bằng cách sử dụng ICCT với một gói phần mềm. Bài này đi sâu hơn vào những cách khác nhau để tạo ra một ảnh với các gói phần mềm. Bài này minh họa ba cơ chế để tạo ra các ảnh bằng cách sử dụng ICCT để bắt giữ lại một ảnh tùy chỉnh với XAMPP. Bài này cũng giới thiệu cách thêm vào bằng thủ công một phụ thuộc giữa một ảnh và một gói phần mềm bằng cách cập nhật tệp cấu trúc liên kết ngữ nghĩa.

Bài này mô tả ba cơ chế để tạo ra một thiết kế ảnh — một cách sử dụng ICCT để dùng gói phần mềm XAMPP được tạo ra trong Phần 3, cùng với gói phần mềm Google Chrome phụ thuộc để tạo ra các ảnh mới:

  • Áp dụng một khuôn mẫu/cách làm về thiết kế ảnh cho một ảnh cơ sở trên trung tâm dữ liệu khác.
  • Mở rộng một ảnh cơ sở.
  • Mở rộng một ảnh tùy chỉnh đã được bắt giữ lại trước đó bằng cách sử dụng ICCT.

Sử dụng một khuôn mẫu để mở rộng một ảnh

Để áp dụng một khuôn mẫu thiết kế ảnh cho một ảnh cơ sở trên trung tâm dữ liệu khác, cần làm như sau:

  1. Tạo ra một nhà cung cấp đám mây mới cho trung tâm dữ liệu Raleigh-RTP.
    Hình 1. Tạo ra một nhà cung cấp đám mây mới
    Tạo ra một nhà cung cấp đám mây mới

    Trước đây chúng ta đã tạo ra một ảnh tùy chỉnh riêng với Google Chrome bằng cách sử dụng nhà cung cấp dịch vụ đám mây SmartCloud Enterprise_Ehningen. Ở đây ta sẽ dùng ảnh đó làm một khuôn mẫu để áp dụng lại một cách làm tương tự cho ảnh cơ sở tại trung tâm dữ liệu Raleigh của SmartCloud này. XAMPP cũng được thêm vào cách làm trước đó.

  2. Chọn SCE_Raleigh là nhà cung cấp đám mây trong trình đơn thả xuống ở góc trên bên phải của giao diện người dùng ICCT.
    Hình 2. Chọn một nhà cung cấp đám mây
    Chọn một nhà cung cấp đám mây
  3. Hạn chế việc tìm kiếm với Red Hat Enterprise Linux 6 và nhập khẩu Red Hat Enterprise Linux 6 (64-bit) (RTP) bằng cách sử dụng trình đơn thả xuống Images.
    Hình 3. Nhập khẩu các ảnh từ nhà cung cấp đám mây
    Nhập khẩu ảnh từ nhà cung cấp đám mây
  4. Nhấn vào biểu tượng + để tạo ra một ảnh mới.
    Hình 4. Tạo ảnh mới RHEL6WithGCandXAMPP
    Tạo ảnh mới RHEL6WithGCandXAMPP
  5. Sử dụng ảnh đã tạo ra trước đó với Google Chrome làm khuôn mẫu để tạo ảnh mới. Chọn RHEL6WithGoogleChrome làm khuôn mẫu và nhấn Next.
    Hình 5. Chọn RHEL6WithGoogleChrome làm khuôn mẫu
    Chọn RHEL6WithGoogleChrome làm khuôn mẫu
  6. Áp dụng khuôn mẫu đã chọn trước đó cho một ảnh cơ sở từ RTP. Chọn Red Hat Enterprise Linux 6 (64-bit) RTP làm cơ sở và nhấn Next.
    Hình 6. Chọn một ảnh cơ sở
    Chọn một ảnh cơ sở
  7. Trang tóm tắt được hiển thị. Lưu ý GoogleChrome đã được áp dụng từ khuôn mẫu trong Additional Software Bundles (Các gói phần mềm bổ sung). Nhấn Done.
    Hình 7. Tóm tắt ảnh mới
    Tóm tắt ảnh mới
  8. Hình 8 hiển thị ảnh mới.
    Hình 8. Ảnh mới được tạo từ khuôn mẫu
    Ảnh mới được tạo từ khuôn mẫu
  9. Mở rộng các gói phần mềm. Do một thiết kế trước đó đã đưa vào Google Chrome, nên ảnh riêng mới đã bao gồm cách làm cho Google Chrome rồi. Lưu ý rằng nó có màu vàng, để chỉ ra rằng nó vẫn chưa được cài đặt trên ảnh, nhưng đã kèm theo cách làm. Bây giờ bạn cần thêm gói phần mềm XAMPP.
  10. Nhấn vào biểu tượng bút chì. Nhấn Add Bundle (Thêm bó), chọn gói XAMPP và nhấn Add.
    Hình 9. Thêm gói XAMPP vào ảnh
    Thêm bó XAMPP vào ảnh
  11. Hình 10 cho thấy gói đã thêm vào.
    Hình 10. Gói XAMPP đã thêm vào ảnh
    Bó XAMPP đã thêm vào ảnh
  12. Mở rộng XAMPP Software Bundle (gói phần mềm XAMPP), Install (Cài đặt) và Deploy Parameters (Các tham số triển khai). Bạn có thể thấy các giá trị mặc định được cung cấp cho Archive Name (Tên tệp lưu trữ) và Apache Web Server Port (Cổng máy chủ web của Apache). Bạn cũng thấy biểu tượng khóa mở ở bên phải Apache Web Server Port của Deploy parameter (Tham số triển khai). Bạn muốn trường này mở khóa để trưng nó ra trong Cổng thông tin SmartCloud Enterprise thông qua tệp parameters.xml và có sẵn để thay đổi trong lúc triển khai.
  13. Nhấn Save. Thao tác này sẽ lưu thiết kế ảnh /cách làm cục bộ trên máy ảo ICCT.

    Lúc này, bạn có thể đồng bộ hóa và bắt giữ lại ảnh này trong trung tâm dữ liệu Raleigh. Tất nhiên, bạn cũng có thể sử dụng cơ chế tương tự này để áp dụng khuôn mẫu/cách làm cho một ảnh trong cùng một trung tâm dữ liệu Ehningen hoặc bất kỳ trung tâm dữ liệu khác nào thông qua một nhà cung cấp đám mây liên quan. Tính năng này rất có ích cho việc di trú các ảnh với các gói phần mềm giữa các trung tâm dữ liệu mà không phải xuất khẩu và nhập khẩu các ảnh. Việc này cũng có thể được áp dụng cho bất kỳ hệ điều hành có liên quan nào — ảnh SUSE Linux Enterprise Server hoặc ảnh Red Hat Enterprise Linux — với kiến trúc có thể áp dụng đã được chỉ rõ là một phụ thuộc trong gói phần mềm. Chúng tôi đã áp dụng cách làm tương tự cho Red Hat 6.2 64 bit Base Image (Ảnh cơ sở 64 bit của phiên bản Red Hat 6.2) trong trung tâm dữ liệu Ehningen và đã tiến hành đồng bộ hóa..

  14. Thoả thuận cấp phép được hiển thị. Nhấn vào I agree (Tôi đồng ý) và chọn Done (Xong).
    Hình 11. Đồng ý với thỏa thuận cấp phép
    Đồng ý với thỏa thuận cấp phép

    Trạng thái thay đổi từ Out of Sync (Không đồng bộ) thành Synchronizing (Đang đồng bộ hóa) và chờ SmartCloud tạo ra một cá thể máy ảo tạm thời và khởi động nó.

  15. Sau khi cá thể chuyển sang trạng thái hoạt động, hãy kiểm tra ô lưới các gói phần mềm để tìm cá thể đó. Do có một lỗi trong phiên bản phát hành trước của ICCT, nên nó hiển thị gói Google Chrome hai lần. Lỗi này cần được sửa chữa trong phiên bản đã phát hành.
    Hình 12. Ảnh RHEL6WithGCandXAMPP trong tab instance
    Ảnh RHEL6WithGCandXAMPP trong ngăn instance
  16. Sử dụng API REST để xóa liên kết bổ sung thừa tới gói phần mềm Google Chrome. Hãy sử dụng userid và mật khẩu đúng của bạn trong các yêu cầu dưới đây. Lưu ý rằng bạn cần làm việc này chỉ khi bạn thấy có liên kết bổ sung thừa.
curl -k -H 'Accept: application/json' -u <userid>:<password> 
https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331/
instances/211835/swbundle
{"SwBundleInstanceDetails":[{"SwBundleNum":1,"SwBundleName":"GoogleChrome",
"SwBundlePricingDetails":{"rate":0,"unitOfMeasure":"UHR","countryCode":"897","
effectiveDate":1313107200000,"currencyCode":"USD","pricePerQuantity":1},
"SwBundleDescription":"Install Latest Google Chrome using yum","SwBundleState":"1",
"name":"211835","id":"2909","description":"GoogleChrome installed"},{"SwBundleNum":2,
"SwBundleName":"GoogleChrome","SwBundlePricingDetails":{"rate":0,"unitOfMeasure":"UHR",
"countryCode":"897","effectiveDate":1313107200000,"currencyCode":"USD",
"pricePerQuantity":1},"SwBundleDescription":"Install Latest Google Chrome using yum"
,"SwBundleState":"1","name":"211835","id":"2909","description":"GoogleChrome installed"},
{"SwBundleNum":1,"SwBundleName":"XAMPP","SwBundlePricingDetails":
{"rate":0,"unitOfMeasure":"UHR","countryCode":"897","effectiveDate":
1313107200000,"currencyCode":"USD","pricePerQuantity":1},"SwBundleDescription":
"An easy to install Apache distribution containing MySQL, 
PHP and Perl.","SwBundleState":"1","name":"211835","id":"3555",
"description":"XAMPP installed"}]}
  1. Xóa liên kết thứ hai tới Google Chrome. Lưu ý id và SwBundleNum và sử dụng nó trong yêu cầu với dòng action=disassociateSWBundle dưới đây.
    curl -k -H 'Accept: application/json' -X PUT -u 
    <userid>:<password> -d "action=disassociateSWBundle&
    swBundleId=2909&swBundleNum=2" https://www-147.ibm.com/computecloud/
    enterprise/api/rest/20100331/instances/211835

    Nó trả về:

    {"success":true}

    Lưu ý rằng yêu cầu để lấy ra liên kết SWBundle tới cá thể này có SwBundleState=3, nghĩa là nó bị xóa.

    curl -k -H 'Accept: application/json' 
    -u <userid>:<password
    > https://www-147.ibm.com/computecloud/enterprise/api/rest/
    20100331/instances/211835/swbundle
    {"SwBundleInstanceDetails":[
    {"SwBundleNum":1,"SwBundleName":"GoogleChrome","SwBundlePricingDetails":
    {"rate":0,"unitOfMeasure":"UHR","countryCode":"897","effectiveDate":1313107200000,
    "currencyCode":"USD","pricePerQuantity":1},"SwBundleDescription":"Install Latest 
    Google Chrome using yum","SwBundleState":"1","name":"211835","id":"2909",
    "description":"GoogleChrome installed"},
    {"SwBundleNum":2,"SwBundleName":"GoogleChrome","SwBundlePricingDetails":
    {"rate":0,"unitOfMeasure":"UHR","countryCode":"897","effectiveDate":1313107200000,
    "currencyCode":"USD","pricePerQuantity":1},"SwBundleDescription":"Install Latest 
    Google Chrome using yum","SwBundleState":"3","name":"211835","id":"2909",
    "description":"GoogleChrome installed"},
    {"SwBundleNum":1,"SwBundleName":"XAMPP","SwBundlePricingDetails":{"rate":0,
    "unitOfMeasure":"UHR","countryCode":"897","effectiveDate":1313107200000,
    "currencyCode":"USD","pricePerQuantity":1},"SwBundleDescription":"An easy 
    to install Apache distribution containing MySQL, PHP and Perl.","SwBundleState":"1",
    "name":"211835","id":"3555","description":"XAMPP installed"}]}
  2. Nhấn Control Panel (Bàn điều khiển) và chọn cá thể. Lúc này, cá thể này chỉ hiển thị một liên kết tới gói phần mềm Google Chrome.
    Hình 13. Cá thể đang hiển thị các gói phần mềm trong ô lưới
    Cá thể đang hiển thị các bó phần mềm trong ô lưới
  3. Sau khi ICCT đã cài đặt xong các gói phần mềm, trạng thái hiển thị là "Synchronized " (Đã đồng bộ). ICCT cho thấy rằng tất cả mọi thứ đã cài đặt thành công nếu kịch bản lệnh của bạn trả về một số 0. Bạn vẫn nên kiểm tra bằng thủ công. Hãy đăng nhập vào cá thể tạm thời này bằng idcuser và kiểm tra xem Google Chrome và XAMPP đã được cài đặt chưa bằng cách tìm kiếm các thư mục /opt/google và /opt/lampp. Bạn cũng có thể khởi động và kiểm tra xem các ứng dụng có làm việc không. Nếu các ứng dụng vẫn chưa được cài đặt hoặc không làm việc, hãy kiểm tra các bản ghi nhật ký bằng cách đăng nhập vào máy ảo ICCT của bạn tại /drouter/ramdisk2/mnt/raid-volume/raid0/logs/trace.log. Nó sẽ báo có lỗi.

    Bạn có thể cài đặt thủ công nếu có cái gì đó bị lỗi hoặc kịch bản lệnh cài đặt của bạn có lỗi nhưng không trả về một giá trị khác không. ICCT sao chép tất cả tệp trình cài đặt, tệp cấu hình và tệp thiết lập lại đã được bạn cung cấp trong thư mục /tmp trên cá thể tạm thời. Bạn có thể kiểm tra các tệp trình cài đặt trong thư mục /tmp/IconExecutionPackage*.

    Ví dụ, đoạn mã sau đây cho thấy các gói mà ICCT chạy trong thư mục tạm thời.

    [idcuser@vhost4180 IconExecutionPackagea7791a5b-955e-4f5a-b879-561aa636ac3a]$ ls
    activate.txt com.apache.xampp_1.0.0 com.ibm.icon.abstraction.cc_1.0.0.0  
    IconImageSynchronizer.zip
    cloud-startup3.txt com.google.chrome_1.0.0  
    IconImageSynchronizer.sh rule_template.xml
  4. Bạn có thể thấy đoạn mã sau /tmp/IconExecutionPackagea7791a5b-955e-4f5a-b879-561aa636ac3a/com.apache.xampp_1.0.0/execution/ installXAMPP.sh. Nếu có gì đó sai trong bất kỳ kịch bản lệnh nào, hãy sửa chữa nó và chạy nó thủ công sao cho bạn có thể tiếp tục làm việc với cá thể này. Lưu ý rằng bất kỳ việc sửa lỗi thủ công nào như vậy đều yêu cầu bạn phải sửa chữa tài sản gói phần mềm trong Rational Asset Manager và các kịch bản lệnh cài đặt có liên quan đã lưu trong bộ nhớ đệm trong cá thể ICCT bằng cách tìm kiếm tệp có lỗi trong thư mục /drouter và thực hiện các sửa lỗi tương tự.
  5. Khi tất cả mọi thứ xem ra đã chính xác, hãy nhấn vào biểu tượng Capture (Bắt giữ lại) trong ICCT. Việc này sẽ bắt giữ lại một ảnh tùy chỉnh với Google Chrome và XAMPP đã cài đặt và xóa cá thể tạm thời. Trạng thái trong ICCT thay đổi thành Completed Capture Complete (Đã hoàn thành: việc bắt giữ lại hoàn thành). Bây giờ bạn có thể sử dụng ảnh tùy chỉnh đã bắt giữ lại để tạo ra các cá thể bổ sung. Các báo cáo được hiển thị trên tab SmartCloud Enterprise Portal Overview (Tổng quan về Công thông tin Doanh nghiệp SmartCloud).
    Hình 14. Các báo cáo về tạo ảnh từ RHEL6WithGCandXAMPP được gom lại
    Các báo cáo về tạo ảnh từ RHEL6WithGCandXAMPP được gom lại

Để xem ảnh mới RHEL6WithGCandXAMPP với cả gói phần mềm GoogleChrome và gói phần mềm XAMPP, hãy làm như sau:

  1. Nhấn vào tab Images trên SmartCloud Enterprise Portal Control Panel (Bàn điều khiển của Cổng thông tin Doanh nghiệp SmartCloud).
    Hình 15. Ảnh RHEL6WithGCandXAMPP trong tab Images
    Ảnh RHEL6WithGCandXAMPP trong ngăn Images
  2. Kiểm tra tài sản trong Rational Asset Manager và kiểm tra hai gói phần mềm kèm theo trong tệp cấu trúc liên kết ngữ nghĩa rhel62 x64.topology trong Template Topology Asset (Tài sản cấu trúc liên kết khuôn mẫu) cho RHEL6WithGCandXAMPP.
    Hình 16. Ảnh RHEL6WithGCandXAMPP trong Rational Asset Manager
    Ảnh RHEL6WithGCandXAMPP trong giao diện RAM

    Ảnh này cho thấy các gói phần mềm kèm theo với các yêu cầu và các phụ thuộc và cũng liệt kê các sản phẩm đã cài đặt. Các gói phần mềm ICCT đã thêm vào các tệp cấu trúc liên kết được liệt kê dưới đây.

    <core:extendedAttribute uuid="_2VJVg3nsEeGp3r7QPxS4HQ" name="bundleName">
    <core:data xsi:type="xsd:string" uuid="_QpUHvXnaEeGp3r7QPxS4HQ"
    >GoogleChrome</core:data>
    </core:extendedAttribute>
    <core:extendedAttribute uuid="_2VJVhHnsEeGp3r7QPxS4HQ" 
    name="bundleRepoId">
    <core:data xsi:type="xsd:string" uuid="_QpUHv3naEeGp3r7QPxS4HQ">
    ryo-asset://07356E0D-3868-1709-0F95-AD9FF0355FF4_1.0.0
    @https://www-147.ibm.com/cloud/enterprise/ram.ws</core:data>
    </core:extendedAttribute>
    
    <core:extendedAttribute uuid="_2VJVg3nsEeGp3r7QPxS4HQ" name="bundleName">
    <core:data xsi:type="xsd:string" uuid="_QpUH-3naEeGp3r7QPxS4HQ">
    XAMPP</core:data>
    </core:extendedAttribute>
    <core:extendedAttribute uuid="_2VJVhHnsEeGp3r7QPxS4HQ" 
    name="bundleRepoId">
    <core:data xsi:type="xsd:string" uuid="_QpUH_HnaEeGp3r7QPxS4HQ">ryo-asset:
    //842DE67C-2E85-70B4-318A-940EC239D44E_1.0.0
    @https://www-147.ibm.com/cloud/enterprise/ram.ws</core:data>
    </core:extendedAttribute>
  3. Khi bạn đặt hàng một cá thể của ảnh này, bạn sẽ thấy cả hai bó.
    Hình 17. Thêm cá thể từ ảnh RHEL6WithGCandXAMPP
    Thêm cá thể từ ảnh RHEL6WithGCandXAMPP
  4. Kịch bản lệnh cấu hình configureXAMPPPort.sh, mà bạn đã thêm vào gói phần mềm trước đó, sẽ chạy khi tạo cá thể. Hãy thiết lập cá thể để sử dụng cổng mà bạn đã nhập vào.
    Hình 18. Chỉ rõ một cổng dành cho cá thể
    Chỉ rõ một cổng dành cho cá thể
  5. Kiểm tra xem yêu cầu http://<yourinstanceHostName>:8081 đã làm việc chưa. Nếu máy chủ web Apache XAMPP (XAMPP Apache Web Server) của bạn không đáp ứng như dự kiến, bạn có thể kiểm tra các bản ghi nhật ký trong tệp /opt/ibm/ae/log/trace.log và thư mục /opt/ibm/ae/AR. Ngoài ra, hãy kiểm tra các kịch bản lệnh trong thư mục /opt/ibm/ae/AL.

Để xóa ảnh tuỳ chỉnh do ICCT bắt giữ lại, hãy loại bỏ siêu dữ liệu khỏi ICCT và xóa ảnh đó khỏi SmartCloud:

  1. Chọn ảnh trong ICCT và nhấn vào biểu tượng X màu đỏ trên ô cửa sổ bên phải.
    Hình 19. Xóa ảnh RHEL6WithGCandXAMPP trong ICCT
    Xóa ảnh RHEL6WithGCandXAMPP trong ICCT
  2. Nhấn Yes để xác nhận và loại bỏ siêu dữ liệu cho ảnh tùy chỉnh từ ICCT.
    Hình 20. Xác nhận xoá ảnh RHEL6WithGCandXAMPP trong ICCT
    Xác nhận xoá ảnh RHEL6WithGCandXAMPP trong ICCT
  3. Quay về Cổng thông tin SmartCloud (SmartCloud Portal) và xóa ảnh đó khỏi Cổng thông tin SmartCloud hoặc sử dụng API REST của SmartCloud hoặc API dòng lệnh để xóa ảnh đó khỏi SmartCloud.
    Hình 21. Xóa ảnh RHEL6WithGCandXAMPP trong SmartCloud
    Xóa ảnh RHEL6WithGCandXAMPP trong SmartCloud

Mở rộng ảnh cơ sở

Chuyển về trung tâm dữ liệu Ehningen trong trình đơn thả xuống. Các bước sau mô tả cách thứ hai để trực tiếp mở rộng ảnh cơ sở với cả các gói phần mềm và các phụ thuộc.

  1. Chọn Red Hat Enterprise Linux 6 (64-bit) và nhấn vào biểu tượng Extend (hai CD) trong ô cửa sổ bên phải.
    Hình 22. Mở rộng ảnh
    Mở rộng ảnh
  2. Nhập thông tin và nhấn Create (Tạo).
  3. Để xem cách ICCT trợ giúp cho các phụ thuộc và trình tự các gói phần mềm không được đáp ứng đúng, hãy nhấn vào biểu tượng bút chì để thêm gói phần mềm XAMPP.
    Hình 23. Thêm gói phần mềm cho ảnh
    Thêm bó phần mềm cho ảnh
  4. Nhấn Add rồi nhấn Save. Một thông báo cảnh báo được hiển thị trong Validation Status (Trạng thái xác nhận hợp lệ) vì sự phụ thuộc vào gói phần mềm Google Chrome cần thiết không được đáp ứng.
    Hình 24. Trạng thái xác nhận hợp lệ
    Trạng thái xác nhận hợp lệ
  5. Có thể đáp ứng các phụ thuộc của gói phần mềm bằng hai cách. Hoặc là ảnh ban đầu có thể có các sản phẩm hay các gói phần mềm cần thiết được cài đặt sẵn hoặc có thể thêm vào và cài đặt các gói phần mềm bổ sung cần thiết để cung cấp các khả năng. Trong trường hợp này (ví dụ thứ hai), ảnh cơ sở không có Google Chrome, vì vậy bạn cần phải thêm nó. Trong ví dụ thứ ba sẽ được trình bày sau, Google Chrome được cài đặt sẵn vào ảnh tùy chỉnh được dùng làm ảnh cơ sở, do đó không cần thêm gói phần mềm Google Chrome một cách riêng rẽ. Trong ví dụ đầu tiên mô tả ở trên, khuôn mẫu đã thêm vào gói phần mềm Google Chrome phụ thuộc.
    Hình 25. Các thông tin chi tiết về vấn đề
    Các thông tin chi tiết về vấn đề tại sao yêu cầu bó phần mềm không được đáp ứng
  6. Các thông tin chi tiết về vấn đề (problem details) cho thấy gói phần mềm com.google.chrome là bắt buộc. Nào hãy thêm gói phần mềm đó và nhấn Save.
    Hình 26. Thêm gói phần mềm GoogleChrome
    Thêm bó phần mềm GoogleChrome
  7. Bây giờ Validation Status hiển thị Invalid (Không hợp lệ). Đó là vì trình tự gói phần mềm đó không hợp lệ. Bạn cần cài đặt gói phần mềm Google Chrome trước khi cài đặt gói phần mềm XAMPP.
    Hình 27. Thông báo trạng thái không hợp lệ
    Thông báo trạng thái không hợp lệ
  8. Di chuột qua XAMPP và nhấn chuột vào mũi tên hướng xuống để sửa thứ tự. Nhấn Save.
    Hình 28. gói phần mềm XAMPP đã thêm vào thành công
    Bó phần mềm XAMPP đã thêm vào thành công
  9. Lời cảnh báo sẽ mất và Validation Status hiển thị "Valid" (Hợp lệ). Mở rộng XAMPP và khóa lại cổng ở 8081.
    Hình 29. Mở rộng XAMPP
    Mở rộng XAMPP
  10. Nhấn Save. Một cá thể tạm thời được tạo ra và ICCT hiển thị đã đồng bộ hóa. Sau khi nó được đồng bộ hóa, bạn sẽ thấy cổng 8081 là cổng bị khóa.
  11. Đăng nhập vào cá thể tạm thời và kiểm tra các thư mục để bảo đảm rằng đã cài đặt Google Chrome và XAMPP. Cũng lưu ý là một IconExecutionPackage duy nhất trong thư mục /tmp đã cài đặt cả hai gói phần mềm và các kịch bản lệnh kích hoạt cho cả Google Chrome lẫn XAMPP trong các thư mục /opt/ibm/ae/AS.
    [idcuser@vhost4214 ~]$ ls /opt/lampp/
    bin error htdocs lampp libexec logs phpmyadmin sbin tmp
    cgi-bin etc icons lib licenses modules RELEASENOTES share var
    [idcuser@vhost4214 ~]$ ls /opt/google/
    chrome
    [idcuser@vhost4214 ~]$ ls /tmp
    backup rule_template.xml
    IconExecutionPackageada25d26-cf27-4791-bbd1-20161e13748b
    [idcuser@vhost4214 ~]$ ls /opt/ibm/ae/AS
    com.apache.xampp_1.0.0 com.ibm.icon.abstraction.cc_1.0.0.0 ConfigIcon.py
  12. Điều này gây ra một vấn đề tương tự — Google Chrome được liên kết đến cá thể đó hai lần. Bạn có thể xóa liên kết thứ hai hoặc bỏ qua nó. Nhấn vào Capture để bắt giữ lại ảnh có thể dùng để cung cấp các cá thể bổ sung. Ảnh được bắt giữ lại có các liên kết đúng bất kể cho dù bạn có xóa liên kết bổ sung khỏi cá thể đó hay không. ICCT đã cập nhật chính xác tệp cấu trúc liên kết trong Rational Asset Manager sao cho các liên kết xuất hiện với ảnh đó.
  13. Bạn cũng có thể kiểm tra tệp parameters.xml trong Rational Asset Manager. Tệp này cho thấy Apache Web Server Port (Cổng máy chủ Web Apache) mới được trưng ra như một tham số có thể nhìn thấy trong quá trình cung cấp.
    Hình 30. Tệp parameters.xml trong RAM
    Tệp parameters.xml trong RAM
  14. Khi bạn cung cấp các cá thể mới với ảnh tuỳ chỉnh này, bạn sẽ có thể yêu cầu http://<instancehostname>:<selectedport> từ một trình duyệt, nhận đáp ứng tiêu chuẩn từ XAMPP và duyệt các trang.
    Hình 31. Khung nhìn XAMPP
    Khung nhìn XAMPP

Mở rộng một ảnh tùy chỉnh trước đó

Lại chọn trung tâm dữ liệu Ehningen, nơi trước đây bạn đã tạo ra ảnh tùy chỉnh với Google Chrome bằng cách sử dụng ICCT. Tiếp tục mở rộng ảnh tùy chỉnh này bằng cách sử dụng ICCT. Do ảnh này đã có Google Chrome, nên bạn chỉ cần thêm XAMPP.

  1. Chọn ảnh RHEL6WithGoogleChrome và nhấn vào biểu tượng Hai đĩa CD (Extend - Mở rộng) ở ô cửa sổ bên phải.
    Hình 32. Chọn ảnh để mở rộng
    Chọn ảnh để mở rộng

    Tương tự với trường hợp bạn sử dụng khuôn mẫu, lần này Google Chrome đã có rồi. Tuy nhiên, lưu ý màu của biểu tượng Google Chrome là màu xanh lá cây, cho biết rằng nó đã được cài đặt, trái ngược với biểu tượng màu vàng trong trong trường hợp khuôn mẫu.

  2. Nhập thông tin vào cửa sổ Extend an Image (Mở rộng một Ảnh) và nhấn Create. Nhấn vào biểu tượng Bút chì để chỉnh sửa RHEL6WithGCAndXAMPP3.
    Hình 33. Mở rộng ảnh RHEL6WithGoogleChrome
    Mở rộng ảnh RHEL6WithGoogleChrome
  3. Nhấn Add Bundle và đánh dấu chọn hộp kiểm tra gói phần mềm XAMPP để thêm nó vào.
    Hình 34. Thêm bó XAMPP cho ảnh image RHEL6WithGoogleChrome
    Thêm bó XAMPP cho ảnh image RHEL6WithGoogleChrome
  4. Mở rộng Deploy Parameters của gói phần mềm XAMPP, như trong Hình 35. Lưu ý rằng bạn thiết lập Deploy Parameter tới cổng 8081 và khóa nó lại.
    Hình 35. Cổng 8081 bị khóa
    Cổng 8081 bị khóa
  5. Nhấn SaveSynchronize. Đánh dấu chọn License Agreement và nhấn Done.
  6. Làm mới ICCT. Kiểm tra xem nó đã hiển thị Synchronized chưa. Tra tìm địa chỉ IP của cá thể tạm thời trên Cổng thông tin SmartCloud. Đăng nhập vào cá thể tạm thời và kiểm tra xem /opt/lampp/lampp đã có chưa. Ngoài ra, hãy kiểm tra xem /opt/ibm/ae/AS/com.apache.xampp_1.0.0/activation/ConfigurePort/configureXAMPPPort.sh đã có chưa. Kịch bản lệnh này chạy trong suốt quá trình triển khai cá thể sau khi triển khai ảnh đã bắt giữ lại. Lưu ý rằng /tmp có hai thư mục IconExecutionPackage*. Một thư mục cũ được tạo ra khi cài đặt gói phần mềm Google Chrome. Còn thư mục thứ hai dùng cho gói phần mềm XAMPP đang được cài đặt.
  7. Nếu tất cả đều ổn, hãy nhấn vào biểu tượng Capture trong ô cửa sổ bên phải trong giao diện người dùng đồ họa của ICCT. Một ảnh được bắt giữ lại và cá thể tạm thời bị xóa. Bạn có thể sử dụng ảnh đã bắt giữ lại để tạo ra nhiều cá thể hơn.
    Hình 36. Ảnh RHEL6WithGCandXAMPP3 trong tab Images
    Ảnh RHEL6WithGCandXAMPP3 trong ngăn Images

Lưu ý rằng cổng bị khóa là 8081. Khi bạn triển khai, tham số này không có sẵn cho cấu hình trong Cổng SmartCloud. Bạn có thể hy vọng các cá thể được tạo ra với cổng cố định 8081 như cổng Apache Web Server. Tuy nhiên, trong phiên bản 2.0 hiện tại, SmartCloud không trực tiếp hỗ trợ các tham số chỉ đọc trong tệp parameters.xml, vì vậy bạn có thể thay đổi cổng trong lúc cung cấp nó và việc khóa sẽ không có bất kỳ tác dụng nào. Bất kỳ việc khóa nào có sử dụng cơ chế này với tệp parameters.xml đều để mở các tham số cho người dùng thay đổi. Người dùng trực tiếp chỉnh sửa thủ công tệp parameters.xml trong tài sản cấu trúc liên kết khuôn mẫu RAM.

Nếu người thiết kế ảnh muốn cố định cổng, thì cần thực hiện việc này bằng thủ công. Để bỏ qua tham số cổng và chỉ cố định nó trước khi thực hiện bắt giữ lại ảnh bằng cách sử dụng ICCT, hãy cập nhật kịch bản cấu hình được tạo ra cho gói phần mềm XAMPP /opt/ibm/ae/AS/com.apache.xampp_1.0.0/activation/ConfigurePort/configureXAMPPPort.sh trên cá thể tạm thời sau khi đồng bộ hóa. Điều đó ngăn chặn bất kỳ các thay đổi nào trong tệp parameters.xml ảnh hưởng đến cổng đã bị khóa.

Kiểm tra xem ảnh có hiển thị cả hai gói phần mềm không. Bạn cần phải refresh (làm mới) tab Instances trong SmartCloud Portal sau khi ICCT hoàn thành việc bắt giữ lại ảnh và hiển thị trạng thái "Completed: Capture Complete" (Đã xong: Việc bắt giữ lại ảnh hoàn thành). Việc khóa một giá trị tham số trong ICCT sẽ tránh việc người dùng nhập giá trị đó để triển khai.

Bạn cũng có thể cập nhật tài sản ảnh để thêm một liên kết vào trang GettingStarted.html trong danh mục Rational Asset để cho phép kết nối trực tiếp tới XAMPP trên cổng 8081 từ tab Instance sau khi chọn cá thể. Nhờ đưa vào thẻ này, nên Cổng thông tin SmartCloud tự động kèm theo tên máy chủ và mở URL trong một tab trình duyệt mới khi người dùng nhấn chuột vào liên kết XAMPP Index page (trang Chỉ mục XAMPP).

<a onclick="javascript:ibmcloud.common.controlOpen
('http', 8081, '/xampp/index.php')" 
href="#">XAMPP Index page</a>

Cập nhật tệp cấu trúc để liên kết các gói phần mềm

Sau khi sử dụng ICCT và trình bày ba cơ chế để bắt giữ lại các ảnh, hãy quay lại bản sao ảnh ban đầu RHEL6.2WithLampAndGoogleChrome, được tạo ra trong bài viết trước.

Mặc dù bạn đã cài đặt XAMPP trên ảnh này, bạn đã thấy rằng nó chỉ hiển thị Google Chrome trong ô lưới các gói phần mềm trong tab Images khi bạn chọn ảnh đó. Điều đó là do bạn đã không cập nhật tài sản có phụ thuộc vào gói phần mềm XAMPP vì bạn đã không có bất kỳ gói phần mềm nào như vậy tại thời điểm đó. Bạn có thể giữ nguyên như nó vốn có hoặc để cho đầy đủ, bây giờ bạn có gói XAMPP, bạn có thể thêm phụ thuộc này. Do sự liên kết với gói phần mềm không gây ra bất kỳ thay đổi nào trong thời gian cung cấp cá thể, nên liên kết này chủ yếu là để xem xét. Bạn có thể chỉnh sửa nội dung cho Template Topology Asset trong Rational Asset Manager. Hãy cập nhật tệp cấu trúc liên kết ngữ nghĩa Rhel6.1_x64.topology với phần sau đây ở bên dưới phần core:unit dành cho Google Chrome (ở gần dưới cùng của tệp cấu trúc liên kết).

Hình 37. Vị trí tệp cấu trúc liên kết trong RAM
Vị trí tệp cấu trúc liên kết trong Gia diện người dùng RAM
<core:unit uuid="_mw5dOnzaEeGp3r7QPxS4HQ" 
name="xamppbundle" goalInstallState="installed" initInstallState="installed">
<core:capability uuid="_mw5dO3zaEeGp3r7QPxS4HQ" 
name="cap" linkType="any">
<core:extendedAttribute uuid="_qhXYcXzsEeGp3r7QPxS4HQ" 
name="symbolicName">
<core:data xsi:type="xsd:string" 
uuid="_mw5dPHzaEeGp3r7QPxS4HQ">com.apache.xampp</core:data>
</core:extendedAttribute>
<core:extendedAttribute uuid="_qhXYcnzsEeGp3r7QPxS4HQ" 
name="version">
<core:data xsi:type="xsd:string" 
uuid="_mw5dPXzaEeGp3r7QPxS4HQ">1.0.0</core:data>
</core:extendedAttribute>
<core:extendedAttribute 
uuid="_qhXYc3zsEeGp3r7QPxS4HQ" name="bundleName">
<core:data xsi:type="xsd:string" 
uuid="_mw5dPnzaEeGp3r7QPxS4HQ">XAMPP</core:data>
</core:extendedAttribute>
<core:extendedAttribute 
uuid="_qhXYdHzsEeGp3r7QPxS4HQ" name="bundleRepoId">
<core:data xsi:type="xsd:string" 
uuid="_mw5dP3zaEeGp3r7QPxS4HQ"
>ryo-asset://842DE67C-2E85-70B4-318A-940EC239D44E_1.0.0
@https://www-147.ibm.com/cloud/enterprise/ram.ws</core:data>
</core:extendedAttribute>
</core:capability>
</core:unit>

Quay lại Control Panel hoặc refresh nó nếu bạn đang mở trong cửa sổ khác. Lưu ý rằng cùng một imageId 20047812 cũng hiển thị XAMPP trong ô lưới các gói phần mềm. Điều này minh họa rằng bạn có thể sử dụng một tổ hợp của cả hai cách tiếp cận cho cùng một ảnh: đó là bằng ICCT và bằng thủ công.

Bạn không thêm bất kỳ các sản phẩm nào hoặc bất kỳ phụ thuộc nào giữa các gói phần mềm XAMPP và Google Chrome. Việc thêm những thứ đó bằng cách sử dụng genericsoftware:unit.softwareInstallUnit với các thay đổi cho các thẻ server:unit.serverUnit, os:unit.operatingSystemUnit, core:unit, core:requirement, core:link.member khá phức tạp và tốt nhất nên để việc này cho công cụ ICCT làm. Bạn có thể xem xét tệp cấu trúc liên kết do công cụ ICCT tạo ra khi tạo ảnh với cả hai gói phần mềm đã cài đặt để biết thêm chi tiết.

Hình 38. Ảnh RHEL6.2WithLampAndGoogleChrome trong tab Images
Ảnh RHEL6.2WithLampAndGoogleChrome trong ngăn Images

Có thể cập nhật cả tên lẫn mô tả của một ảnh trong Rational Asset Catalog của IBM sau khi đã bắt giữ lại ảnh. Tuy nhiên, vào lúc viết bài này, vẫn chưa thể cập nhật tên và mô tả của gói phần mềm.


Kết luận

Trong loạt bài này, bạn đã học cách nhân bản và sửa đổi một tài sản của Rational Asset Manager để cung cấp tùy chỉnh nhờ sử dụng ICCT trên IBM SmartCloud Enterprise bằng cách làm theo một ví dụ đơn giản. Bạn cũng đã học ba cơ chế để tạo ra một thiết kế ảnh:

  • Áp dụng một khuôn mẫu/cách làm về thiết kế ảnh cho một ảnh cơ sở trên trung tâm dữ liệu khác.
  • Mở rộng một ảnh cơ sở.
  • Mở rộng một ảnh tùy chỉnh đã được bắt giữ lại trước đó bằng cách sử dụng ICCT.

Tài nguyên

Học tập

Lấy sản phẩm và công nghệ

  • Đánh giá các sản phẩm của IBM theo cách phù hợp với bạn nhất: Tải về một bản dùng thử sản phẩm, dùng thử một sản phẩm trực tuyến, sử dụng một sản phẩm trong một môi trường đám mây hoặc dành một vài giờ trong SOA Sandbox để học cách thực hiện kiến trúc hướng dịch vụ có hiệu quả.

Thảo luận

  • Get involved in the developerWorks community. Connect with other developerWorks users while exploring the developer-driven blogs, forums, groups, and wikis.

Bình luận

developerWorks: Đăng nhập

Các trường được đánh dấu hoa thị là bắt buộc (*).


Bạn cần một ID của IBM?
Bạn quên định danh?


Bạn quên mật khẩu?
Đổi mật khẩu

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Ở lần bạn đăng nhập đầu tiên vào trang developerWorks, một hồ sơ cá nhân của bạn được tạo ra. Thông tin trong bản hồ sơ này (tên bạn, nước/vùng lãnh thổ, và tên cơ quan) sẽ được trưng ra cho mọi người và sẽ đi cùng các nội dung mà bạn đăng, trừ khi bạn chọn việc ẩn tên cơ quan của bạn. Bạn có thể cập nhật tài khoản trên trang IBM bất cứ khi nào.

Thông tin gửi đi được đảm bảo an toàn.

Chọn tên hiển thị của bạn



Lần đầu tiên bạn đăng nhập vào trang developerWorks, một bản trích ngang được tạo ra cho bạn, bạn cần phải chọn một tên để hiển thị. Tên hiển thị của bạn sẽ đi kèm theo các nội dung mà bạn đăng tải trên developerWorks.

Tên hiển thị cần có từ 3 đến 30 ký tự. Tên xuất hiện của bạn phải là duy nhất trên trang Cộng đồng developerWorks và vì lí do an ninh nó không phải là địa chỉ email của bạn.

Các trường được đánh dấu hoa thị là bắt buộc (*).

(Tên hiển thị cần có từ 3 đến 30 ký tự)

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Thông tin gửi đi được đảm bảo an toàn.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=70
Zone=Cloud computing, Rational
ArticleID=863810
ArticleTitle=Quản lý IBM SmartCloud Enterprise, Phần 4: Tạo các ảnh với ICCT
publish-date=04052013