Создание эмитента для cert-manager для Rancher 2.x, запущенного с помощью docker-compose - PullRequest
0 голосов
/ 04 июля 2018

Я тестирую Rancher 2 как интерфейс Kubernetes. Rancher 2 запускается с помощью docker-compose, используя образ rancher / rancher: latest.

Все хорошо для кластеров, узлов, модулей. Затем я пытаюсь защитить некоторые балансировщики нагрузки сертификатами. Для этого я устанавливаю cert-manager из каталога / helm.

enter image description here

Я пытался следовать этому видео-уроку (https://www.youtube.com/watch?v=xc8Jg9ItDVk), в котором объясняется, как создать эмитента и сертификат и как связать его с балансировщиком нагрузки.

Я создаю файл для эмитента:

apiVersion: certmanager.k8s.io/v1alpha1
kind: ClusterIssuer
metadata:
  name: letsencrypt
spec:
  acme:
    server: https://acme-staging-v02.api.letsencrypt.org/directory
    email: root@example.com
    privateKeySecretRef:
      name: letsencrypt-private-key
    http01: {}

Пришло время создать эмитента.

sudo docker-compose exec rancher bash

Я подключен к контейнеру Rancher. kubectl и helm установлены.

Я пытаюсь создать эмитента:

kubectl create -f etc/cert-manager/cluster-issuer.yaml
error: unable to recognize "etc/cert-manager/cluster-issuer.yaml": no matches for certmanager.k8s.io/, Kind=ClusterIssuer

Дополнительная информация:

Когда я делаю helm list:

Error: could not find a ready tiller pod

Я получаю стручки, чтобы найти румпель:

kubectl get pods
NAME                             READY     STATUS    RESTARTS   AGE
tiller-deploy-6ffc49c5df-zbjg8   0/1       Pending   0          39m

Я описываю этот модуль:

kubectl describe pod tiller-deploy-6ffc49c5df-zbjg8
Name:           tiller-deploy-6ffc49c5df-zbjg8
Namespace:      default
Node:           <none>
Labels:         app=helm
                name=tiller
                pod-template-hash=2997057189
Annotations:    kubernetes.io/created-by={"kind":"SerializedReference","apiVersion":"v1","reference":{"kind":"ReplicaSet","namespace":"default","name":"tiller-deploy-6ffc49c5df","uid":"46f74523-7f8f-11e8-9d04-0242ac1...
Status:         Pending
IP:
Created By:     ReplicaSet/tiller-deploy-6ffc49c5df
Controlled By:  ReplicaSet/tiller-deploy-6ffc49c5df
Containers:
  tiller:
    Image:      gcr.io/kubernetes-helm/tiller:v2.8.0-rancher3
    Ports:      44134/TCP, 44135/TCP
    Liveness:   http-get http://:44135/liveness delay=1s timeout=1s period=10s #success=1 #failure=3
    Readiness:  http-get http://:44135/readiness delay=1s timeout=1s period=10s #success=1 #failure=3
    Environment:
      TILLER_NAMESPACE:    default
      TILLER_HISTORY_MAX:  0
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from tiller-token-hbfgz (ro)
Conditions:
  Type           Status
  PodScheduled   False
Volumes:
  tiller-token-hbfgz:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  tiller-token-hbfgz
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.alpha.kubernetes.io/notReady:NoExecute for 300s
                 node.alpha.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type     Reason            Age                 From               Message
  ----     ------            ----                ----               -------
  Warning  FailedScheduling  4m (x125 over 39m)  default-scheduler  no nodes available to schedule pods

Эта проблема немного специфична: rancher / kubernetes / docker-compose ... Если у кого-то есть идеи, милости просим;)

Заранее спасибо!

1 Ответ

0 голосов
/ 05 июля 2018

Я только что нашел информацию, чтобы разблокировать ситуацию.

Благодаря https://www.idealcoders.com/posts/rancher/2018/06/rancher-2-x-and-lets-encrypt-with-cert-manager-and-nginx-ingress/

Первый шаг - загрузить конфигурацию кластера. Я работал на кластере по умолчанию. Итак,

  1. Я выполняю bash в Docker-контейнере,
  2. Я загружаю файл конфигурации /root/.kube/config
  3. Обновление конфигурации
  4. Продолжай ... Эмитент создан правильно.

Если это может кому-то помочь;)

...