Tableau Server ในคอนเทนเนอร์ - การใช้เครื่องมือตั้งค่า

บทนำ

Tableau Server ในคอนเทนเนอร์เป็นการเสนอบริการเซิร์ฟเวอร์ที่ใช้คอนเทนเนอร์เป็นหลักครั้งแรกของ Tableau Tableau Server ในคอนเทนเนอร์เป็นอินสแตนซ์ Tableau Server แบบครบวงจรที่ทำงานอยู่ในคอนเทนเนอร์ Linux Docker กล่าวอีกแง่หนึ่งคืออิมเมจ Tableau Server ในคอนเทนเนอร์เป็นอิมเมจ Docker ที่ใช้แอปพลิเคชัน Tableau Server ทั้งหมดด้วยตนเอง Tableau Server ในคอนเทนเนอร์เป็นหนึ่งในขั้นตอนมากมายของเราในการสนับสนุน Tableau Server ที่ทำงานในสภาพแวดล้อมที่ใช้คอนเทนเนอร์เป็นหลัก วิธีที่ง่ายที่สุดที่จะทำความเข้าใจแนวคิดของ Tableau Server ในคอนเทนเนอร์คือเสมือนว่าเป็น VM ที่มี Tableau Server ติดตั้งมาแล้วล่วงหน้า อิมเมจจะอิงตามอิมเมจ UBI 8 (CentOS 7.x สำหรับเวอร์ชัน 2022.1 และก่อนหน้า) และจะเรียกใช้ supervisord (แทนที่ systemd) ภายในคอนเทนเนอร์ เมื่อคอนเทนเนอร์เริ่มใช้งาน supervisord ระบบจะพยายามเริ่มต้นใช้งานและเปิดใช้ Tableau Server ทันที เอกสารส่วนใหญ่ ณ ที่นี้มุ่งหวังที่จะอธิบายวิธีการกำหนดค่าและใช้ประโยชน์จากกระบวนการอัตโนมัติเพื่อที่คุณจะสามารถเรียกใช้ Tableau Server ในสภาพแวดล้อมด็อกเกอร์ได้

เครื่องมือการตั้งค่าอิมเมจของ Tableau Server ในคอนเทนเนอร์จะช่วยให้คุณสร้างและปรับแต่งอิมเมจคอนเทนเนอร์ให้รวมแพ็กเกจและอาร์ติแฟกต์ที่กำหนดเอง หนึ่งในฟังก์ชันหลักของเครื่องมือคือการสร้างอิมเมจคอนเทนเนอร์และติดตั้งเครื่องมือเชื่อมต่อข้อมูลที่กำหนดเอง

ข้อจำกัดของ Tableau Server ในคอนเทนเนอร์

  • Tableau Server ในคอนเทนเนอร์รองรับเฉพาะการเปิดใช้งานใบอนุญาตโดยใช้ Server ATR เท่านั้น รองรับการเปิดใช้งานแบบออฟไลน์โดยใช้ Server ATR ในเวอร์ชัน 2023.1 และใหม่กว่า ฟังก์ชันนี้พร้อมให้ใช้งานในคอนเทนเนอร์ แต่ต้องมีขั้นตอนและการอนุมัติเพิ่มเติม หากคุณต้องการเรียกใช้ Tableau Server ในคอนเทนเนอร์ในสภาพแวดล้อมแบบตัดขาดจากระบบเครือข่ายหรือออฟไลน์ โปรดติดต่อตัวแทนบัญชีของคุณเพื่อขอข้อมูลเพิ่มเติม
  • ปัจจุบัน Tableau Server ในคอนเทนเนอร์ไม่รองรับเอเจนต์ของ Resource Monitoring Tool (RMT)
  • Tableau Server ในคอนเทนเนอร์ไม่รองรับ Kerberos

เครื่องมือตั้งค่า Tableau Server ในคอนเทนเนอร์

เครื่องมือตั้งค่า Tableau Server ในคอนเทนเนอร์ build-image สร้าง Tableau Server แบบกำหนดเองในอิมเมจคอนเทนเนอร์จากตัวติดตั้ง Tableau .rpm และไฟล์การกำหนดค่าที่ให้ไว้

เครื่องมือตั้งค่าใช้ตัวติดตั้ง Tableau Server และไดรเวอร์ของคุณ และอาร์ติแฟกต์อื่นๆ เป็นอินพุตและสร้างอิมเมจด็อกเกอร์ เมื่อใช้เครื่องมือ build-image อย่างเหมาะสม อิมเมจที่สร้างขึ้นใหม่จะติดตั้งอาร์ติแฟกต์ที่ต้องการ

