小编Jér*_*eau的帖子

使用现有持久性卷声明部署 bitnami/mysql helm 图表

我正在尝试在我的minikube中部署bitnami/mysql图表。我正在使用 Kubernetes v1.19、Minikube v1.17.1 和Helm 3

我创建了 PVC 和 PV,如下所示:

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: mysql-pvc
spec:
  storageClassName: standard
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 3Gi
  selector:
    matchLabels:
      id: mysql-pv
----
kind: PersistentVolume
apiVersion: v1
metadata:
  name: mysql-pv
  labels:
    type: local
    id: mysql-pv
spec:
  storageClassName: standard
  capacity:
    storage: 8Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: /var/lib/mysql
Run Code Online (Sandbox Code Playgroud)

/var/lib/mysql我通过以下方式创建了目录sudo mkdir -p /var/lib/mysql 这就是我创建 PVC 和 PC 的方式:

kubectl apply -f mysql-pv-dev.yaml
kubectl apply -f mysql-pvc-dev.yaml
Run Code Online (Sandbox Code Playgroud)

这似乎有效: …

mysql bitnami kubernetes minikube kubernetes-helm

11
推荐指数
1
解决办法
3724
查看次数

在多节点EKS集群中部署Ingress Nginx控制器ELB

我目前正在尝试在我的 AWS eks 集群上部署 NGINX Ingress Controller。我有 4 个节点正在运行:

NAME                            STATUS   ROLES    AGE     VERSION
ip-10-230-35-48.ec2.internal    Ready    <none>   7h44m   v1.19.6-eks-49a6c0
ip-10-230-39-9.ec2.internal     Ready    <none>   7h42m   v1.19.6-eks-49a6c0
ip-10-230-42-241.ec2.internal   Ready    <none>   7h49m   v1.19.6-eks-49a6c0
ip-10-230-49-228.ec2.internal   Ready    <none>   7h46m   v1.19.6-eks-49a6c0
Run Code Online (Sandbox Code Playgroud)

我正在ingress-nginx-controller使用NGINX Ingress Controller 安装指南并使用deploy-tls-termination.yaml来部署我的

由于某些原因,AWSELB没有将所有节点标记为健康并给出以下错误:

Instance has failed at least the UnhealthyThreshold number of health checks consecutively.
Run Code Online (Sandbox Code Playgroud)

唯一标记为健康的节点是部署的节点ingress-nginx-controller在此输入图像描述

我的 yaml 配置文件中是否缺少某些内容?或者我应该为每个部署ingress-nginx-controller一个Availibity Zone?如果是这样,怎么办?

谢谢

amazon-elb kubernetes kubernetes-ingress amazon-eks nginx-ingress

6
推荐指数
1
解决办法
3679
查看次数

Nginx 上游不适用于 docker 部署堆栈

我正在尝试使用 docker 部署堆栈。

这是我的堆栈的工作原理:

  • nginx-proxy(将用户请求重定向到好的容器)
  • 网站(简单的 nginx 服务网站)
  • api(django 应用程序,使用 gunicorn 启动)
  • nginx-api(提供静态文件和上传的文件,如果是端点,则重定向到 API 容器)

这是我的 docker-compose.yml:

version: '3.2'

services:
    website:
        container_name: nyl2pronos-website
        image: nyl2pronos-website
        restart: always
        build:
          context: nyl2pronos_webapp
          dockerfile: Dockerfile
        volumes:
            - ./logs/nginx-website:/var/log/nginx
        expose:
            - "80"
        deploy:
            replicas: 10
            update_config:
                parallelism: 5
                delay: 10s

    api:
        container_name: nyl2pronos-api
        build:
            context: nyl2pronos_api
            dockerfile: Dockerfile
        image: nyl2pronos-api
        restart: always
        ports:
            - 8001:80
        expose:
            - "80"      
        depends_on:
            - db
            - memcached
        environment:
            - DJANGO_PRODUCTION=1
        volumes:
            - ./data/api/uploads:/code/uploads
            - ./data/api/static:/code/static

    nginx-api:
        image: nginx:latest …
Run Code Online (Sandbox Code Playgroud)

nginx docker docker-compose docker-swarm

5
推荐指数
1
解决办法
1231
查看次数

使用 Docker 驱动程序启动 Minikube 并将其绑定到主机网络

我想知道是否可以将我的 minikube 网络绑定到我的host网络。

\n

我试过:

\n
minikube start --memory=10000 --cpus=4 --vm-driver=docker --kubernetes-version=v1.19.6 --mount --mount-string="/usr/local/citizennet/db:/usr/local/citizennet/db" --network="host"\n
Run Code Online (Sandbox Code Playgroud)\n

但我收到以下错误:

\n
\xe2\x9d\x97  Unable to create dedicated network, this might result in cluster IP change after restart: un-retryable: create network host 192.168.49.0/24: docker network create --driver=bridge --subnet=192.168.49.0/24 --gateway=192.168.49.1 -o --ip-masq -o --icc -o com.docker.network.driver.mtu=1500 --label=created_by.minikube.sigs.k8s.io=true host: exit status 1\nstdout:\n\nstderr:\nError response from daemon: operation is not permitted on predefined host network\n
Run Code Online (Sandbox Code Playgroud)\n

