Bài đăng

Đang hiển thị bài đăng từ 2019

NodePort , Load Balancer và Ingess trong kubernetes.

Hình ảnh
Khái niệm NodePort , Load balancer và Ingress hay làm chúng ta lẫn lộn. Để làm rõ vấn đề này bạn cần vững và hiểu các khái niệm sau :  NodePort :  NodePort là dịch vụ cơ bản nhất của Kubernetes để traffic bên ngoài đi vào dịch vụ bên trong.  NodePort được định nghĩa trong file YAML như sau:  apiVersion: v1 kind: Service metadata: name: my-nodeport-service spec: selector: app: my-app type: NodePort ports: - name: http port: 80 targetPort: 80 nodePort: 30036 protocol: TCP NodePort hiện tại của service là : 30036 Loadbalancer:   Loadbalancer sẽ cung cấp 1 single IP address để truy cập vào dịch vụ phía trong:  Ingress: Ingress không phải là kiểu dịch vụ như 2 dịch vụ nói trên,  Ingress giống nginx hơn, nó control domain, subdomain và các sub path phía sau domain: Define 1 ingress như sau:  apiVersion: extensions/v1beta1 kind: Ingress metadata: name: my-ingress spec: backend: serviceName: other

Tổng quan về Clair tool.

Hình ảnh
Clair là một mã nguồn mở dùng để quét các lỗ hổng ( vulnerability ) và là một tool phân tích tĩnh các image container được phát triển bởi CoreOS. Clair lấy thông tin lỗ hỗng từ các nguồn khác nhau và lưu vào cơ sở dữ liệu (database ) Clair xuất API cho các client yêu cầu và thực thi quét lỗ hổng. Điều đó cho thấy Clair là một tool "backend-only" , nó không được tích hợp với "frontend" để quét hay các máy quét lỗ hổng. Có một vài công cụ của bên thứ 3 tích hợp với Clair nhưng quét các image từ terminal như là một phần của việc deploy. Cài đặt Clair Theo link sau : https://github.com/coreos/clair/blob/master/Documentation/running-clair.md Và có thể chạy Theo kiều container. Dưới client ta chạy klar   tool với cấu trúc lệnh như sau: CLAIR_ADDR=<Clair server URL>  klar <image name to be scanned> Ví dụ ta cần scan image : python:3 trên server có cái CLAIR server : CLAIR_ADDR=localhost klar python:3 Nếu Docker image python không có trên

Find Security Bugs với Jenkins, Maven và Sonaqube

Hình ảnh
https://find-sec-bugs.github.io/ Findsecbugs là một plugin cho việc kiểm tra các lỗi bảo mật cho một ứng dụng web chạy Java. Plugin này có thể tích hợp với nhiếu công cụ phát triền khác nhau như : Eclipse , IntelliJ và NetBeans. Ngoài ra nó được dùng trong CI như Jenkins và Sonar. Bài viết này tập  trung vào việc Findsecbugs tích hợp với Maven và Jenkins. I. Cài đặt FindBug plugin trên Jenkins. Manage Jenkins >> Manage Plugin >> Available Select : "FindBug Plug-in" II. Configure Maven: 1. Cấu hình file POM: Trong file pom.xml : [...] < build >     < plugins >                  [...]         <!-- SpotBugs Static Analysis -->         < plugin >             < groupId >com.github.spotbugs</ groupId >             < artifactId >spotbugs-maven-plugin</ artifactId >             < version >3.1.1</ version >             < configuration >                 < effort

Cài đặt kubernetes cluster trên ubuntu.

Hình ảnh
I. Yêu cầu cầu hình server ubuntu trước khi cài đặt kubernetes. Master : 2 GB RAM 2 Cores of CPU Slave /  Node : 1 GB RAM 1 Core of CPU   I.1 Update repository. apt-get update   I.2 Tắt swap: swapoff -a nano /etc/fstab Coment out, để khi server reboot, swap không được khởi tạo. I.3 Update hostname: nano /etc/hostname   I.4 Update file hosts: nano /etc/hosts  I.5 Cài đặt OpenSSH-server: sudo apt-get install openssh-server  I.6 Cài đặt docker: # sudo su # apt-get update # apt-get install -y docker.io Cài đặt repo cho kubernetes : # apt-get update && apt-get install -y apt-transport-https curl # curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - # cat <<EOF >/etc/apt/sources.list.d/kubernetes.list deb http://apt.kubernetes.io/ kubernetes-xenial main EOF # apt-get update  I.7 : Cài đặt kubeadm, Kubelet And Kubectl   # apt-get install -y kubelet kubeadm kubectl Updat

Spring cloud - bootstrapping là gì ? Xây dựng một ứng dụng sử dụng spring cloud cơ bản.

Hình ảnh
I. Khái quát:  Spring cloud là một framework để xây dựng một ứng dụng trên nền tảng đám mây rất mạnh mẽ. Khi chuyển qua môi trường phân tán (distributed env ) các framework thường đối mặt với các vấn đề chung. và framework này cung các các giải pháp để giải quyết những vấn đề đó. Các ứng dụng chạy với kiến trúc microservices thường mong muốn cho việc phát triển, triển khai và bảo trì một cách đơn giản nhất. Việc phân tích, phân thành mảng nhỏ các ứng dụng cho phép lập trình viên tập trung giải quyết một vấn đề trong một thời  điểm. và không ảnh hưởng đến các phần khác của hệ thống. Mặt khác những thử thách khác nhau khi chúng ta tiến tới sử dụng kiến trúc microservices: Những cấu hình bên ngoài là linh động và không cần build lại dịch vụ. Service discovery (dịch vụ quan sát và phát hiện ) Ẩn các dịch vụ phức tạp được deploy lên các host khác nhau.  Trong bài viết này, chúng ta sẽ build 5 microservcie, 1 config server và 1 discovery server, 1 gateway server, 1 book servi