การกระจายที่รองรับสำหรับการสร้าง

การสร้าง Tableau Server ในอิมเมจด็อกเกอร์คอนเทนเนอร์รองรับเฉพาะในระบบ Linux ตาม RHEL (RHEL, CentOS หรือ Amazon Linux 2) การสร้างในการกระจาย Linux อื่นอาจเป็นไปได้แต่ยังไม่มีการทดสอบและยังไม่รองรับในขณะนี้ ไม่รองรับการสร้างอิมเมจบน macOS อิมเมจที่สร้างมาจากอิมเมจ UBI 8 (CentOS 7.x สำหรับเวอร์ชัน 2022.1 และเก่ากว่านั้น)

คุณต้องติดตั้ง Docker เวอร์ชัน 18.09 ขึ้นไปบนโฮสต์เพื่อสร้างอิมเมจคอนเทนเนอร์ โดยทั่วไปแล้ว เราแนะนำให้ใช้ Docker เวอร์ชันล่าสุดที่มีความเสถียร Linux Distros บางแหล่งมีเฉพาะ Docker เวอร์ชันเก่าในที่เก็บซอฟต์แวร์ ซึ่งในกรณีนี้ คุณอาจต้องติดตั้ง Docker จากแหล่งอื่น Docker เวอร์ชันเก่ากว่าเวอร์ชัน 18.09 จะไม่มีฟีเจอร์ที่จำเป็นสำหรับ Tableau Server ในคอนเทนเนอร์

ดาวน์โหลดไฟล์ที่จำเป็น

ในการใช้ “เครื่องมือตั้งค่า” คุณต้องดาวน์โหลดทั้งเครื่องมือและไฟล์ ตัวติดตั้งเซิร์ฟเวอร์ .rpm ที่เข้ากันได้ ไฟล์ตัวติดตั้งต้องเป็นเวอร์ชัน 2021.2.0 หรือใหม่กว่า ไฟล์ทั้งสองสามารถดาวน์โหลดได้จาก หน้า Tableau Server(ลิงก์จะเปิดในหน้าต่างใหม่)

  1. ดาวน์โหลดไฟล์ตัวติดตั้งเซิร์ฟเวอร์ tableau-server-<version>.rpm เวอร์ชัน 2021.2.0 หรือใหม่กว่า

  2. ดาวน์โหลดเครื่องมือตั้งค่า Tableau Server ในคอนเทนเนอร์ tableau-server-container-setup-tool-<version>.tar.gz

การติดตั้ง

เครื่องมือตั้งค่า Tableau Server ในคอนเทนเนอร์มีให้เป็น Tarball คุณจะต้องแยกข้อมูลเนื้อหาของไฟล์บีบอัด นี่คือตัวอย่างที่ถือว่าไฟล์เก็บถาวรเครื่องมือตั้งค่า Tableau Server ในคอนเทนเนอร์ อยู่ในไดเรกทอรีปัจจุบันของคุณ:

tar -xzf tableau-server-container-setup-tool-<VERSION>.tar.gz

ซึ่งจะสร้างไดเรกทอรีใหม่ tableau-server-container-setup-tool-<VERSION> ด้วยสคริปต์ build-image ที่คุณใช้ในการเรียกใช้เครื่องมือ

กรอกแบบฟอร์มลงทะเบียน

แก้ไขไฟล์การลงทะเบียนเพื่อให้คุณได้รับข้อมูลระบุตัวตนที่ไม่ซ้ำกันที่จำเป็นสำหรับการลงทะเบียน Tableau Server ตามข้อตกลงสิทธิ์การใช้งานของผู้ใช้ ไฟล์ reg-info.json ทำหน้าที่เป็นเทมเพลตให้แก่ข้อมูลการลงทะเบียนซึ่งเป็นข้อมูลที่ระบุตัวตนได้ ไม่ซ้ำ และจำเป็น โดยอยู่ที่ไดเรกทอรีระดับบนสุดของ Tableau Server ในเครื่องมือการตั้งค่าคอนเทนเนอร์ ไฟล์นี้จะใช้สำหรับการลงทะเบียนอินสแตนซ์ Tableau Server ที่ทำงานอยู่ในอิมเมจ การให้ข้อมูลที่ถูกต้องจะทำให้แน่ใจว่าดำเนินกระบวนการลงทะเบียนเสร็จสิ้นอย่างถูกต้อง

