MinIO+Vault+Kaniko+KrakenD+Istio
October 22, 2022
MinIO install
MinIO - это высокопроизводительное хранилище, работающее на основе S3 протокола и использующее в качестве хранилища локальный каталог на одной из воркер нод k8s.
mkdir minio && cd minio
curl https://raw.githubusercontent.com/minio/docs/master/source/extra/examples/minio-dev.yaml -O
vi minio-dev.yaml
В блоке установим свой nodeSelector и tolerations:
nodeSelector:
cam: minio
tolerations:
- key: cam
value: minio
operator: Equal
effect: NoScheduleПовесим соответствующий label/taint на ноду или ноды, где будет создано хранилище: kubectl label no <node_name> cam=minio kubectl taint no <node_name> cam=minio:NoSchedule
kubectl apply -f minio-dev.yaml kubectl get po -n minio-dev
Доступ к дашборду minio
# Доступ к поду с помощью port-forward kubectl port-forward pod/minio 9000 9090 -n minio-dev Для захода на страницу управления в браузере вбиваем: http://127.0.0.1:9090 login/password: minioadmin/minioadmin Попадаем в консоль управления MinIO.
kubectl get po --show-labels NAME READY STATUS RESTARTS AGE LABELS minio 1/1 Running 0 22h app.kubernetes.io/name=minio,app=minio
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Service
metadata:
name: minio
namespace: minio-dev
spec:
type: NodePort
selector:
app: minio
ports:
- port: 9000
name: minio
targetPort: 9090
EOFcat <<EOF | kubectl apply -f -
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: minio
namespace: minio-dev
annotations:
kubernetes.io/ingress.class: "nginx"
spec:
rules:
- host: minio.prod.cameda1.tk
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: minio
port:
number: 9090
EOFcat <<EOF | kubectl apply -f -
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: minio
namespace: minio-dev
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
email: cameda4@yandex.ru
privateKeySecretRef:
name: minio
solvers:
- http01:
ingress:
class: nginx
EOFcat <<EOF | kubectl apply -f -
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: minio
namespace: minio-dev
annotations:
kubernetes.io/ingress.class: "nginx"
cert-manager.io/cluster-issuer: "minio"
spec:
tls:
- hosts:
- minio.prod.cameda1.tk
secretName: minio
rules:
- host: minio.prod.cameda1.tk
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: minio
port:
number: 9090
EOFПолезные ссылки.
Установка: https://min.io/docs/minio/kubernetes/upstream/index.html
Про MinIO: https://min.io/docs/minio/kubernetes/upstream/administration/object-management/object-retention.html#minio-object-retention
October 22, 2022, 10:08
0 views
0 reposts