Мои 5 центов:
String[] temp = yourString.split("&");
String tmp = "";
if (temp.length > 1) {
for (int i = 0; i < temp.length; i++) {
tmp += temp[i] + "&";
}
yourString = tmp.substring(0, tmp.length() - 1);
}
Я попробовал это на кубеадме и смог добиться успеха. @ Аман Джуня был прав, вы должны добавить флаги API, как описано в документации.
Вы можете сделать это, создав учетную запись службы и добавив следующие флаги в kubeapi:
sudo vim /etc/kubernetes/manifests/kube-apiserver.yaml
- --service-account-issuer=api
- --service-account-signing-key-file=/etc/kubernetes/pki/apiserver.key
- --service-account-api-audiences=api
После этого примените ваш pod.yaml и его буду работать. Как вы увидите в разделе описаний:
Volumes:
vault-token:
Type: Projected (a volume that contains injected data from multiple sources)
[удалено как не работающее решение]
, к сожалению, в моем случае мой мини-куб не захотел запускаться с этими флагами, он застрял на: waiting for pods: apiserver
скоро я попытаюсь снова отладить.
ОБНОВЛЕНИЕ
Оказывается, вам просто нужно передать аргументы в мини-куб с каталогами изнутри minikubeVM, а не снаружи, как я делал в предыдущем примере (так. каталог), так это будет выглядеть так:
minikube start \
--extra-config=apiserver.service-account-signing-key-file=/var/lib/minikube/certs/apiserver.key \
--extra-config=apiserver.service-account-issuer=api \
--extra-config=apiserver.service-account-api-audiences=api
После этого создание ServiceAccount и применение pod.yaml работает.