ค่าฟิลด์ eula จะมีการป้อนค่าไว้ล่วงหน้าว่า "ยอมรับ" เพื่อระบุว่าคุณยอมรับข้อตกลงสิทธิ์การใช้งานของผู้ใช้ (EULA) ของเรา คุณสามารถดู EULA ได้ในไดเรกทอรี EULA ของเครื่องมือบิลด์ ตามที่กำหนดไว้ใน EULA คุณจะต้องส่งการลงทะเบียนผู้ใช้ที่ระบุตัวตนได้อย่างไม่ซ้ำกันขณะเปิดใช้งาน Tableau Server เมื่อคุณทำการแก้ไขไฟล์การลงทะเบียนเสร็จสิ้นแล้ว ฟิลด์อื่นๆ ก็ควรมีค่าที่บ่งบอกถึงข้อมูลที่เฉพาะตัวของคุณด้วย ไฟล์นี้จะใช้สำหรับการลงทะเบียนอินสแตนซ์ Tableau Server ที่ทำงานอยู่ในอิมเมจ การป้อนข้อมูลที่ถูกต้องแม่นยำจะทำให้แน่ใจว่ากระบวนการลงทะเบียนจะเสร็จสิ้นและการส่งข้อมูลของคุณเป็นไปตามข้อกำหนดของการให้สิทธิ์ใบอนุญาต

หมายเหตุ: คุณต้องยอมรับ EULA เพื่อใช้ Tableau Server ของเรา หากคุณไม่ยอมรับ EULA คุณจะไม่สามารถเรียกใช้ Tableau Server

เทมเพลตไฟล์การลงทะเบียน reg-info.json ก่อนทำการแก้ไข:

{
"zip" : "<value>",
"country" : "<value>",
"city" : "<value>",
"last_name" : "<value>",
"industry" : "<value>",
"eula" : "accept",
"title" : "<value>",
"phone" : "<value>",
"company" : "<value>",
"state" : "<value>",
"department" : "<value>",
"first_name" : "<value>",
"email" : "<value>"
}

วิธีใช้เครื่องมือ

มีสคริปต์ที่เรียกใช้งานได้ในเครื่องมือตั้งค่าที่เรียกว่า build-image การใช้งานสิ่งนี้ด้วยตัวเลือก -h จะแสดงความช่วยเหลือ:

./src/build-image -h
Usage: build-image --accepteula -i [INPUT_IMAGE_NAME] -o [OUTPUT_IMAGE_NAME] [optional arguments]
Creates new Tableau Server image with pre-installed database drivers, configuration, and instructions.
REQUIRED

--accepteula              Indicate that you have accepted the End User License Agreement (EULA).

The EULA is available in the EULA directory of this tool.

-i installer              Path to the Tableau Server installer.

OPTIONAL

-o output name            Tag of target generated Tableau Server image.

-e environment file       Optional environment file to configuration overrides to docker image at build time.

-v setup tool version     Prints the Setup tool version.


-b base image version     Prints the default base image URL.

ตัวอย่างการใช้งานพื้นฐาน:

./build-image --accepteula -i tableau-server-image.rpm

การเรียกใช้งานคำสั่งโดยไม่ต้องให้อาร์ติแฟกต์หรือสคริปต์การตั้งค่าจะใช้งานได้ แต่ไม่สามารถทำอะไรได้เลยเพราะจะไม่มีการคัดลอกหรือติดตั้งทรัพยากรเพิ่มเติมใดๆ ลงในอิมเมจของ Tableau Server ในคอนเทนเนอร์เดิม

การจัดระเบียบและผสมผสาน

Tableau ให้เอกสารกำกับและการสนับสนุนสำหรับคอนเทนเนอร์ Tableau Server ที่ทำงานบน Linux เท่านั้น Tableau ไม่ได้ให้เอกสารกำกับหรือการสนับสนุนสำหรับระบบการจัดระเบียบและผสมผสานคอนเทนเนอร์ เช่น Kubernetes หรือ Docker Swarm อย่างไรก็ตาม สามารถใช้ Kubernetes เพื่อปรับใช้ Tableau Server ในคอนเทนเนอร์ได้ สำหรับแหล่งข้อมูลและคำแนะนำในการปรับใช้คอนเทนเนอร์ Tableau ใน Kubernetes โปรดดู โครงการ GitHub ที่ที่สนับสนุนโดยชุมชนของเรา: https://github.com/tableau/tableau-server-in-kubernetes(ลิงก์จะเปิดในหน้าต่างใหม่)

