我正在尝试通过this教程使用minikube在Kubernetes上部署GitLab,但是我不知道在字段gcloud app deploy
,ROM gcr.io/google-appengine/python
LABEL python_version=python3.6
RUN virtualenv --no-download /env -p python3.6
# Set virtualenv environment variables. This is equivalent to running
# source /env/bin/activate
ENV VIRTUAL_ENV /env
ENV PATH /env/bin:$PATH
ADD requirements.txt /app/
RUN pip install -r requirements.txt
ADD . /app/
RUN apt-get update
RUN apt-get install imagemagick -y
RUN apt-get install ghostscript
CMD exec gunicorn -b :$PORT main:app
和{{1 }}。
该教程的解释很差。我陷入了这一步。有人可以告诉我这是什么字段,我应该放在什么字段上?
答案 0 :(得分:2)
在本教程中,我正在尝试使用minikube在Kubernetes上部署GitLab,但是我不知道要在字段
global.hosts.domain
,global.hosts.externalIP
和certmanager-issuer.email
中放置什么值。 / p>
对于域,您可以随意使用任何内容,只是要知道,当gitlab生成旨在指向自身的链接时,它们将无法解析。如果对您很重要,您可以使用dnsmasq
或编辑/etc/hosts
来解决该问题
对于externalIP,这将是minikube ip
发出的IP,并且是与gitlab通信的IP(因为您将无法在minikube之外使用Pod的IP地址)。如果gitlab不使用类型Service
的{{1}},那么您将需要通过minikube的IP来进行一些跳跃以暴露那些端口
您可能会忘记的NodePort
,因为除非它们具有固定的cermanager来使用dns01协议,否则它100%不会向您颁发在minikube上运行的Let's Encrypt证书。为了让“加密”向您颁发证书,他们必须连接到为其颁发证书的Web服务器,并且(您可能会猜到)他们将无法连接到您的minikube IP。如果您想在gitlab实例上使用SSL,请向该实例颁发自签名证书,并将其称为平签。
该教程的解释很差。
那是因为您试图做的事很危险;由于上述原因以及其他许多原因,minikube并非旨在运行整个gitlab实例。 Google Cloud Platform提供了丰富的信誉,可以使kubernetes受益匪浅,并且几乎可以肯定,它具有使该功能正常运行所需的一切。