Openshift Configmap: команда создания и обновления
Я пишу пример программы для развертывания в Openshift с configmap. У меня есть следующий configmap yaml в папке с исходным кодом, поэтому, когда devops настроен, Jenkins должен взять этот yaml и создать / обновить конфигурации.
apiVersion: v1
kind: ConfigMap
metadata:
name: sampleapp
data:
username: usernameTest
password: passwordTest
Тем не менее, я не смог найти команду, которая создаст / обновит, если конфиг уже существует (аналог команды kubectl apply). Можете ли вы помочь с правильной командой, которая создаст Ресурс, если задание запускается в первый раз, и обновит, если это не так.
Я также хочу создать / обновить Сервисы, Маршруты из файлов yaml в репозитории src.
Благодарю.
1 ответ
Вы можете использовать команду "oc apply" для обновления уже существующих ресурсов.
Как ниже пример:
#oc process -f openjdk-basic-template.yml -p APPLICATION_NAME=spring-rest -p SOURCE_REPOSITORY_URL=https://github.com/rest.git -p CONTEXT_DIR='' | oc apply -f-
service "spring-rest" configured
route "spring-rest" created
imagestream "spring-rest" configured
buildconfig "spring-rest" configured
deploymentconfig "spring-rest" configured
If you have configmap in yaml file or you store in some place you can do replace
oc replace --force -f config-map.yaml >> This will update the existing configmap (it actually deletes and creates a new one)
after this - i did oc set env --from=configmap/example-cm dc/example-dc