การปรับแต่งอิมเมจ

การตั้งค่าตัวแปรสภาพแวดล้อม ณ เวลาสร้าง

คุณสามารถตั้งค่าชุดย่อยของตัวแปรสภาพแวดล้อมที่สามารถปรับแต่งอิมเมจของคุณได้เมื่อสร้างอิมเมจเท่านั้น ซึ่งรวมถึงผู้ใช้ กลุ่ม และคุณสมบัติอื่นๆ ที่ต้องการสิทธิ์รูทภายในคอนเทนเนอร์ การดำเนินการรูทไม่ได้มีให้ตามค่าเริ่มต้นที่รันไทม์ นอกจากนี้ อาจมีประโยชน์ในการอบตัวแปรสภาพแวดล้อมบางอย่างลงในอิมเมจ ณ เวลาสร้าง ดังนั้นจึงไม่ต้องตั้งค่าทุกครั้งที่ใช้งานอิมเมจ ตัวแปรสภาพแวดล้อมเหล่านี้ทั้งหมดสามารถตั้งค่าได้โดยการส่งผ่านไฟล์สภาพแวดล้อมไปยังสคริปต์ build-image

ไฟล์สภาพแวดล้อม

ไฟล์สภาพแวดล้อมสามารถส่งผ่านไปยังสคริปต์ build-image โดยใช้อาร์กิวเมนต์ -e ไฟล์ต้องเป็นไปตามรูปแบบนี้:

<KEY>=<VALUE>
<KEY>=<VALUE>
ตัวอย่างการใช้งาน:

สร้างไฟล์สภาพแวดล้อมด้วยรูปแบบที่ถูกต้อง:

UNPRIVILEGED_TABLEAU_UID=1012
UNPRIVILEGED_TABLEAU_GID=1020
TABLEAU_USERNAME=myuser
TABLEAU_PASSWORD=pw

ส่งไฟล์ไปที่ตัวสร้างภาพ

./build-image --accepteula -i tableau-server-2020-3.x86_64.rpm -e <path-to-env-file>
ตัวแปรสภาพแวดล้อม

ตัวแปรสภาพแวดล้อมใดๆ สามารถตั้งค่าได้ในไฟล์สภาพแวดล้อม ดูส่วน “ตัวแปรสภาพแวดล้อม” เพื่อดูรายการทั้งหมด

ตัวแปรสภาพแวดล้อมเวลาสร้างสามารถตั้งค่าได้เฉพาะเมื่อใช้งานสคริปต์นี้ในการสร้างอิมเมจ:

ชื่อสภาพแวดล้อมค่าเริ่มต้นคำอธิบาย
BASE_IMAGE_URLใช้คำสั่งเครื่องมือการสร้าง: build-image -bอิมเมจค่าเริ่มต้นที่ระบุในเครื่องมือ build-image และ Dockerfile เป็นอิมเมจฐานแบบเดียวที่รองรับอย่างเป็นทางการ พารามิเตอร์นี้สามารถนำไปใช้เพื่อดึงสำเนาของอิมเมจฐานที่เฉพาะเจาะจงนี้จากที่เก็บอิมเมจด็อกเกอร์ที่กำหนดเอง หรือนิยามอิมเมจฐานที่กำหนดเองก็ได้ หากคุณเลือกที่จะใช้อิมเมจฐานที่กำหนดขึ้นเอง (ดูรายละเอียดเพิ่มเติมที่ “การกำหนดอิมเมจฐานแบบกำหนดเอง”) เป็นความรับผิดชอบของคุณที่จะต้องตรวจสอบให้แน่ใจว่าอิงตาม UBI 8 (CentOS 7 หรือ RHEL 7 สำหรับเวอร์ชัน 2022.1 หรือก่อนหน้า) และมีทรัพยากรที่จำเป็นในการเรียกใช้ Tableau Server อย่างเหมาะสม
PRIVILEGED_TABLEAU_GID997GID ของกลุ่ม Tableau ที่มีสิทธิ์
UNPRIVILEGED_TABLEAU_GID 998 GID ของกลุ่ม Tableau ที่ไม่มีสิทธิ์
UNPRIVILEGED_TABLEAU_UID 999 UID ของผู้ใช้ที่เรียกใช้กระบวนการ Tableau (การปรับใช้ผู้ใช้คนเดียว)
UNPRIVILEGED_USERNAME tableau ชื่อสตริงของผู้ใช้ที่ไม่มีสิทธิ์
UNPRIVILEGED_GROUP_NAME tableau ชื่อสตริงของกลุ่มที่ไม่มีสิทธิ์
PRIVILEGED_GROUP_NAMEtsmadminชื่อสตริงของผู้ใช้ที่มีสิทธิ์
LANG en_US.UTF-8การตั้งค่าภาษา

