‫ขึ้นอยู่กับเวลาที่คุณดูวิดีโอนี้ จะมีความคาดหวังที่แตกต่างกันเล็กน้อยเกี่ยวกับวิธีใช้คำสั่ง
‫run เริ่มต้นในรุ่น 1 12 และอย่างน้อยก็ผ่านเวอร์ชันปัจจุบันของรีลีส
‫1 15 และอาจจะมีข้อความที่แตกต่างกันออกไปตามวิธีที่คุณใช้หรือดำเนินการ
‫คำสั่ง run สภาพและการใช้งานมีการเปลี่ยนแปลงตลอดหลายปีที่ผ่านมา
‫เป้าหมายตอนนี้ของคำสั่ง run
‫คือการลดการทำงานและเลิกใช้ตัวสร้างหลายตัวที่คุณเพิ่งเรียนรู้ไปก่อนหน้านี้
‫เลิกใช้ส่วนใหญ่ อันที่จริงแล้ว ทั้งหมดนั้นยกเว้นอันเดียว
‫และปล่อยให้มันเป็นคำสั่งรันเดียวที่ออกแบบมาเพื่อเริ่มพ็อด
‫เป้าหมายหนึ่งที่นี่คือการลดความซับซ้อนเพื่อให้มันคล้ายกันและมีประสบการณ์มากกับคำสั่ง
‫docker run มีเพียงคุณเท่านั้นที่เรียกใช้บน Kubernetes
‫เราต้องการกำจัดตัวสร้างที่ใช้การปรับใช้และตัวสร้างประเภทอื่นๆ
‫ทั้งหมด เพราะตอนนี้มีอยู่ในคำสั่ง kubectl
‫create
‫ดังนั้น เมื่อคุณคิดถึงการสร้างอ็อบเจ็กต์จากบรรทัดคำสั่งบรรทัดเดียวในอนาคต
‫ให้นึกถึงการสร้าง จากนั้นการวิ่งก็เหลือแค่การทำพ็อด
‫การใช้งานครั้งเดียวจริงๆ
‫ที่ฉันมีสำหรับการเรียกใช้พ็อดอย่างรวดเร็วคือเมื่อฉันต้องการเริ่มต้นบางอย่าง
‫บางทีฉันอาจใช้เครื่องที่ไม่มี
‫Docker เพราะฉันใช้ containerd หรือ CRI-O หรือเอ็นจิ้นรันไทม์ตัวใดตัวหนึ่ง และฉันไม่มี docker run สะดวกสำหรับฉัน
‫แต่ฉันได้ติดตั้ง Kubernetes แล้ว ดังนั้นฉันจึงสามารถเรียกใช้ kubectl
‫ซึ่งให้ประสบการณ์ที่คล้ายกันกับฉัน
‫สำหรับฉัน เหตุผลที่แท้จริง และใช้เฉพาะกรณีของฉันเพื่อใช้งานรันในปัจจุบัน
‫ซึ่งตอนนี้เรามีของที่เลิกใช้แล้วแบบวันต่อวัน สำหรับการรันคอนเทนเนอร์แบบช็อตเดียว เช่น การแก้ไขปัญหา หรือการทดสอบเครือข่าย หรือบางอย่าง เช่นนั้น.
‫หรือฉันแค่ต้องข้ามไปที่เครือข่ายคอนเทนเนอร์
‫และฉันต้องมีบรรทัดคำสั่งที่นั่นด้วยเหตุผลบางประการ
‫นั่นคือตอนที่ฉันใช้การวิ่ง
‫แต่สิ่งสำคัญคืออย่างน้อยในอีกไม่กี่ปีข้างหน้าเพื่อทำความเข้าใจประวัติการวิ่ง
‫เพราะคุณจะพบตัวอย่างทุกประเภท รวมถึงในวิดีโอเหล่านี้ที่ฉันให้คุณ
‫เกี่ยวกับการใช้คำสั่ง run เพราะมีประวัติเกี่ยวกับ
‫Kubernetes มากมาย
‫ดังนั้น
‫เมื่อคุณเห็นตัวอย่าง คุณอาจต้องแปลในบล็อกหรือเอกสารอื่น
‫ซึ่งจะล้าสมัยในอีกไม่กี่ปีข้างหน้า
‫คุณจะเห็นสิ่งนั้นและคุณจะต้องแปล
‫ตกลง ฉันเคยทำด้วยคำสั่ง run
‫ตอนนี้ฉันต้องทำด้วยคำสั่ง create
‫ให้ฉันยกตัวอย่างว่าคำสั่ง run เคยทำงานอย่างไรและยังคงทำงานอย่างตรงไปตรงมาในวันนี้
‫เวอร์ชันที่คุณใช้ทำหลักสูตรนี้เพราะเมื่อสิ่งนี้หยุดทำงาน
‫ฉันจะนำวิดีโอนี้ออกและแทนที่ด้วยหน่วยความจำของคำสั่ง run
‫มาพูดถึงสิ่งนี้ที่เรามีที่เราไม่มีอีกแล้ว
‫มาดูคำสั่งกันบ้าง
‫ฉันจะใส่มันลงในบรรทัดคำสั่งเพื่อให้คุณเห็นว่าตัวสร้างใดที่พวกเขาใช้ตามประเภทของคำสั่ง
‫run ที่คุณใช้
‫นี่เป็นส่วนหนึ่งของความสับสนในการรัน เนื่องจากมันเริ่มซับซ้อนมากในกรณีการใช้งาน
‫เนื่องจากหลายสิ่งที่คุณทำที่บรรทัดคำสั่งจะเปลี่ยนวิธีที่มันทำงานเมื่อมันสร้างทรัพยากรของคุณ
‫จากทั้งหมดที่กล่าวมานี้
‫ผมจะลองวิ่งแบบแห้งเพื่อแสดงให้คุณเห็นว่าวัตถุที่สร้างขึ้นคืออะไร
‫สำหรับคำสั่งนี้
‫นี่เป็นคำสั่งมาตรฐานที่คุณได้เรียนรู้วิธีสร้างการทำให้ใช้งานได้ก่อนหน้านี้
‫คุณจะสังเกตเห็นว่าค่าเริ่มต้นนี้ ฉันไม่ได้ระบุตัวสร้างที่นี่
‫ซึ่งฉันสามารถทำได้ด้วย --generator
‫แต่ฉันจะไม่ใช้สิ่งนั้นเพราะฉันต้องการแสดงให้คุณเห็นว่าคำสั่ง
‫run เปลี่ยนแปลงอย่างไรเมื่อเวลาผ่านไป
‫หากไม่มีเครื่องกำเนิดไฟฟ้าในวันนี้ จะมีการปรับใช้กับคุณ
‫ในอนาคต เมื่อพวกเขาทำการเปลี่ยนแปลงนี้ในที่สุด
‫การเรียกใช้เริ่มต้นจะสร้างพ็อด ไม่ใช่การทำให้ใช้งานได้
‫และคาดว่าคุณจะใช้ create หรือ Apply เพื่อสร้าง Deployments
‫คำสั่งเหล่านั้น และปล่อยให้การรันสำหรับพ็อดเท่านั้น
‫วันนี้คือวันที่ 114
‫คุณจะเห็นว่ามันสร้าง Deployment ที่นั่นที่ชื่อ
‫test สำหรับสองสามต่อไปนี้ คุณไม่เห็นฉันให้ตัวอย่างเหล่านี้แก่คุณเพราะฉันไม่ต้องการให้คุณเรียนรู้ความแตกต่างทั้งหมดของคำสั่ง
‫run หากคุณจะไม่ใช้มันในอีกสองสามปี
‫ตรงนี้ คุณจะเห็นในอันนี้ ฉันเพิ่มพอร์ตและเปิดเผยที่นั่น
‫ซึ่งในกรณีนี้ มันจะให้คำเตือน เหมือนปกติ
‫แล้วมันจะสร้างสองสิ่งที่แตกต่างกัน
‫จะสร้าง Deployment และทรัพยากรบริการโดยไม่ต้องใช้คำสั่งสองคำสั่งที่ต่างกัน
‫เป็นวิธีที่สะดวกมากในการสร้างและเปิดเผยการทำให้ใช้งานได้
‫อีกครั้ง
‫ที่จะหายไปเพราะคุณสามารถใช้คำสั่ง expose หรือ create แยกกันได้
‫และปรากฎว่าระบบอัตโนมัติและความซับซ้อนของสิ่งนี้อาจไม่ใช่ความคิดที่ดีในอนาคต
‫ดังนั้นพวกเขาจะกำจัดสิ่งนั้น
‫อันต่อไปที่นี่ ฉันเอาส่วนที่เปิดเผยออก แล้วเพิ่มการรีสตาร์ทเมื่อเกิดความล้มเหลว
‫สิ่งนี้จะสร้างทรัพยากรประเภทอื่น
‫มันจะสร้างงานแบทช์หรือเพียงแค่ประเภทงาน
‫อันนั้นจำเป็นสำหรับคอนเทนเนอร์แบบนัดเดียว
‫สิ่งที่คุณจำเป็นต้องใช้
‫บางทีคุณอาจต้องทำการอัปเดตสคีมาในฐานข้อมูลของคุณ
‫หรือบางทีคุณอาจต้องการสำรองข้อมูลฐานข้อมูลอย่างรวดเร็ว และคุณต้องการให้สร้างคอนเทนเนอร์ขึ้นใหม่หากล้มเหลวเท่านั้น
‫สิ่งเหล่านี้คือสิ่งที่คุณสามารถทำได้ด้วยการวิ่ง
‫แต่ตอนนี้คุณสามารถทำสิ่งเหล่านั้นด้วยวิธีอื่นได้แล้ว
‫สิ่งต่อไปที่นี่คือฉันตั้งค่าการรีสตาร์ทเป็น
‫never แทนที่จะล้มเหลว จากนั้นจะเปลี่ยนประเภททรัพยากรเป็นพ็อด
‫ซึ่งจะเป็นค่าเริ่มต้นในไม่ช้า
‫นี่เป็นความสับสนเล็กน้อย
‫คุณสามารถบังคับพฤติกรรมนี้และจะสังเกตได้ว่าถ้าเรากลับไปที่คำสั่งก่อนหน้านี้อย่างที่ฉันเพิ่งแสดงให้คุณเห็น
‫เมื่อฉันรีสตาร์ทเมื่อเกิดข้อผิดพลาด สาเหตุที่บรรทัดนั้นมีอยู่
‫มันกำลังบอกว่าในอนาคต นี่คือสิ่งที่ ที่จะเกิดขึ้นโดยปริยาย
‫หากคุณไม่ต้องการให้มันเกิดขึ้น คุณสามารถบังคับตัวสร้างอื่น
‫เช่นที่ฉันทำที่นี่ ซึ่งใช้ Job V1 หรือใช้คำสั่ง
‫create
‫ซึ่งพวกเขาต้องการให้คุณใช้
‫ดังนั้นหลักสูตรของฉันจึงออกแบบมาเพื่อใช้ในอนาคต
‫ฉันไม่ได้สอนวิธีเรียกใช้คำสั่ง run
‫แบบต่างๆ ให้คุณ ฉันจะเน้นไปที่การสร้างและตัวเลือกอื่นๆ
‫เช่น ใช้
‫อันสุดท้ายนี่ เผื่อว่าคุณไม่รู้ว่าสิ่งนี้มีอยู่จริง
‫เนื่องจากเรามีการสนับสนุนงาน
‫cron ใน Kubernetes ถ้าฉันให้คำสั่ง run แบบเดียวกัน
‫แต่ฉันให้ตารางเวลา มันจะเปลี่ยนตัวสร้างเพื่อใช้งาน cron
‫ซึ่งแตกต่างจากงานเล็กน้อย
‫งาน cron ถูกออกแบบมาให้เกิดขึ้นซ้ำ
‫ดังนั้นมันจะเกิดขึ้น ในกรณีนี้
‫ก็คือวันละครั้ง หวังว่านั่นจะสมเหตุสมผลในแง่ของประวัติของคำสั่ง
‫run อีกครั้ง ฉันคิดว่าจริงๆ แล้ว อนาคตสำหรับเรา
‫เราควรจะเริ่มทำตัวราวกับว่ามันสร้างแต่ฝัก เพราะที่นี่เร็วๆ
‫นี้ ไม่ว่าจะอยู่ใน 116 หรือ 117 ก็ตาม ฉันไม่แน่ใจว่าพวกเขาจะบังคับเมื่อใด การเปลี่ยนแปลงที่แท้จริง
‫สิ่งเหล่านี้จะถูกดึงออกมาในบางจุดและจะไม่สร้างเพื่อใช้เครื่องกำเนิดไฟฟ้าเหล่านี้ด้วยซ้ำ
‫เราจะบังคับให้ใช้ create และนำไปใช้ในรูปแบบอื่นเพื่อสร้างทรัพยากรประเภทต่างๆ