Как использовать открытую сервисную сетку в Kubernetes?

Я пытаюсь протестировать открытую сервисную сетку для нашего приложения.

В serverfault нет тегов для сервисной сетки, сервисной сетки, osm или открытой сервисной сетки и т. д. Поэтому я оставил istio в качестве тега serverfault для этого вопроса, поскольку это также аналогичный продукт сервисной сетки.

Итак, установил osm cli на свой ноутбук по этой ссылке .

В моем kubernetes (minikube) установил osm, используя:

      osm install

Это установило osm в пространство имен osm-system.

капсулы осм

Затем установил предоставленный ими образец приложения, используя их документацию.

Приложение их книжного магазина работает нормально.

Мой spec.traffic.enablePermissiveTrafficPolicyMode по-прежнему имеет значение true, поэтому никаких правил не требуется, и по умолчанию весь трафик должен быть разрешен.

Итак, для тестирования я попробовал контейнеры mondo-express и mongo.

      apiVersion: v1
kind: ConfigMap
metadata:
  name: mongodb-configmap
  namespace: mongosample
data:
  database_url:  mongodb-service
---
apiVersion: v1
kind: Namespace
metadata:
  name: mongosample
---
apiVersion: v1
kind: Secret
metadata:
  name: mongodb-secret
  namespace: mongosample
type: Opaque
data:
  mongo-root-username:  dXNlcm5hbWU=
  mongo-root-password:  cGFzc3dvcmQ=


##echo -n 'username' | base64
##echo -n 'password' | base64
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: mongo-express
  namespace: mongosample
  labels:
    app: mongo-express
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mongo-express
  template:
    metadata:
      labels:
        app: mongo-express
    spec:
      imagePullSecrets:
        - name: dockerhub-secret
      containers:
        - name: mongo-express
          image: mongo-express:latest
          ports:
          - containerPort: 8081
          env:
          - name: ME_CONFIG_MONGODB_ADMINUSERNAME
            valueFrom:
              secretKeyRef:
                name: mongodb-secret
                key: mongo-root-username
          - name: ME_CONFIG_MONGODB_ADMINPASSWORD
            valueFrom:
              secretKeyRef:
                name: mongodb-secret
                key: mongo-root-password
          - name: ME_CONFIG_MONGODB_SERVER
            valueFrom:
              configMapKeyRef:
                name: mongodb-configmap
                key: database_url
---
apiVersion: v1
kind: Service
metadata:
  namespace: mongosample
  name: mongodb-express-service
spec:
  selector:
    app: mongo-express
  type: ClusterIP
  ports:
    - protocol: TCP
      port: 8081
      targetPort: 8081
      #nodePort: 30000
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: mongodb-deployment
  namespace: mongosample
  labels:
    app: mongodb
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mongodb
  template:
    metadata:
      labels:
        app: mongodb
    spec:
      imagePullSecrets:
        - name: dockerhub-secret
      containers:
        - name: mongodb
          image: mongo:latest
          ports:
          - containerPort: 27017
          env:
          - name: MONGO_INITDB_ROOT_USERNAME
            valueFrom:
              secretKeyRef:
                name: mongodb-secret
                key: mongo-root-username
          - name: MONGO_INITDB_ROOT_PASSWORD
            valueFrom:
              secretKeyRef:
                name: mongodb-secret
                key: mongo-root-password
---
apiVersion: v1
kind: Service
metadata:
  namespace: mongosample
  name: mongodb-service
spec:
  selector:
    app: mongodb
  ports:
    - protocol: TCP
      port: 27017
      targetPort: 27017

И без osm работает нормально.

нет модулей OSM

Итак, включите osm для этого пространства имен mongosample, используя:

      osm namespace add mongosample

После включения и перезапуска модулей:

модули с поддержкой OSM

И ошибка в журналах mongo-express

ошибка в монго-экспрессе

Если я удалю сервисную сетку в это пространство имен, все будет работать нормально.

      osm namespace remove mongosample

Подскажите, пожалуйста, как это исправить?

0 ответов

Другие вопросы по тегам