ไดรเวอร์ ใบรับรอง และไฟล์อื่นๆ

อิมเมจ Tableau Server ไม่ได้มาพร้อมกับตัวเชื่อมต่อข้อมูลหรือไดรเวอร์ที่ติดตั้งไว้ล่วงหน้า คุณจะต้องสร้าง Bash setup-script ที่จะสั่งให้สคริปต์ build-image ติดตั้งตัวเชื่อมต่อข้อมูลที่ Tableau Server จะต้องการ นี่คือขั้นตอนที่คุณจะต้องทำ

  1. ตรวจสอบให้แน่ใจว่าได้ติดตั้ง Tableau Server ในเครื่องมือติดตั้งคอนเทนเนอร์อย่างถูกต้อง

  2. ดาวน์โหลดไดรเวอร์จากหน้าไดรเวอร์ Tableau: https://www.tableau.com/th-th/support/drivers(ลิงก์จะเปิดในหน้าต่างใหม่)

  3. คัดลอกไฟล์ไดรเวอร์ที่ดาวน์โหลดลงในไดเรกทอรี customer-files ใน Tableau Server ในเครื่องมือตั้งค่าคอนเทนเนอร์

    ไดเรกทอรี customer-files จะถูกคัดลอกไปยังอิมเมจด็อกเกอร์ ซึ่งจะอยู่ในเส้นทางต่อไปนี้ภายในคอนเทนเนอร์: /docker/customer-files

  4. แก้ไขไฟล์ในเครื่องมือตั้งค่า Tableau Server ในคอนเทนเนอร์ customer-files/setup-script เพื่อบอกด็อกเกอร์ถึงวิธีการติดตั้งไดรเวอร์

    สคริปต์เป็นเพียงไฟล์ Bash ที่สามารถเรียกใช้งานได้ซึ่งจะดำเนินการเมื่อสร้างอิมเมจด็อกเกอร์ (ในทางเทคนิค สามารถใช้ในการดำเนินการที่กำหนดเองใดๆ ในอิมเมจ รวมถึงการตั้งค่าสภาพแวดล้อม การกำหนดค่า ฯลฯ)

    สคริปต์จะถูกเรียกใช้ภายในคอนเทนเนอร์ ดังนั้นโปรดระวังว่าคำสั่งจะต้องทำงานเมื่อดำเนินการภายใน Tableau Server ในอิมเมจคอนเทนเนอร์

    ตัวอย่างเช่น หากคุณต้องการติดตั้งไดรเวอร์ชื่อ mydriver.rpm คุณจะต้องเขียนสิ่งนี้ใน setup-script:

    yum install -y /docker/customer-files/mydriver.rpm
มุมมองสำหรับการดูแลระบบ Tableau

มุมมองการดูแลระบบ Tableau จำเป็นต้องติดตั้งไดรเวอร์ PostgreSQL หากคุณวางแผนที่จะใช้มุมมองเหล่านี้ คุณจะต้องทำตามขั้นตอนด้านบนและติดตั้งไดรเวอร์ PostgreSQL หากต้องการข้อมูลเพิ่มเติม เกี่ยวกับมุมมองการดูแลระบบ โปรดดู มุมมองสำหรับการดูแลระบบ

การกำหนดอิมเมจฐานแบบกำหนดเอง