我能够通过使用来做到这一点haproxy但我想知道是否有更干净的方法来做到这一点。\n我的 minikube 托管在 EC2 实例上,我想将所有内容直接转发到我的 minikube。或者至少是 HTTP/HTTPS 请求。

\n …

kubernetes minikube

5
推荐指数
1
解决办法
1万
查看次数

使用嵌套对象 Django Rest Framework 在 ModelViewSet 上 POST

我正在使用 django rest 框架构建一个 API。我有这些模型:

class Organisme(models.Model):
    nom = models.CharField(max_length=255)
    adresse = models.ForeignKey(Adresse, on_delete=models.CASCADE)

class Adresse(models.Model):
    rue = models.CharField(max_length=255, blank=True)
Run Code Online (Sandbox Code Playgroud)

这是我的模式Organisme的视图:

class OrganismeViewSet(viewsets.ModelViewSet):
    queryset = Organisme.objects.all()
    serializer_class = OrganismeSerializer
    pagination_class = StandardResultsSetPagination
    filter_backends = (filters.SearchFilter, DjangoFilterBackend)
    filter_class = OrganismeFilter
    search_fields = ('nom')
Run Code Online (Sandbox Code Playgroud)

还有我的序列化器:

class OrganismeSerializer(serializers.ModelSerializer):
    class Meta:
        model = Organisme
        fields = '__all__'
        depth = 1
Run Code Online (Sandbox Code Playgroud)

所以我试图通过发送这个来创建一个新的有机体

{
    "adresse": {
        "rue": "test"
    },
    "nom":"TestTest",
}
Run Code Online (Sandbox Code Playgroud)

或者

{
    "adresse": pk_id,
    "nom":"TestTest",
}
Run Code Online (Sandbox Code Playgroud)

但我总是以这个错误告终:

IntegrityError at /organismes/
(1048, …
Run Code Online (Sandbox Code Playgroud)

python django post django-models django-rest-framework

2
推荐指数
1
解决办法
2470
查看次数

按月过滤日期 DRF

我想按月份和年份过滤我创建的模型。

这是我的模型:

class Cotisation(models.Model):
    date = models.DateTimeField()
    campagne = models.ForeignKey(Campagne, on_delete=models.CASCADE)

    class Meta:
        managed = True
        db_table = 'cotisations'
        ordering = ['-id']
Run Code Online (Sandbox Code Playgroud)

这是我的观点:

class CotisationViewSet(viewsets.ModelViewSet):
    queryset = Cotisation.objects.all()
    serializer_class = CotisationSerializer
    pagination_class = StandardResultsSetPagination
    filter_backends = (filters.SearchFilter, DjangoFilterBackend, filters.OrderingFilter,)
    filter_class = CotisationFilter
    search_fields = ('organism__name', 'organism__num_onic')
    ordering_fields = ('date',)
Run Code Online (Sandbox Code Playgroud)

这是我的过滤器类:

 class CotisationFilter(django_filters.FilterSet):
     month = django_filters.NumberFilter(field_name='date', lookup_expr='month')
     year = django_filters.NumberFilter(field_name='date', lookup_expr='year')

     class Meta:
         model = Cotisation
         fields = ['organism__id', 'campaign__id', 'campaign__year', 'month', 'year']
Run Code Online (Sandbox Code Playgroud)

当我尝试按年份查询时,效果很好:

GET http://{{URL}}/cotisations/?year=2019
Run Code Online (Sandbox Code Playgroud)

但当我尝试使用月份时它不起作用:

GET http://{{URL}}/cotisations/?month=10
Run Code Online (Sandbox Code Playgroud)

先感谢您。

最好的,杰里米。 …

python django python-3.x django-rest-framework

1
推荐指数
1
解决办法
1343
查看次数

Django 容器 - 提供静态文件

我正在尝试将使用 django-rest-framework 制作的 API 放入 docker 容器中。

除了我无法访问我的静态文件之外,一切似乎都有效。

这是我的settings.py

MEDIA_URL = '/uploads/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'uploads')

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
Run Code Online (Sandbox Code Playgroud)

我的网址.py

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    path('api/bookmakers/', include('bookmakers.urls')),
    path('api/pronostics/', include('pronostics.urls')),
    path('api/', include('authentication.urls')),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
Run Code Online (Sandbox Code Playgroud)

我的Dockerfile

FROM python:3.6

ENV PYTHONUNBUFFERED 1

RUN mkdir /code

WORKDIR /code

ADD requirements.txt /code/

RUN apt-get update && apt-get install -y locales && rm -rf /var/lib/apt/lists/* \
&& localedef -i fr_FR -c -f …
Run Code Online (Sandbox Code Playgroud)

python django django-rest-framework docker docker-compose

1
推荐指数
1
解决办法
3916
查看次数