Kubectl: создать набор реплик без файла yml

Я пытаюсь создать набор реплик с помощью kubernetes. На этот раз у меня нет файла yml, поэтому я пытаюсь создать набор реплик с помощью командной строки. Почему kubectl create replicaset somename --image=nginx выдает ошибку и как это исправить?

Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
1
0
34
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы не можете создать replicaset с помощью командной строки. С помощью kubectl create возможно создание только следующих ресурсов:

kubectl create  --help |awk '/Available Commands:/,/^$/'
Available Commands:
  clusterrole         Create a cluster role
  clusterrolebinding  Create a cluster role binding for a particular cluster role
  configmap           Create a config map from a local file, directory or literal value
  cronjob             Create a cron job with the specified name
  deployment          Create a deployment with the specified name
  ingress             Create an ingress with the specified name
  job                 Create a job with the specified name
  namespace           Create a namespace with the specified name
  poddisruptionbudget Create a pod disruption budget with the specified name
  priorityclass       Create a priority class with the specified name
  quota               Create a quota with the specified name
  role                Create a role with single rule
  rolebinding         Create a role binding for a particular role or cluster role
  secret              Create a secret using specified subcommand
  service             Create a service using a specified subcommand
  serviceaccount      Create a service account with the specified name

Хотя вы можете использовать следующий способ создания набора реплик, в приведенном ниже примере kubectl create -f передается с помощью stdout (-):

echo "apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: frontend
  labels:
    app: guestbook
    tier: frontend
spec:
  # modify replicas according to your case
  replicas: 3
  selector:
    matchLabels:
      tier: frontend
  template:
    metadata:
      labels:
        tier: frontend
    spec:
      containers:
      - name: php-redis
        image: gcr.io/google_samples/gb-frontend:v3
" |kubectl create  -f -

Спасибо, это многое проясняет. ?

a0poster 05.05.2022 18:55

Здравствуйте, надеюсь, вам нравится ваше путешествие в Kubernetes!

На самом деле вы не можете создать RS напрямую, но если вы действительно не хотите использовать манифест, вы наверняка можете создать его через развертывание:

❯ kubectl create deployment --image nginx:1.21 --port 80 test-rs
deployment.apps/test-rs created

вот:

❯ kubectl get rs
NAME                          DESIRED   CURRENT   READY   AGE
test-rs-5c99c9b8c             1         1         1       15s

угадай

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