อิมเมจฐานเริ่มต้นที่ใช้สร้างคอนเทนเนอร์ Tableau Server คืออิมเมจ UBI 8 (CentOS 7.x สำหรับเวอร์ชัน 2022.1 และก่อนหน้า) ที่มาจาก Docker Hub ในบางกรณี คุณอาจต้องการกำหนดค่าเครื่องมือ build-image เพื่อดึงภาพจากที่เก็บอิมเมจด็อกเกอร์อื่น ตัวอย่างเช่น บริษัทของคุณอาจจัดการที่เก็บอิมเมจด็อกเกอร์ภายในและไม่ต้องการดึง build-image จากที่เก็บสาธารณะ ใช้ขั้นตอนต่อไปนี้เพื่อปรับแต่เส้นทางของอิมเมจฐานเอง:

  1. ใช้คำสั่งต่อไปนี้เพื่อดูชื่ออิมเมจฐานเริ่มต้นและเวอร์ชันของเครื่องมือ build-image ปัจจุบัน:

    ./build-image -b
  2. ดึงชื่อและเวอร์ชันของอิมเมจฐานที่ตรงกันทุกประการจาก “ด็อกเกอร์หับ” และจัดเก็บ/แคชในที่เก็บอิมเมจที่คุณต้องการ (ตามนโยบายอิมเมจของบริษัทของคุณ)

  3. กลับมาที่เครื่องมือ build-image สร้างหรือแก้ไขไฟล์สภาพแวดล้อมที่มีอยู่เพื่อรวมคีย์สภาพแวดล้อม BASE_IMAGE_URL ด้วยค่าที่ตั้งเป็นเส้นทางรีจิสทรีอิมเมจด็อกเกอร์ใหม่:

    BASE_IMAGE_URL=<custom-image-registry-path>
  4. สร้างอิมเมจด้วยไฟล์สภาพแวดล้อม:

    ./build-image --accepteula -i <rpm> -e <path-to-env-file>

ขั้นตอนเหล่านี้ทำให้คุณสามารถระบุอิมเมจฐานที่ต่างไปจากเดิมอย่างสิ้นเชิง ความสามารถนี้รองรับเฉพาะอิมเมจที่ใช้ UBI 8 (RHEL และ CentOS 7.x สำหรับเวอร์ชัน 2022.1 และก่อนหน้า) และมีให้เพื่อช่วยให้ลูกค้าสร้างอิมเมจที่ปลอดภัยยิ่งขึ้น

การใช้อิมเมจฐานอื่นที่ไม่ใช่ค่าเริ่มต้นที่ระบุโดย Tableau มีความเสี่ยงในการสร้างอิมเมจที่ไม่เริ่มทำงานหรือทำงานไม่ถูกต้อง หากคุณเลือกใช้อิมเมจฐานแบบกำหนดเอง คุณมีหน้าที่รับผิดชอบในการตรวจสอบว่าอิมเมจฐานช่วยให้ Tableau Server ทำงานได้อย่างถูกต้อง เราขอแนะนำให้ใช้อิมเมจฐานเริ่มต้น เว้นแต่องค์กรของคุณจะยอมรับไม่ได้ด้วยเหตุผลบางประการ เช่น ข้อกังวลด้านความปลอดภัย

อิมเมจฐานที่กำหนดเองต้องอิงตาม UBI 8 (RHEL 7 หรือ CentOS 7 สำหรับเวอร์ชัน 2022.1 และก่อนหน้า) การใช้การแจกแจงอื่นๆ จะส่งผลให้อิมเมจไม่รองรับ

การใช้ที่เก็บภายในสำหรับ yum และ pip

Tableau Server ในอิมเมจคอนเทนเนอร์ได้รับการกำหนดค่าให้ใช้ที่เก็บ yum และ pip เริ่มต้นเพื่อดึงแพ็คเกจที่ขึ้นต่อกัน หากคุณต้องการแก้ไข ลบ หรือเพิ่มที่เก็บ (เช่น ที่เก็บภายในอาจถูกใช้เพื่อปรับปรุงความปลอดภัย) คุณจะต้องแก้ไขหนึ่งในสคริปต์การเริ่มต้นของ “เครื่องมือตั้งค่าอิมเมจ”

แก้ไขสคริปต์ <setup_tool>/src/image/init/setup_default_environment.bash ในรหัสต้นทางเพื่อใช้ที่เก็บภายใน โปรดเก็บไฟล์ที่เก็บที่จำเป็นสำหรับที่เก็บภายในไว้ในไดเรกทอรี <setup_tool>/src/image/init/ ไดเรกทอรีจะถูกคัดลอกไปยังอิมเมจด็อกเกอร์

อิมเมจฐานและความปลอดภัย

