thảo luận Code trên Mac với Win cái nào sướng hơn?

  • Người tạo chủ đề Người tạo chủ đề bamboo.bamboo
  • Ngày bắt đầu Ngày bắt đầu
Thôi tôi xin thua, tôi dám chắc bạn còn ko hiểu cái kia viết cái gì

  • Containers can communicate with all other containers without NAT. --> Cùng lớp mạng thì cần éo gì NAT, nếu container khác lớp thì virtual routing qua iptables, chẳng thằng nào đi cấp 1 nhóm service chạy khác pod
  • Nodes can communicate with all containers without NAT, and vice-versa. --> Từ chính node ket nối tới container cần éo gì NAT, chung 1 host interface đấu nối tẹt ga thì NAT chỗ nào
  • The IP that a container sees itself as is the same IP that others see it as. --> Có hệ thống nào mà để container cấp IP trùng nhau trên các Pod
Bạn ko hiểu về mạng, nhưng lại dốt bền Mục thứ 4 còn thiếu nó ko nói, để tôi nói cho nhé
Internet IP kết nối tới container phải thông qua NAT
Internet -(Routing)- >Node -(NAT)-container
Node -(direct inteface, tap bridge )-> container (local C class traffic same host, same node, same pod)
Node -(direct inteface, virtual routing --VXLAN)-> container (local C traffic cross CIDR, cross node, cross pod)
Mà tôi nghĩ bạn cũng ko hiểu mấy cái trên nên thôi tôi stop ở đây, thời gian éo đâu đi giải thích

https://kubernetes.io/docs/concepts/cluster-administration/networking/
cni-ipvlan-vpc-k8s
cni-ipvlan-vpc-k8s contains a set of CNI and IPAM plugins to provide a simple, host-local, low latency, high throughput, and compliant networking stack for Kubernetes within Amazon Virtual Private Cloud (VPC) environments by making use of Amazon Elastic Network Interfaces (ENI) and binding AWS-managed IPs into Pods using the Linux kernel's IPvlan driver in L2 mode.
bạn cứ lấy một implementation ra để đánh giá toàn bộ thì nói làm gì, đây nhé, 1 pod (đơn vị của k8s) mà có thể access network interface ở level 2 thì ỉa vào mấy cái NAT của bạn nhé
 
https://kubernetes.io/docs/concepts/cluster-administration/networking/

bạn cứ lấy một implementation ra để đánh giá toàn bộ thì nói làm gì, đây nhé, 1 pod (đơn vị của k8s) mà có thể access network interface ở level 2 thì ỉa vào mấy cái NAT của bạn nhé
Nói thật là bạn ngu vãi kẹc. ngu mà lì nữa, chỉ biết search google nói chuyện với mình, nhàm chán vãi hàng. Network nào access mà ko có level 2. có level 2 nói lên gì vậy
 
IPvlan

Sory vì chửi quá lời, nhưng nói chung chán rồi.

tôi không phải Network Engineer như thím đâu nhưng cứ đọc cái spec của CNI đi, bản thân nó không quy định network phải hoạt động như thế nào, chỉ quy định network interface dành cho container phải như thế nào thôi, còn hiện thực network như thế nào là do người setup cái cluster k8s, thím cứ lôi lý do đâu đâu vào rồi bảo không đạt performance này nọ nghe buồn cười thật, cả cái spec chả có chỗ nào bắt buộc phải dùng NAT hay không NAT mà phát biểu câu xanh rờn
 
:D

Toàn các bác lão làng, bèo bèo cũng gần 40 tuổi, nói chuyện kiềm chế lại nào các bác :D
tranh luận thì nên có tí máu nó mới vui... nhưng mà nếu rảnh thì cứ lội lại thread coi, mấy anh kia hầu như post nào cũng văng cứt văng đái, đéo đắt lung tung, công kích cá nhân, hạ thấp người khác...

???

không hiểu sao cách nói chuyện của tôi lại là trẻ trâu trong mắt họ???

