- vừa được xem lúc

Chuyện ansible trên window host

0 0 18

Người đăng: Rice

Theo Viblo Asia

Lại là mình và một bài viết ít hàm lượng kĩ thuật đây ?

Chuyện là mình được giao cho việc thiết kế một cái playbook để install phần mềm con vịt trên một window server. Cái thú vị ở đây là phần mềm con vịt được sử dụng bởi ngân hàng. Theo như manager của mình thì ngân hàng thường sẽ không thích dùng bất cứ server nào để connect cho server core banking system. Vậy nên, chúng ta phải come up với một solution mà có thể chạy trên localhost của window server. ?

Challenges

Mỗi khi gặp việc bế tắc, mình thường ... google. ? . Đầu tiên mình search xem chạy ansible trên window server có được hay không. Và câu trả lời là:

image.png

Nhìn hơi chán xíu xíu. Nhưng mình không bỏ cuộc. Tại mình nghĩ con người ta khi không làm được cái gì đó, người ta thường bị giới hạn và nghĩ rằng nó là không thể. Nếu chạy trên window không được thì mình chạy trên WSL xem sao?

Lại lục đục search thêm một hồi, à à, ansible chạy được trên WSL. Vậy thì configuration nào.

sudo apt-get update sudo apt-get install software-properties-common sudo apt-add-repository ppa:ansible/ansible sudo apt-get update sudo apt-get install ansible

Ok, vậy là có ansible để chơi rồi. Tuy nhiên giờ lại có một câu hỏi bỏ ngỏ: Làm sao để kết nối WSL với window local machine?

Keep digging

Khi chúng ta sử dụng WSL, chúng ta đang có một sub system trên máy tính. Vậy nên khi ta dùng localhost, nó sẽ refer đến cái host của cái system hiện tại. Hiển nhiên là của cái linux system.

image.png

Lại một vòng lọ mò một hồi, mình tìm ra cách "tốt nhất" (mà mình tìm được) để connect với window machine là winrm. Sau khi config xong chúng ta được như sau:

image.png

Thế giờ chắc được rồi ha. Mình nghĩ thế rồi chạy thử thêm lần nữa. Và ồ ... image.png

Ngó xem port có đang mở hay không

image.png

Ờ có mở nè. Vậy vấn đề đến từ IP rồi. Sau một hồi lại lọ mọ thì mình tìm ra được cách để extract ip server:

export hostip=$(cat /etc/resolv.conf | grep nameserver | awk '{ print $2 }')

Giờ thì thử lại nào image.png

Notes

Chạy được thấy ổn ổn rồi ha. Tuy nhiên vẫn còn vài vấn đề lấn cấn trong lòng mình vì: image.png

Tạm thời thì mình vẫn chưa thấy down side của cách này. Nên tính cứ trình lên cho sếp rồi tính sau. ?

Bài hôm nay hơi ngắn nhỉ? Thôi kể thêm cho các bạn câu chuyện cho vui.

Chuyện là ngày còn trong trường, mình nhớ bọn mình cần phải học về state machine. Thật sự thì state machine khá phức tạp, nhiều công thức. Lúc đó lớp mình khá nhiều đứa trượt. Thầy dạy lúc đó khá lớn tuỏi, cũng khá nóng tính. Mình nhớ thầy quát cả lớp là: If you do not want to learn it, then don't. (Chúng mày không muốn thì đừng có học)

Sau khi tốt nghiệp, mình có email cho thầy, gọi là cảm ơn thầy đã giúp đỡ tụi em. Thầy bảo sang năm thầy cũng nghỉ rồi, thầy thấy quý mình vì mình không ca thán nhiều khi học (thực ra không phải không ca ? ). Thầy nói tất cả kiến thức mình học đều đã cũ mấy chục năm, kể cả ông thầy đứng dạy cũng cũ rồi. Khi thầy dạy, thầy không muốn mọi người chỉ học kiến thức, thầy còn muốn mọi người học cách bổ sung kiến thức mới khi còn trên ghế nhà trường.

Mình nghĩ cái email đó ảnh hưởng tới mình khá nhiều. Từ đó mỗi khi gặp vấn đề không-thể-giải-quyết, mình thường ... không tin lời người khác nói. Luôn cố gắng tự tìm kiến thức (dù đôi lúc hơi ngu). Vì mình nghĩ kiến thức là vô hạn, nó cập nhật từng ngày mà.

Ví như hôm qua bitcoin, hôm nay ai ai cũng chơi eth, ngày mai rất có thể là cardano. ?

Thế nhé. Chúc các bạn một tuần vui vẻ.

Somewhere, xx-xx-20xx

Rice

Bình luận

Bài viết tương tự

- vừa được xem lúc

Đề thi interview DevOps ở Châu Âu

Well. Chào mọi người, mình là Rice - một DevOps Engineers ở đâu đó tại Châu Âu.

0 0 65

- vừa được xem lúc

In calculus, love also means zero.

Mình nhớ hồi năm 2 đại học, thầy giáo môn calculus, trong một giây phút ngẫu hứng, đã đưa ra cái definition này. Lúc đấy mình cũng không nghĩ gì nhiều.

0 0 51

- vừa được xem lúc

Chuyện thay đổi

Thay đổi là một thứ gì đó luôn luôn đáng sợ. Cách đây vài tháng mình có duyên đi làm cho một banking solution tên là X.

0 0 30

- vừa được xem lúc

Pet vs Cattle - Thú cưng và gia súc

Khái niệm. Pets vs Cattle là một khái niệm cơ bản của DevOps. Bài viết này sẽ nói về sự phát triển của các mô hình dịch vụ từ cốt lõi Pets and Cattle. 1.

0 0 22

- vừa được xem lúc

Git workflow được Google và Facebook sử dụng có gì hay ho

Với developer thì Git hẳn là công cụ rất quen thuộc và không thể thiếu rồi. Thế nhưng có mấy ai thực sự hiểu được Git.

0 0 66

- vừa được xem lúc

Kubernetes - Học cách sử dụng Kubernetes Namespace cơ bản

Namespace trong Kubernetes là gì. Tại sao nên sử dụng namespace.

0 0 96