ลูกค้าจำนวนมากจะเรียกใช้เครื่องมือสแกนคอนเทนเนอร์ (เช่น AquaScan หรือ TwistLock) กับอิมเมจด็อกเกอร์ของ Tableau Server ที่สร้างขึ้น เครื่องมือรักษาความปลอดภัยเหล่านี้จะสร้างรายงานเกี่ยวกับช่องโหว่ด้านความปลอดภัยที่อาจเกิดขึ้น (หรือ “ช่องโหว่และความเสี่ยงทั่วไป” หรือ CVE) มีช่องโหว่สองประเภทที่เกี่ยวข้องกับ Tableau Server ในอิมเมจคอนเทนเนอร์

  • CVE ที่เกี่ยวข้องกับ Tableau Server หรือกับไลบรารีที่เรามีการขึ้นต่อกัน
  • CVE ที่เกี่ยวข้องกับ Linux Distro เบื้องหลัง

Tableau รับผิดชอบ CVE ที่เกี่ยวข้องโดยตรงกับ Tableau Server ทีมรักษาความปลอดภัยวิเคราะห์รายงานเหล่านี้เพื่อกำหนดผลกระทบและความรุนแรงเพื่อช่วยจัดลำดับความสำคัญของปัญหาเพื่อการแก้ไข ลำดับความสำคัญของการแก้ไขพื้นฐานและไทม์ไลน์จะถูกกำหนดโดยคะแนนความรุนแรงของ CVSS เดิม โดยปกติแล้ว การอัปเดตความปลอดภัยของคอมโพเนนต์ของบุคคลที่สามจะไม่ถูกพอร์ตย้อนกลับไปยังรุ่นที่เก่ากว่า เว้นแต่จะมีเส้นทางโค้ดที่เรียกใช้งานได้ซึ่งเปิดเผยช่องโหว่

ด้วยโมเดลการแจกจ่ายคอนเทนเนอร์ ลูกค้าต้องเผชิญกับชุดความท้าทายต่างๆ เกี่ยวกับช่องโหว่ของเลเยอร์ OS กับ Tableau Server นั้น ตามหลักแล้ว Tableau จะเน้นความพยายามในการส่งมอบแอปพลิเคชันที่ปลอดภัย และลูกค้ามีหน้าที่รับผิดชอบในการจัดการระบบปฏิบัติการ (Linux หรือ Windows) อย่างไรก็ตาม ด้วยคอนเทนเนอร์คอนเทนเนอร์ ระบบปฏิบัติการ (UBI 8 ตั้งแต่เวอร์ชัน 2023.3, CentOS 7.x หรือ RHEL 7.x สำหรับเวอร์ชัน 2022.1 และก่อนหน้า) และแอปพลิเคชันจะถูกรวมเข้าด้วยกันในคอนเทนเนอร์เดียว Tableau รับผิดชอบต่อ CVE ที่เกี่ยวข้องกับ Tableau Server และต่อการกำหนดว่า CVE จากไลบรารีบุคคลที่สามจะส่งผลกระทบต่อลูกค้าหรือไม่ อย่างไรก็ตาม ลูกค้าต้องรับผิดชอบต่อปัญหาเลเยอร์ OS เพื่อให้ลูกค้าสามารถจัดการปัญหาด้านความปลอดภัยในเลเยอร์ OS ลูกค้าสามารถแทนที่เลเยอร์ OS พื้นฐานด้วยเวอร์ชันของตนเองได้ (UBI 8 ที่ใช้สำหรับเวอร์ชัน 2022.3 และใหม่กว่า, RHEL หรือ CentOS 7.x สำหรับเวอร์ชัน 2022.1 และก่อนหน้า) ในการดำเนินการนี้ คุณต้องตรวจสอบว่า Tableau Server ทำงานอย่างถูกต้อง การนำไลบรารี Tableau Server ออกจะขึ้นอยู่กับสาเหตุของปัญหาด้านความปลอดภัยที่อาจส่งผลให้อินสแตนซ์ของ Tableau Server ไม่ทำงาน หากคุณเปลี่ยนเลเยอร์ OS พื้นฐาน ลูกค้ามีหน้าที่ตรวจสอบว่าใช้งานได้

การเพิ่มความรัดกุมของ Tableau Server ในคอนเทนเนอร์

คุณสามารถใช้ขั้นตอนการเพิ่มความรัดกุมมาตรฐานกับ Tableau Server ในคอนเทนเนอร์ได้ หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับการเพิ่มความรัดกุมให้ Tableau Server โปรดดู รายการตรวจสอบเพื่อปิดช่องโหว่ด้านความปลอดภัย

ตัวอย่างการกำหนดค่าการปรับใช้

ด็อกเกอร์