lạ...
 
Dev thì núp sau màn hình nhiều. Nói chuyện với người bt thì ko khoe kiến thức kinh hoàng của mình đc, nên lên voz ẩn danh là ngon o_O.
Ông precost bữa cũng ăn rổ gạch vụ miền tây :extreme_sexy_girl:
 
cứt đái đéo xíu không phải là trẻ trâu, mà là cách tranh luận, cách anh bày tỏ quan điểm.

cơ mà có vẻ là do tôi ấn tượng xấu từ trước (cái voz cũ dẹo liên tục bất kể ddos hay không, next voz thì đúng là...) cho nên ngay từ đầu tôi đã đíu tôn trọng bạn mod vào xạo l`n rồi, cái này thì tôi đíu khắc phục đâu, thích thì mod ban nick luôn, chứ không cứ xl là tôi ỉa lên đầu, nhé :)
 
>assume rằng cái môi trường deploy nó sẽ như thế nào
ỉa vào mod rồi đi ra.

hoá ra tôi còn đéo được quyền chọn cái droplet rồi bấm deploy trong mấy trang như vultr hay digitalocean. thật là tuyệt vọng.
thế tôi đéo được quyền làm devops à anh nói buồn cười vãi. đùa chứ tôi làm startup mấy năm việc đéo gì cũng đến tay, tài nguyên chỉ có mấy con vsp ghẻ, gặp mấy bạn xa xỉ có devops riêng, có k8s deploy cả chục máy cảm giác tủi thân vkl.

mà dm các bạn nói thẳng luôn là "tôi chỉ làm crud app, chỉ cần dùng mấy cái LAMP stack hay MERN stack là đủ, thậm chí là chơi microservice/lamdba hết cho nên docker hay k8s với tôi là đủ, hơn nữa tôi tiền nhiều như núi dùng SaaS hết đíu phải lo nghĩ nhiều" thì có phải là hết chuyện luôn không cần gì phải thảo luận nữa.

mà tôi đéo hiểu lắm, các bạn bị mù chữ hay sao mà không thấy là docker nó cũng là linux image? bởi vì các bạn nhu cầu đéo đến thôi chứ thực ra cũng có khác gì các bạn dùng linux để dev đâu? đíu có nhu cầu thì không sao chứ nếu nhu cầu phức tạp (như tôi nói ở trên) thì tôi bảo là nên dùng linux thôi.

mà thôi tôi cũng lười nói tiếp, ở đây tôi thấy các bạn hầu như toàn làm project lớn nhiều tiền, đíu thấy thằng nào làm toy projects bao giờ, nói chuyện chắc là không hợp.

thôi tôi ít kinh nghiệm deploy, trình độ backend lùn thì lặn đây, các bạn cứ tiếp tục chia sẻ kiến thức tiếp đi :)
đùa chứ đọc thread mà cười ỉa. các bạn dùng docker container thì cũng là do thằng khác viết configuration script thôi, cái này thì là convention over configuration, bình thường không làm gì đặc biệt thì đíu sao, đến lúc làm cái gì đặc biệt thì vẫn phải tự thân vận động thôi, tôi thì đéo tin là docker là silver bullet, làm cái gì cũng được, cơ mà to each his own, các bạn toàn pro tôi thiếu kiến thức cho nên chắc là tôi sai :-j

nhân tiện thì đéo liên quan lắm, cơ mà gần đây tôi làm cái trang convert từ trung sang việt kia, có một phần khá khốn nạn là phải crawl nội dung liên tục từ một site đánh giá truyện bên tàu để lấy thông tin truyện hay nhất, trang đó số lượng page cần crawl cũng không nhiều, chỉ khoảng 200k pages thôi, cơ mà nó chống bot rất bựa, 100 hits là nó blacklist luôn vài tiếng (các bạn đừng vội thể hiện trình độ viết bot thoả mãn robots.txt, trang này nó đíu có đâu, block trực tiếp trên nginx luôn), cơ mà dù nó không block thì cũng bản thân nó cũng chậm vãi cứt, một giây serve được tầm 10 request là cùng. Cho nên cuối cùng tôi dùng proxy (lượm free tầm 10k cái, cơ mà chất lượng cũng như l`), ném cái script lên server dùng systemd timer cho nó chạy tầm 6h/lần, rồi khi nào cần thì rsync đống dữ liệu về máy bàn xử lý tiếp. Trường hợp như thế này tôi không hiểu dùng docker hay k8s nó có phép màu gì giúp tôi rút ngắn được thời gian crawl site (funny face).

