Pada tutorial kali ini kita akan membuat supaya aplikasi python yang menggunakan framework Flask yang kita buat bisa di deploy dengan mudah di platform Kubernetes.
Dicontohkan disini, kita akan membuat sebuah image container dengan nama flask-image.
Langkah pertama, buat sebuah file yaml untuk Kubernetes dengan nama flask.yaml
apiVersion: apps/v1 kind: Deployment metadata: name: flask-deployment spec: selector: matchLabels: app: flask replicas: 1 template: metadata: labels: app: flask spec: containers: - name: flask image: flask-image ports: - containerPort: 80 --- apiVersion: v1 kind: Service metadata: name: flask-service spec: ports: - port: 80 targetPort: 80 name: http selector: app: flask
pada file deployment tersebut, kita tentukan ada beberapa bagian. Misal untuk bagian deployment, pods, services dll.
untuk langkah selanjutnya, kita deploy aplikasi tersebut di Kubernetes:
kubectl apply -f flask.yaml
pastikan kita mendapatkan konfirmasi created seperti ini:
Outputservice/flask-service created
deployment.apps/flask-deployment created
bisa juga dicek apakah service container yang didesain sudah ada:
kubectl get svc flask-service
contoh hasilnya:
OutputNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE flask-service ClusterIP 172.21.9.680/TCP 60s
langkah selanjutnya kita perlu sebuah ingress NGINX. buat saja sebuah file baru dengan nama nginx-ingress.yaml:
apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata: name: flask-ingress annotations: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/backend-protocol: "HTTP" spec: rules: - host: foo.example.com http: paths: backend: serviceName: flask-service servicePort: http
lalu apply dengan kubectl
kubectl apply -f nginx-ingress.yaml
Selamat mencoba!
0 comments:
Post a Comment