การใช้งานพื้นฐานของ Tableau Server ในคอนเทนเนอร์
docker run \
-e LICENSE_KEY=<key>
-p 8080:8080
-d <Tableau Server in a Container image ID or tag>
การใช้งานพื้นฐานของ Tableau Server ในคอนเทนเนอร์พร้อมผู้ใช้ที่เป็นผู้ดูแลระบบเริ่มต้นที่ทำงานอัตโนมัติ
docker run \
-e LICENSE_KEY=<key> \
-e TABLEAU_USERNAME=<myadmin> \
-e TABLEAU_PASSWORD_FILE=/etc/tableau-admin-secret \
-v <full-path-to-pw-file>:/etc/tableau-admin-secret \
-p 8080:8080 -d <Tableau Server in a Container image ID or tag>
โหมด TSM เท่านั้น
docker run \
-e TSM_ONLY=1 \
-p 8080:8080 -d <Tableau Server in a Container image ID or tag>
การใช้งานพื้นฐานของโหนดหลายโหนด
โหนดตั้งต้น

ตัวเลือกที่ 1: ใช้ตัวเลือกนี้หากการกำหนดค่าเซิร์ฟเวอร์ (CONFIG_FILE) ระบุโทโพโลยีแบบหลายโหนด:

docker run \
-v <network-shared-directory>:/docker/config/bootstrap \
-v <full-path-to-config-file>:/docker/config/config.json:ro \
-e LICENSE_KEY=<key> \
-p 8080:8080 -p 8800-9000:8800-9000 -p 27000-27010:27000-27010 \
--hostname=<name-of-host-machine> \
-d <Tableau Server in a Container image ID or tag>

ตัวเลือกที่ 2: ใช้ตัวเลือกนี้หากคุณต้อวการปรับใช้หลายโหนดแม้การกำหนดค่าเซิร์ฟเวอร์จะไม่ได้ระบุโทโพโลยีแบบหลายโหนดก็ตาม:

docker run \
-v <network-shared-directory>:/docker/config/bootstrap \
-e LICENSE_KEY=<key> -e ALWAYS_WRITE_BOOTSTRAP_FILE=1 \
-p 8080:8080 -p 8800-9000:8800-9000 -p 27000-27010:27000-27010 \
--hostname=<name-of-host-machine> \
-d <Tableau Server in a Container image ID or tag>
โหนดเพิ่มเติม
docker run \
-v <network-shared-directory>:/docker/config/bootstrap \
-e BOOTSTRAP_INSTALL=1 \
-p 8080:8080 -p 8800-9000:8800-9000 \
--hostname=<name-of-host-machine> \
-d <Tableau Server in a Container image ID or tag>
ทำให้การใช้งานข้อมูลเป็นภายนอก
docker run \
-v <empty-data-dir>:/var/opt/tableau \
-e LICENSE_KEY=<key> \
--hostname=localhost \
-p 8080:8080 -d <Tableau Server in a Container image ID or tag>
การใช้งานพื้นฐานของคอนเทนเนอร์ตั้งต้น

คอนเทนเนอร์ตั้งต้น

docker run \
-v <empty-data-dir>:/var/opt/tableau \
-e LICENSE_KEY=<key> \
-e INIT_CONTAINER=1 \
--hostname=localhost \
-p 8080:8080 -d <Tableau Server in a Container image ID or tag>

เรียกใช้คอนเทนเนอร์

docker run \
-v <empty-data-dir>:/var/opt/tableau \
--hostname=localhost \
-p 8080:8080 -d <Tableau Server in a Container image ID or tag>
การกู้คืนพื้นฐานจากโหนดเดี่ยวที่สำรองไว้
docker run \
-v <full-path-to-backup-file>:/docker/config/backup/backup-file.tsbak \
-v <full-path-to-config-only-file>:/docker/config/config.json:ro \
-e LICENSE_KEY=<key> \
-p 8080:8080 -d <Tableau Server in a Container image ID or tag>

Docker-Compose

version: '3.2'
services:
    tableau-server:
         hostname: localhost
         volumes:
              - <your-tsm-command-file>:/docker/config/tsm-commands:ro
              - <your-config-file >:/docker/config/config.json:ro
         ports:
              - "8080:8080"
         image: ${IMAGE_NAME}
         environment:
              - LICENSE_KEY=<license-key>

 

 

ขอบคุณสำหรับข้อเสนอแนะของคุณส่งข้อเสนอแนะของคุณเรียบร้อยแล้ว ขอขอบคุณ