Hoặc tôi có các use case khác như dùng puppeteer phải cài headless chrome, cũng không rõ docker giải quyết được vấn đề gì cho vụ này.... à mà thôi đéo lừa các bạn nữa, tôi biết là đọc dòng này các bạn sẽ lôi một đống container ra thể hiện, ví dụ cái này: https://github.com/buildkite/docker-puppeteer là kết quả đầu tiên từ google search, tiếp đó bị tôi cười vào mặt vì các bạn đéo biết cái l`n gì, cơ mà thế thì lại rỗi việc quá.

Cho nên để tôi nói luôn là cái headless chrome muốn chạy được trên server thì trên server phải cài xserver (cái này là backend cho graphic interface dùng cho desktop, cơ mà muốn chrome chạy dc dù ở chế độ headless thì vẫn phải cài), aka cái container ví dụ ở trên nó sẽ đíu chạy, vì tôi chả thấy có dòng vẹo nào cài thư viện của xserver ở đây:
Mã:
RUN  apt-get update \
     && apt-get install -y wget gnupg ca-certificates \
     && wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \
     && sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' \
     && apt-get update \
     # We install Chrome to get all the OS level dependencies, but Chrome itself
     # is not actually used as it's packaged in the node puppeteer library.
     # Alternatively, we could could include the entire dep list ourselves
     # (https://github.com/puppeteer/puppeteer/blob/master/docs/troubleshooting.md#chrome-headless-doesnt-launch-on-unix)
     # but that seems too easy to get out of date.
     && apt-get install -y google-chrome-stable \
     && rm -rf /var/lib/apt/lists/* \
     && wget --quiet https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh -O /usr/sbin/wait-for-it.sh \
     && chmod +x /usr/sbin/wait-for-it.sh

cái kết quả bên dưới mới có vẻ đúng (có vẻ thôi vì tôi chưa test):
https://github.com/alekzonder/docker-puppeteer
Mã:
RUN apt-get update && \
apt-get install -yq gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 \
libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 \
libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 \
libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 \
fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst ttf-freefont \
ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget && \
wget https://github.com/Yelp/dumb-init/releases/download/v1.2.1/dumb-init_1.2.1_amd64.deb && \
dpkg -i dumb-init_*.deb && rm -f dumb-init_*.deb && \
apt-get clean && apt-get autoremove -y && rm -rf /var/lib/apt/lists/*

nói các khác là bạn đíu nghịch thử trong máy thì có giời mới biết là phải dùng cái nào mới chuẩn.... tất nhiên có khi đấy là tôi trình độ lùn không có kinh nghiệm về ops, các bạn nhiều kinh nghiệm có khi nhìn một cái biết ngay.

lại nói có rất nhiều thư viện thực ra là gọi process bên ngoài, hoặc là dùng shared library, đều phải tự viết custom dockerfile, mà tới bước này thì chả khác kẹc gì các bạn tự viết shell script để setup, có khác chắc là docker nó isolation + persistent, chứ command + knowledge vẫn tương tự..... tất nhiên đây là cái nhìn thiển cận của tôi do tôi không có hiểu biết về devops, các bạn pro tay gõ brew trong đầu dịch ra apt-get, dùng bash 3.2 (2006) tự tin là nó tương thích tuyệt đối với bash 5.0 (2019) thì tất nhiên là tôi không thể bằng được :s
tôi muốn chú trọng vấn đề ở đây là kinh nghiệm, dùng linux desktop đúng là khó chịu hơn thật (tôi giờ dùng windows + wsl1), nhưng bởi vì nó đều là linux, bạn gặp vấn đề gì ở client thì server cũng gặp vấn đề tương tự và ngược lại.... bản chất mấy cái dockerfile cũng là configuration, cũng là shell command thôi, người quen thuộc với người không quen nó đã khác hẳn. ờ cái câu "tất nhiên nếu các bạn không gặp vấn đề về server bao giờ thì có thể bỏ qua" hi vọng tôi không phải lặp lại lần thứ 4. mỗi người một nhu cầu, tại sao các bạn cứ nghĩ như mấy cái server chỉ có nhiệm vụ duy nhất là host mấy cái webapp của các bạn nhỉ?

p/s: voz không ignore dc mod nhỉ, nói ngu như lợn.
Không biết bạn đang đá đểu ai , ko có hệ thống nào phù hợp hết cho nhu cầu, ông kia nói 10% ko được thì nó là không được, tại sao lại 10% còn lại ko theo docker luôn nghe thật hài hước. Minh thấy bạn comment như thằng trẽ trâu vậy. Nói thiệt là minh sinh hoạt VOZ này lâu rồi, ngày xưa còn là mod voz cũ, qua đây chưa do giới trẽ làm, nhưng phong cách nói chuyện kỹ thuật của bạn trẽ trâu thật đấy.. Ko hợp trao đổi thêm
Cái ansible hay teraform của bạn từ hồi cach đây 10 năm khi chưa có bọn này, luc đó toi ôm vài trăm con máy chủ game của VNG thi đã code cái này để tự xài rồi, nên nó cũng ko có gì cao siêu lắm đâu. Giờ hàng ăn sẵn nhiều rồi, nên người ta có tâm lí thay đổi thì phải
> quay trở lại vấn đề của anh kia, rõ ràng là anh kia thiếu kinh nghiệm trong việc sử dụng docker, cái ấy chắc không sai, các ví dụ của anh ta nêu ra đều xử lý được bằng docker, thậm chí là xử lý tốt bằng docker (và các công nghệ liên quan) đặc biệt là cái use case quét thông tin về sách truyện gì đó... rõ ràng thằng server nó limit request từ một IP mà anh ta lại giải quyết bằng cách hẹn giờ MỘT IP 6h quét một lần thì...

đến chữ proxy cũng không đọc được thì các bạn biết trình của mod voz thế nào rồi đấy :) công nhận là tấu hài.
cơ mà tôi cũng biết là bạn mod đếch phải là dev cho nên có nhiều cái liên quan tới dev bạn ấy không rõ, cơ mà nếu không biết thì phát biểu dè dặt thôi đằng này...
Mình liệt kê ra đây, ví dụ chương trình firewall thì cần các thao tác trực tiếp với card mạng
- XDP
- eBPF
- TCPDUMP
Hoặc đơn giản hơn là một vài chức năng liên quan tới interface của vật lí như IRQ và Interupt, TX,RX Queue, các tham số offload phần mềm mình viết cần thao tác trực tiếp trên đó thì phải chạy trực tiếp hoặc VPS qua Intel VT-D , nhưng cái này không thể control qua docker hay bất cứ container được vì không có quyền.
Đa số docker mọi người thấy nó tiện vì nó chay duoc DB, Webservice ok, nhiều instance trên 1 con máy chủ, thay vì phải built từ source nếu muốn chay nhiều cái postgres hay mysql, mình công nhận cái đó, nếu chạy cái đó thôi thì docker là sự lựa chon sáng suốt cho dev vì khỏi phải lo môi trường dev rồi. Vấn đề là ứng dụng trên linux không phải cái nào cũng chạy level cao, có cái chạy cấp thấp cần nhiều đặc quyền thì nó ko đáp ứng về kiến trúc


Xem các logic một cái thì nói lauching thêm, một cái thì nói là tôi dùng sai mục đích, tôi làm gì dùng docker cho cái việc tôi đang làm, nó vốn ko phù hợp ngay từ đâu, người làm system tự đánh giá được qua architech của nó, éo cần thử tôi đã chê rồi, tôi nói thử là thử trên google cloud VPS chứ docker lúc nào, sao bạn lại nhét chữ vào rồi nói tôi ko biết dùng vậy nhỉ.

Nói thật nhé, trình độ của bạn chỉ là một cu gõ lóc cốc, ôm duoc vài cái git trên mạng , chạy duoc mấy cái docker, deploy mấy cái web service ra , như con ếch ngồi dưới giếng vậy chưa đủ trình đâu, còn học dài dài. Thật hài hước khi phát biểu rằng để tăng tải thì phải scale theo chiều ngang cho nó nhiều instance để giải quyết vấn đề, một người loanh quanh làm mấy cái ứng dụng web ok thì suy nghĩ của bạn nó đơn giản vl. Vậy cho mình hỏi nếu chạy 1 ứng dụng mà Có 1 bảng conntrack, một bản cache LRU trong memory. Vậy mô hình docker của bạn tăng thêm nhiều instance trên một node thì giải quyết duoc vấn đề gì về performance , share resource cho nhau thế nào?, nếu tăng thêm cả node vật lý nữa thì làm thế nào để chia sẽ conntrack với nhau, chắc bạn viết mấy cái micro service share cái này à, hay viết vài cái api share luôn cái LRU cache. Bạn lấy ví dụ FB ra nói nó chạy docker đầy ra rồi cho rằng FB toàn microservice mà ko có monolithic thì thật thiển cận.
Với model caliso nếu muốn ko bị chết ngay iptables thì phải đấu nối từ calixx (tap interface) vào ethx qua virtual sw (ví dụ openvswitch , linux bridge , hoặc open Flow chỉ layer 2). Nếu có acl thì là ebtables layer 2 (MAC-physical PORT trên switch ảo), chỉ có MAC ko có IP. Mô hình này gọi là flatnet, phần route sẽ nằm ngoài. C1,C2, firewall layer 3 cũng nằm ngoài C1,C2 ... sử dụng IP public có thể hiểu được từ bên ngoài internet, ko thể sử dụng ip lớp C. Và hiện tại K8S hoàn toàn ko có áp dụng mô hình này, căng lắm là float IP, tức là DNAT, bỏ routing đi, giá rẽ, moi ông một micro service, scale hang trăm theo Y , ip public éo nào chịu cho thấu. Cỏn nếu đã dùng flatnet thì xài container làm gì nữa, người ta xài VPS mẹ rồi.

Chậm hiểu vãi
Nói thật là bạn ngu vãi kẹc. ngu mà lì nữa, chỉ biết search google nói chuyện với mình, nhàm chán vãi hàng. Network nào access mà ko có level 2. có level 2 nói lên gì vậy
mời các anh... tôi trẻ trâu không biết nói gì nên copy lại lời hay ý đẹp của các anh thôi...
 
cơ mà tới giờ tôi vẫn không hiểu tại sao dev lại không được chọn môi trường deploy (đấy là không nói vụ chọn môi trường deploy rồi thì chọn cái distro desktop cho phù hợp, cơ mà cái này không ai ép)

đầu tiên thì mấy thằng như vultr, digitalocean hay linode sống rất khoẻ, đủ để chứng tỏ việc người ta dùng vps là còn rất nhiều, mà mấy trang này vps các bạn tuỳ ý chọn (thực ra thì aws ec2 cũng vậy cả nhưng aws có cả núi service nói ra lằng nhằng phí thời gian). Dù là không dùng mấy thằng này mà dùng mấy cái dịch vụ cổ lỗ sĩ hơn (kiểu mấy thằng provider vn) lúc mua dịch vụ nó cũng hỏi là bạn muốn dùng os nào distro nào version bao nhiêu, chứ có phải là nó tạo bừa một cái nhét cho bạn bắt bạn xài đâu... đấy là không nói đến đống dedicated server hoặc home server... thế giới rộng lớn bỏ mẹ ngoài use case của các bạn ra thì người khác cũng có use case riêng của người ta, cứ đòi phải docker với k8s cho bằng được là thế nào?

kiểu như cái ví dụ viết script crawl dùng proxy của tôi (nói đến lại hài, tôi đã bảo là script của tôi dùng 10k cái proxy rồi mà anh mod vẫn khăng khăng chỉ 1 cái ip), vấn đề chủ yếu của nó là script cần chạy lâu + chạy định kỳ cho nên tôi chỉ đơn giản vứt lên server + viết cái systemd service/timer là đủ, mà anh ấy vẫn cố đấm ăn xôi bắt tôi phải dùng docker cho bằng được, mặc dù chả có tý gain nào (trừ trường hợp dùng docker + k8s deploy spam ra vài nghìn cái node để lấy vài nghìn cái unique IP, cơ mà trường hợp đó chắc chỉ giàu như bạn _gâu mới làm được, tôi nghèo rách khong dám đú)

p/s: nói 10k cái proxy thôi nhưng lúc chạy thật thì đã chết gần hết chỉ còn chưa tới nghìn cái hoạt động, buồn vkl, cơ mà của free cho nên tôi cũng không phàn nàn.
 
kiểu như cái ví dụ viết script crawl dùng proxy của tôi (nói đến lại hài, tôi đã bảo là script của tôi dùng 10k cái proxy rồi mà anh mod vẫn khăng khăng chỉ 1 cái ip), vấn đề chủ yếu của nó là script cần chạy lâu + chạy định kỳ cho nên tôi chỉ đơn giản vứt lên server + viết cái systemd service/timer là đủ, mà anh ấy vẫn cố đấm ăn xôi bắt tôi phải dùng docker cho bằng được, mặc dù chả có tý gain nào (trừ trường hợp dùng docker + k8s deploy spam ra vài nghìn cái node để lấy vài nghìn cái unique IP, cơ mà trường hợp đó chắc chỉ giàu như bạn _gâu mới làm được, tôi nghèo rách khong dám đú)

lại nhét chữ vào mồm tôi rồi, hay là không hiểu tôi nói gì xong suy diễn ra như thế :(
 
lại nhét chữ vào mồm tôi rồi, hay là không hiểu tôi nói gì xong suy diễn ra như thế :(
à tôi nói vui thế thôi, anh thấy không thích thì tôi xoá dòng đó đi? anh có thể suggest bạn nào đó giàu có thích dùng k8s để tôi thêm vào cho hình tượng :">
 
mời các anh... tôi trẻ trâu không biết nói gì nên copy lại lời hay ý đẹp của các anh thôi...
Tôi cũng chướng mặt nhiều anh trong cái box này lắm. Tranh luận toàn anecdotal đem mấy từ lạ lạ ra lòe newbie :doubt:. Benchmark thì đéo thấy đâu toàn nói chuyện xáo rỗng, hết chê tech này rồi đến tech kia. Tôi là dev nên lạ gì các anh dev nữa, công nghệ thì toàn trên trời nhưng traffic của các anh thì utilize chắc 1% cpu là cùng, lâu lâu code ngu éo thèm profile rồi đem 1 đống tech trên trời xuống để build resume 🤭 . Thằng nào mở mồm văng tục lăng mạ người khác mod cứ cho nó ra đảo 1 tuần cho sạch box (nhất là mấy anh diện lý do "tranh luận" rồi có dịp là cắn người ta ngay, không biết đi làm mấy anh có dám tranh luận văn minh như vậy với đồng nghiệp không nữa) :(
 

Thống kê chủ đề

Ngày tạo
bamboo.bamboo,
Người trả lời cuối
2TbP,
Trả lời
597
Lượt xem
77.869
Quay lại
Lên đầu trang