‫Vì
‫vậy, chúng tôi sẽ đi nhanh.
‫Được rồi.
‫Sau đó, chúng ta sẽ kết thúc chương trình vì chúng ta đã quá giờ của chúng ta.
‫Tôi muốn nhận được một số phản hồi từ các bạn.
‫Được rồi.
‫Người đầu tiên lên là Jacob.
‫Có rất nhiều tài liệu ở đây. Nhân tiện, tôi thích tài liệu Dockerfiles.
‫Bạn hoàn toàn có thể đặt bao nhiêu tùy thích.
‫Đây thực sự là một tệp YAML nên bây giờ chúng ta đang nói về Soạn thư. Tài liệu trong Dockerfiles hoặc Soạn
‫tệp. Dù thế nào đi nữa.
‫Luôn luôn là một điều tốt.
‫Được rồi.
‫Vì vậy, anh ấy đang sử dụng phiên bản 3. 0 7 có nghĩa là nó có thể dành cho
‫Swarm hoặc thứ gì đó đang được sản xuất như Kubernetes sử dụng bộ tính năng Soạn trên Kubernetes.
‫Anh ấy đang sử dụng các hình ảnh Elastic chính thức từ Elastic ở đó.
‫Hãy xem bạn đã kiểm tra sức khỏe của mình.
‫Tuyệt vời.
‫Bạn đã kiểm tra sức khỏe. Thật tuyệt. Bạn đã có cấu hình.
‫Thật tuyệt.
‫Bạn đang thiết lập nó trên một mạng cụ thể và bạn đang thực hiện chế
‫độ máy chủ trên cổng, vì vậy bạn đang cấp quyền truy cập trực tiếp này vào NIC thay vì đi qua mạng lớp phủ và lưới
‫định tuyến.
‫Tốt đấy.
‫Sau đó, chúng ta hãy xem.
‫Chúng tôi phải triển khai ở đây.
‫Ồ, và bạn đang thực hiện vòng lặp DNS ở chế độ điểm cuối.
‫Kudo cho bạn.
‫Đây là điều mà rất nhiều người không nhận ra.
‫Bất cứ khi nào bạn đang chạy thứ gì đó trong Swarm và bạn muốn vô hiệu hóa IP ảo nằm trước mọi dịch vụ lớp phủ, bạn muốn làm
‫điều đó đối với cơ sở dữ liệu nơi bạn chỉ có một nút, đúng vậy, rất nhiều lần ngay cả khi bạn đang thực hiện phản
‫chiếu cơ sở dữ liệu mà bạn thường chạy từng cơ sở dữ liệu trong dịch
‫vụ của riêng họ.
‫Vì vậy, có một phiên bản trong một dịch vụ và nhiệm vụ đó của phiên bản vùng chứa đó, bạn thường không muốn IP ảo đó ở phía trước nó bởi
‫vì nó bây giờ là một bước nhảy bổ sung. Đó là một bản dịch NAT khác.
‫Đó là nhiều vấn đề tiềm ẩn hơn.
‫Nếu bạn đặt chế độ điểm cuối thành DNS round robin ở đây, điều đó sẽ tắt VIP một cách hiệu quả và có quyền truy cập trực tiếp
‫vào vùng chứa đó.
‫Kudo cho bạn.
‫Tôi không thấy điều đó thường xuyên bởi vì mọi người không nắm bắt được điều đó. Bạn cũng đang sử dụng các bản
‫sao.
‫Giới hạn tài nguyên của 4G cho một buổi biểu diễn thật tuyệt vời.
‫Luôn luôn, tôi khuyên bạn nên luôn đặt giới hạn tài nguyên và đặt chỗ nếu có thể vì điều đó sẽ
‫giúp mọi thứ hòa hợp với nhau bên trong cụm của bạn.
‫Ừ.
‫Có vẻ như nó đang chạy trên Docker Swarm. Ngọt.
‫Thạc sĩ điều
‫phối.
‫Được rồi.
‫Nhiều thứ giống nhau.
‫Đồ tốt. Đồ tốt.
‫Bạn đang ràng buộc việc gắn một ổ đĩa. Bạn không gắn kết ràng buộc. Bạn đang sử dụng một tập đã đặt tên.
‫Bạn có những ràng buộc về vị trí ở đây, vì vậy bạn đang đặt nút này trên một nút được mã hóa
‫cứng thành một tên cụ thể. Bạn biết rằng bạn muốn cái này chỉ chạy trên nút đó.
‫Tất nhiên, điểm yếu ở đây là nếu nút đó bị hỏng, nó sẽ không thể đặt nó ở bất kỳ nơi nào khác.
‫Hy vọng rằng bạn đã xem xét điều đó.
‫Được rồi.
‫Master2, vì vậy đó là cách bạn đang làm điều này.
‫Có vẻ như bạn có mã cứng master1, master2 dưới dạng các dịch vụ riêng biệt và master3. Rất nhiều người phải làm theo cách này vì khi
‫bạn có một cụm cơ sở dữ liệu nhiều nút, thường dễ dàng đặt từng cái này
‫làm dịch vụ của riêng họ.
‫Vậy là bạn đã làm được điều đó. Sẽ thật tuyệt nếu chúng ta có thể thực hiện một dịch vụ với ba bản sao.
‫Bạn có thể tìm thấy điều đó với một số ví dụ sử dụng mẫu lái tự động. Nếu bạn tra cứu mẫu IO tự động hoặc nếu bạn chỉ Google công nghệ
‫cơ sở dữ liệu của mình bằng từ autopilot, đôi khi bạn có thể tìm thấy các cấu hình và tập lệnh tự
‫động hóa sẽ giúp bạn thực hiện tất cả trong một dịch vụ.
‫Mỗi cái đều có ưu và nhược điểm.
‫Cá nhân tôi có xu hướng chỉ làm theo cách bạn đang làm.
‫Tôi cảm thấy nó đơn giản hơn mặc dù nó YAML hơn và dài dòng hơn một chút.
‫Một điều bạn có thể làm ở đây.
‫Một cải tiến rất lớn là nếu đây là tất cả các bộ phận giống nhau ở đây.
‫Đúng.
‫Tất cả những thứ tương tự, bạn có thể tạo mẫu, rút ngắn đáng kể tệp này bằng cách chỉ đặt tệp đó vào một
‫khối mẫu.
‫Tôi nói thêm về điều đó trong ...
‫Đây ngay đây, Jacob. Tôi sẽ đưa nó vào trò chuyện.
‫Đây là ba tính năng Docker Compose nâng cao khác nhau mà nhiều người không sử dụng.
‫Một trong số chúng đang được tạo khuôn mẫu.
‫Vì vậy, nếu bạn thấy ví dụ ở đây, bạn có thể ném khuôn mẫu ngay tại đó.
‫Về cơ bản những gì bạn đang nói là đây là những gì
‫tôi muốn trong mẫu và đây là nơi tôi muốn bạn đặt nó, lặp đi lặp lại trong mỗi hình ảnh, hoặc trong mỗi dịch vụ.
‫Vì vậy, rất nhiều nội dung soạn sẵn đó, như bạn có thể tạo mẫu toàn bộ hoặc bạn có thể
‫chỉ tạo mẫu các phần của chúng và có nhiều mẫu và Docker có tài liệu về điều đó.
‫Điều đó sẽ giúp làm cho tệp của bạn nhỏ hơn và chúng tôi gọi nó là tệp khô.
‫Đúng.
‫Làm những việc một lần. Đừng lặp lại chính mình.
‫D R Y
‫Bạn có thể làm điều đó.
‫Điều đó sẽ giúp bạn giảm bớt rất nhiều thứ lặp đi lặp lại này, đặc biệt là
‫xung quanh kiểm tra sức khỏe và công cụ triển khai.
‫Sau đó, bạn đã có các nút dữ liệu của mình. Mọi thứ đều tốt ở đó. Bạn đang sử dụng kiểm tra sức khỏe của mình. Bạn đã
‫thiết lập mạng của mình. Khối lượng của bạn. Hãy để tôi đi qua một số điều này. Bạn khó viết mã cho
‫từng nút. Tôi thực sự ước rằng chúng
‫tôi có một cách để nói rằng nó không chạy ... như đây là một ràng buộc về vị trí.
‫Đừng chạy nó trên một
‫cái mà là nơi những cái khác chạy.
‫Có một số hy vọng cho bạn. Có hai điều bạn có thể làm ở đây. Bạn có thể xem tùy chọn vị trí.
‫Nếu bạn có các nút khác nhau trong các vùng khả dụng và bạn chỉ muốn cơ
‫sở dữ liệu của mình đảm bảo rằng nó có một bản sao trong mỗi vùng khả dụng, chẳng hạn như AWS
‫hoặc thứ gì đó, thì bạn có thể thêm nhãn cho mỗi nút. Sau đó, bạn chỉ cần vào đây và nói rằng tôi muốn bạn phổ biến những thứ này trên nhãn của tôi.
‫Bạn chỉ cần đặt cho nó một nhãn và một tùy chọn vị trí thay vì một ràng buộc, sẽ cho
‫phép nó đặt những cái đó trên các máy chủ khác nhau trong các khu vực khác nhau.
‫Nhưng điều thú vị ở đây là nếu một vùng hoặc một máy chủ gặp sự cố, nó vẫn có thể gán lại vùng đó
‫ở một nơi khác.
‫Bây giờ trường hợp xấu nhất ở đây là hai trong số này đang chạy trên cùng một máy chủ nhưng điều đó
‫có lẽ không quá tệ nếu bạn có thể ... Ý tôi là một điều có thể là dữ liệu lấy dữ liệu
‫từ vùng này qua vùng khác. Khi bạn đã giải quyết được một số vấn đề đó.
‫Ừ.
‫Ừ. Bạn đang nói, vì vậy tôi có thể sử dụng ràng buộc và được phép mất một trong các nút vật lý.
‫Ừ.
‫Vấn đề ở đây là bạn đang làm cho nó trở nên giòn hơn một chút bằng cách gán nó cho
‫các tên máy chủ Node. Bạn phải lên các máy chủ cụ thể đó. Lý tưởng nhất, chẳng hạn như nếu bạn đang ở
‫AWS hoặc một cái gì đó mà bạn có thể để máy chủ của mình tự động tạo.
‫Vì vậy, nếu một máy chủ chết, tất cả sẽ tạo ra một máy chủ mới.
‫Ừ.
‫Nếu bạn đã tính đến tất cả những điều đó, thật tuyệt. Không có gì sai với các ràng buộc về vị trí theo cách này.
‫Nó chỉ có nghĩa là các nút đó phải ở đó hoặc các thùng chứa đó sẽ chết.
‫Điều khác là có một tính năng mới sắp ra mắt vào năm 19. 03 và cách bạn tìm hiểu về các tính năng mới
‫này là nếu bạn truy cập Docker trên github và bạn truy cập các bản phát hành Docker-ce. Tôi sẽ đăng điều này trong cuộc trò chuyện và bạn có thể tìm kiếm
‫các tính năng mới của Swarm. Có một phiên bản tính năng Swarm mới sẽ cho phép bạn chạy các
‫bản sao nhưng hãy nói rằng nó không bao giờ chạy nhiều hơn X trong số các bản sao này trên cùng một nút. Tính năng cực hay và giúp mọi người đảm bảo rằng cơ sở dữ liệu
‫của họ không được gán cho cùng một nút. Bạn có thể muốn kiểm tra điều đó
‫như một cách linh hoạt hơn để đảm bảo chúng không ở trên cùng một ghi chú.
‫Tôi nghĩ nếu tôi cuộn xuống Swarm.
‫Ừ. Đã thêm hỗ trợ cho các bản sao tối đa trên mỗi nút. Đó là một tính năng mới trong 19 sắp tới. 03 bản phát hành hiện đã
‫được phát hành trước, vì vậy chúng ta sẽ thấy điều này trong vòng vài tuần hoặc vài tháng tới.
‫Bạn có thể kiểm tra điều đó.
‫Điều đó có thể giúp bạn giải quyết những hạn chế.
‫Được rồi.
‫Tôi muốn đi trước một chút.
‫Xin lỗi, tôi không thể xem lại tất cả những điều này. Tôi đang di chuyển nó xuống dưới cùng.
‫Bạn có mạng của mình, có thể đính kèm true và proxy.
‫Tất cả có vẻ tốt ở đó.
‫Bạn có âm lượng vì vậy bạn đang sử dụng trình điều khiển âm lượng mặc định, theo cách đó, điều đó có nghĩa là tất cả dữ
‫liệu này bị kẹt trên nút mà nó bật.
‫Nếu bạn có bất kỳ bộ nhớ dùng chung nào, bạn có thể cân nhắc REX-Ray hoặc một trình điều khiển âm lượng khác để bạn có
‫thể lấy bộ nhớ đó ra khỏi đĩa đó. Theo cách đó, khi một trong các nút bị lỗi và nó
‫muốn tạo nó ở một nơi khác, nó sẽ gắn lại khối lượng cơ sở dữ liệu
‫đó trên nút kia.
‫Được rồi.
‫Bạn có thể đã nhìn vào đó. Bạn đã có chứng chỉ traefik. Tôi có thể nói về điều đó một lúc
‫nhưng chúng ta sắp hết thời gian. Tôi sẽ để lại công cụ chứng chỉ
‫giao thông cho một ngày khác. Sau đó, bạn đã có cấu hình và các tệp khác.
‫Điều đó thật tuyệt. Sử dụng tất cả các cấu hình.
‫Như bạn nên làm.
‫Tôi không thấy Bí mật ở đây. Tôi giả định rằng tại một số điểm bạn đang cần Bí mật và
‫bạn có thể cần lưu trữ những điều đó trong Bí mật ở một nơi nào đó. Khác với YAML tuyệt vời đó. Chắc chắn là một trong những cái hay hơn mà tôi đã
‫thấy.
‫Tôi nghĩ rằng có rất ít việc phải làm ở đây.
‫Tôi nghĩ về cách làm cho nó sử dụng tất cả các tính năng hoàn hảo. Khuôn mẫu là một điều. Xem xét các trình điều khiển
‫âm lượng khác nhau và xem xét tính năng mới. Nếu không
‫phải tùy chọn vị trí, thì tính năng mới cho các bản sao tối đa trên mỗi nút.
‫Cảm ơn đã xem.
‫Bạn có thể nhấp vào ĐĂNG KÝ VÀ chuông thông báo để nhận thông báo khi tôi phát trực tiếp để bạn có thể tham gia và
‫đặt câu hỏi cho Devops và Docker của mình.
‫Bạn có thể xem một số video khác của tôi ở đó và bạn có thể làm những gì tôi sắp làm và chỉ cần
‫chợp mắt.