Deploying GitLab with Istio service mesh
helm -n gitlab template gitlab gitlab/gitlab -f values.yml --version 6.4.1 > gitlab-6.4.1.yml
helm install gitlab gitlab/gitlab -f values.yml --version 6.4.1 -n gitlab
helm upgrade --install gitlab gitlab/gitlab -f values.yml --version 6.4.1 -n gitlab
user: root
password: kubectl get secret -n gitlab gitlab-gitlab-initial-root-password -ojsonpath='{.data.password}' | base64 --decode ; echo
kubectl -n gitlab get secret gitlab-wildcard-tls-ca -ojsonpath='{.data.cfssl_ca}'
Deploying Gateway "ingress"
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: gitlab-gateway
spec:
selector:
istio: ingressgateway # use Istio default gateway implementation
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- "gitlab.elitebook.tokyo.lab"
kubectl apply -f gitlab-gateway.yml -n gitlab
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: gitlab
spec:
hosts:
- "gitlab.elitebook.tokyo.lab"
gateways:
- gitlab-gateway
http:
- match:
- uri:
prefix: /
route:
- destination:
port:
number: 8181
host: gitlab-webservice-default
kubectl apply -f gitlab-gateway-routes.yml -n gitlab
helm -n gitlab template gitlab gitlab/gitlab -f values.yml --version 6.4.1 > gitlab-6.4.1.yml
kubectl -n istio-system get configmap istio-sidecar-injector -o=jsonpath='{.data.config}' > inject-config.yaml
kubectl -n istio-system get configmap istio-sidecar-injector -o=jsonpath='{.data.values}' > inject-values.yaml
kubectl -n istio-system get configmap istio -o=jsonpath='{.data.mesh}' > mesh-config.yaml
istioctl kube-inject \
--injectConfigFile inject-config.yaml \
--meshConfigFile mesh-config.yaml \
--valuesFile inject-values.yaml \
--filename gitlab-6.4.1.yml \
| kubectl -n gitlab apply -f -