เจเฉเจฌเจฐเจจเฉเจเจธ เจกเฉเจธเจผเจฌเฉเจฐเจก เจคเฉเจนเจพเจกเฉ เจเฉฑเจฒ เจฐเจนเฉ เจเจฒเฉฑเจธเจเจฐ เจฌเจพเจฐเฉ เจ
เฉฑเจช-เจเฉ-เจกเฉเจ เจเจพเจฃเจเจพเจฐเฉ เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจ
เจคเฉ เจเจธ เจจเฉเฉฐ เจเฉฑเจเฉ-เจเฉฑเจ เจเฉเจธเจผเจฟเจธเจผเจพเจ เจจเจพเจฒ เจชเฉเจฐเจฌเฉฐเจงเจฟเจค เจเจฐเจจ เจฒเจ เจตเจฐเจคเฉเจ เจตเจฟเฉฑเจ เจเจธเจพเจจ เจเฉเจฒ เจนเฉเฅค เจคเฉเจธเฉเจ เจเจธเจฆเฉ เจนเฉเจฐ เจตเฉ เจชเฉเจฐเจธเจผเฉฐเจธเจพ เจเจฐเจจเจพ เจธเจผเฉเจฐเฉ เจเจฐ เจฆเจฟเฉฐเจฆเฉ เจนเฉ เจเจฆเฉเจ เจเจนเจจเจพเจ เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ เจคเฉฑเจ เจชเจนเฉเฉฐเจ เจฆเฉ เจฒเฉเฉ เจจเจพ เจธเจฟเจฐเจซเจผ เจชเฉเจฐเจธเจผเจพเจธเจเจพเจ/DevOps เจเฉฐเจเฉเจจเฉเจ
เจฐเจพเจ เจฆเฉเจเจฐเจพ เจนเฉเฉฐเจฆเฉ เจนเฉ, เจธเจเฉเจ เจเจนเจจเจพเจ เจฆเฉเจเจฐเจพ เจตเฉ เจเฉ เจเฉฐเจธเฉเจฒ เจฆเฉ เจเฉฑเจ เจเจฆเฉ เจนเจจ เจ
เจคเฉ/เจเจพเจ kubectl เจจเจพเจฒ เจเฉฑเจฒเจฌเจพเจค เจเจฐเจจ เจฆเฉเจเจ เจธเจพเจฐเฉเจเจ เจชเฉเจเฉเจฆเจเฉเจเจ เจจเจพเจฒ เจจเจเจฟเฉฑเจ เจฃ เจฆเจพ เจเจฐเจพเจฆเจพ เจจเจนเฉเจ เจฐเฉฑเจเจฆเฉ เจนเจจเฅค เจนเฉเจฐ เจเจชเจฏเฉเจเจคเจพเจตเจพเจเฅค เจเจน เจธเจพเจกเฉ เจจเจพเจฒ เจนเฉเจเจ: เจกเจฟเจตเฉเจฒเจชเจฐ เจเฉเจฌเจฐเจจเฉเจเจธ เจตเฉเฉฑเจฌ เจเฉฐเจเจฐเจซเฉเจธ เจคเฉฑเจ เจคเฉเจฐเฉฐเจค เจชเจนเฉเฉฐเจ เจเจพเจนเฉเฉฐเจฆเฉ เจธเจจ, เจ
เจคเฉ เจเจฟเจเจเจเจฟ เจ
เจธเฉเจ GitLab เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเจพเจ, เจนเฉฑเจฒ เจเฉเจฆเจฐเจคเฉ เจคเฉเจฐ 'เจคเฉ เจเจเจเฅค
เจเจน เจเจฟเจเจ เจนเฉ?
เจกเจพเจเจฐเฉเจเจ เจกเจฟเจตเฉเจฒเจชเจฐ เจกเฉเจฌเฉฑเจเจฟเฉฐเจ เจเจพเจฐเจเจพเจ เจฒเจ K8s เจกเฉเจธเจผเจฌเฉเจฐเจก เจตเจฐเจเฉ เจเฉเจฒ เจตเจฟเฉฑเจ เจฆเจฟเจฒเจเจธเจชเฉ เจฒเฉ เจธเจเจฆเฉ เจนเจจเฅค เจเจ เจตเจพเจฐ เจคเฉเจธเฉเจ เจฒเฉเจเจธ เจ
เจคเฉ เจธเจฐเฉเจคเจพเจ เจจเฉเฉฐ เจฆเฉเจเจฃเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเฉ, เจ
เจคเฉ เจเจ เจตเจพเจฐ เจชเฉเจกเจธ เจจเฉเฉฐ เจฎเจพเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเฉ, เจกเจฟเจชเจฒเจพเจเจฎเฉเจเจเจธ/เจธเจเฉเจเจซเฉเฉฑเจฒเจธเฉเจเจธ เจจเฉเฉฐ เจธเจเฉเจฒ เจเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเฉ, เจ
เจคเฉ เจเฉฐเจเฉเจจเจฐ เจเฉฐเจธเฉเจฒ 'เจคเฉ เจตเฉ เจเจพเจฃเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเฉ (เจเฉฑเจฅเฉ เจฌเฉเจจเจคเฉเจเจ เจตเฉ เจนเจจ, เจนเจพเจฒเจพเจเจเจฟ, เจเฉฑเจ เจนเฉเจฐ เจคเจฐเฉเจเจพ เจนเฉ - เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจฆเฉเจเจฐเจพ
เจเจธ เจคเฉเจ เจเจฒเจพเจตเจพ, เจชเฉเจฐเจฌเฉฐเจงเจเจพเจ เจฒเจ เจเฉฑเจ เจฎเจจเฉเจตเจฟเจเจฟเจเจจเจ เจชเจฒ เจนเฉเฉฐเจฆเจพ เจนเฉ เจเจฆเฉเจ เจเจน เจเจฒเฉฑเจธเจเจฐ เจจเฉเฉฐ เจฆเฉเจเจฃเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเจจ - เจเจน เจฆเฉเจเจฃ เจฒเจ เจเจฟ "เจธเจญ เจเฉเจ เจนเจฐเจพ เจนเฉ", เจ เจคเฉ เจเจธ เจคเจฐเฉเจนเจพเจ เจเจชเจฃเฉ เจเจช เจจเฉเฉฐ เจญเจฐเฉเจธเจพ เจฆเจฟเจตเจพเจเจเจฆเจพ เจนเฉ เจเจฟ "เจธเจญ เจเฉเจ เจเฉฐเจฎ เจเจฐ เจฐเจฟเจนเจพ เจนเฉ" (เจเฉ, เจฌเฉเจธเจผเจ, เจฌเจนเฉเจค เจนเฉ เจฐเจฟเจธเจผเจคเฉเจฆเจพเจฐ เจนเฉ... เจชเจฐ เจเจน เจฒเฉเจ เจฆเฉ เจฆเจพเจเจฐเฉ เจคเฉเจ เจฌเจพเจนเจฐ เจนเฉ)เฅค
เจเฉฑเจ เจฎเจฟเจเจฐเฉ CI เจธเจฟเจธเจเจฎ เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ เจธเจพเจกเฉ เจเฉเจฒ เจนเฉ
เจฎเฉเจ เจเจน เจตเฉ เจจเฉเจ เจเจฐเจพเจเจเจพ เจเจฟ เจ
เจธเฉเจ NGINX Ingress เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเจพเจ. เจเฉ เจคเฉเจธเฉเจ เจฆเฉเจเจฟเจเจ เจจเจพเจฒ เจเฉฐเจฎ เจเจฐเจฆเฉ เจนเฉ
เจเจเฉเจเจฐเจฃ เจฆเฉ เจเฉเจธเจผเจฟเจธเจผ เจเจฐ เจฐเจฟเจนเจพ เจนเฉ
เจกเฉเจธเจผเจฌเฉเจฐเจก เจธเจฅเจพเจชเจจเจพ
เจงเจฟเจเจจ เจฆเจฟเจ: เจเฉเจเจฐ เจคเฉเจธเฉเจ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจเจฆเจฎเจพเจ เจจเฉเฉฐ เจฆเฉเจนเจฐเจพเจเจฃ เจเจพ เจฐเจนเฉ เจนเฉ, เจคเจพเจ - เจฌเฉเจฒเฉเฉเฉ เจเจพเจฐเจตเจพเจเจเจ เจคเฉเจ เจฌเจเจฃ เจฒเจ - เจชเจนเจฟเจฒเจพเจ เจ เจเจฒเฉ เจเจช เจธเจฟเจฐเจฒเฉเจ เจจเฉเฉฐ เจชเฉเฉเจนเฉเฅค
เจเจฟเจเจเจเจฟ เจ
เจธเฉเจ เจฌเจนเฉเจค เจธเจพเจฐเฉเจเจ เจธเจฅเจพเจชเจจเจพเจตเจพเจ เจตเจฟเฉฑเจ เจเจธ เจเจเฉเจเจฐเจฃ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเจพเจ, เจ
เจธเฉเจ เจเจธเจฆเฉ เจธเจฅเจพเจชเจจเจพ เจจเฉเฉฐ เจธเจตเฉเจเจฒเจฟเจค เจเฉเจคเจพ เจนเฉเฅค เจเจธ เจฒเจ เจฒเฉเฉเฉเจเจฆเฉ เจธเจฐเฉเจคเจพเจ เจตเจฟเฉฑเจ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเฉเจคเฉ เจเจ เจนเจจ
เจธเจเฉเจฐเจฟเจชเจ เจเจฒเฉฑเจธเจเจฐ เจตเจฟเฉฑเจ เจกเฉเจธเจผเจฌเฉเจฐเจก เจจเฉเฉฐ เจธเจฅเจพเจชเจฟเจค เจเจฐเจฆเฉ เจนเฉ เจ เจคเฉ เจเจธเจจเฉเฉฐ GitLab เจจเจพเจฒ เจเจเฉเจเจฐเจฃ เจฒเจ เจเฉเจเจซเจฟเจเจฐ เจเจฐเจฆเฉ เจนเฉ:
$ ./ctl.sh
Usage: ctl.sh [OPTION]... --gitlab-url GITLAB_URL --oauth2-id ID --oauth2-secret SECRET --dashboard-url DASHBOARD_URL
Install kubernetes-dashboard to Kubernetes cluster.
Mandatory arguments:
-i, --install install into 'kube-system' namespace
-u, --upgrade upgrade existing installation, will reuse password and host names
-d, --delete remove everything, including the namespace
--gitlab-url set gitlab url with schema (https://gitlab.example.com)
--oauth2-id set OAUTH2_PROXY_CLIENT_ID from gitlab
--oauth2-secret set OAUTH2_PROXY_CLIENT_SECRET from gitlab
--dashboard-url set dashboard url without schema (dashboard.example.com)
Optional arguments:
-h, --help output this message
เจนเจพเจฒเจพเจเจเจฟ, เจเจธเจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ, เจคเฉเจนเจพเจจเฉเฉฐ GitLab เจตเจฟเฉฑเจ เจเจพเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ: เจเจกเจฎเจฟเจจ เจเฉเจคเจฐ โ เจเจชเจฒเฉเจเฉเจธเจผเจจ - เจ เจคเฉ เจญเจตเจฟเฉฑเจ เจฆเฉ เจชเฉเจจเจฒ เจฒเจ เจเฉฑเจ เจจเจตเฉเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจธเจผเจพเจฎเจฒ เจเจฐเฉเฅค เจเจฒเฉ เจเจธเจจเฉเฉฐ "kubernetes เจกเฉเจธเจผเจฌเฉเจฐเจก" เจเจนเจฟเฉฐเจฆเฉ เจนเจพเจ:
เจเจธ เจจเฉเฉฐ เจเฉเฉเจจ เจฆเฉ เจจเจคเฉเจเฉ เจตเจเฉเจ, GitLab เจนเฉเจธเจผ เจชเฉเจฐเจฆเจพเจจ เจเจฐเฉเจเจพ:
เจเจน เจเจน เจนเจจ เจเฉ เจธเจเฉเจฐเจฟเจชเจ เจฒเจ เจเจฐเจเฉเจฎเฉเจเจ เจตเจเฉเจ เจตเจฐเจคเฉ เจเจพเจเจฆเฉ เจนเจจเฅค เจจเจคเฉเจเฉ เจตเจเฉเจ, เจเฉฐเจธเจเจพเจฒเฉเจธเจผเจจ เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเจฟเจเจพเจ เจฆเจฟเฉฐเจฆเฉ เจนเฉ:
$ ./ctl.sh -i --gitlab-url https://gitlab.example.com --oauth2-id 6a52769eโฆ --oauth2-secret 6b79168fโฆ --dashboard-url dashboard.example.com
เจเจธ เจคเฉเจ เจฌเจพเจ เจฆ, เจเจ เจเจพเจเจ เจเจฐเฉเจ เจเจฟ เจธเจญ เจเฉเจ เจธเจผเฉเจฐเฉ เจนเฉเจเจ เจนเฉ:
$ kubectl -n kube-system get pod | egrep '(dash|oauth)'
kubernetes-dashboard-76b55bc9f8-xpncp 1/1 Running 0 14s
oauth2-proxy-5586ccf95c-czp2v 1/1 Running 0 14s
เจเจฒเจฆเฉ เจเจพเจ เจฌเจพเจ เจฆ เจตเจฟเฉฑเจ เจธเจญ เจเฉเจ เจธเจผเฉเจฐเฉ เจนเฉ เจเจพเจตเฉเจเจพ, เจนเจพเจฒเจพเจเจเจฟ เจ เจงเจฟเจเจพเจฐ เจคเฉเจฐเฉฐเจค เจเฉฐเจฎ เจจเจนเฉเจ เจเจฐเฉเจเจพ! เจคเฉฑเจฅ เจเจน เจนเฉ เจเจฟ เจตเจฐเจคเฉ เจเจ เจเจฟเฉฑเจคเจฐ เจตเจฟเฉฑเจ (เจนเฉเจฐ เจเจฟเฉฑเจคเจฐเจพเจ เจตเจฟเฉฑเจ เจธเจฅเจฟเจคเฉ เจธเจฎเจพเจจ เจนเฉ) เจเจพเจฒเจฌเฉเจ เจตเจฟเฉฑเจ เจเฉฑเจ เจฐเฉเจกเจพเจเจฐเฉเจเจ เจจเฉเฉฐ เจซเฉเจจ เจฆเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจจเฉเฉฐ เจเจฒเจค เจขเฉฐเจ เจจเจพเจฒ เจฒเจพเจเฉ เจเฉเจคเจพ เจเจฟเจ เจนเฉ. เจเจน เจธเจฅเจฟเจคเฉ เจเจธ เจคเฉฑเจฅ เจตเฉฑเจฒ เจฒเฉ เจเจพเจเจฆเฉ เจนเฉ เจเจฟ oauth เจเจธ เจเฉเจเฉ เจจเฉเฉฐ เจฎเจฟเจเจพ เจฆเจฟเฉฐเจฆเจพ เจนเฉ เจเฉ เจธเจนเฉเฉฐ เจเฉเจฆ เจธเจพเจจเฉเฉฐ เจชเฉเจฐเจฆเจพเจจ เจเจฐเจฆเฉ เจนเฉ...
เจธเจฎเฉฑเจธเจฟเจ เจฆเจพ เจนเฉฑเจฒ เจเฉฑเจ เจชเฉเจ เจฆเฉ เจจเจพเจฒ เจคเฉเจนเจพเจกเฉ เจเจชเจฃเฉ เจธเจนเฉเฉฐ เจฆเฉ เจคเจธเจตเฉเจฐ เจฌเจฃเจพ เจเฉ เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉเฅค
เจชเฉเจ เจธเจนเฉเฉฐ เจเฉเฉฑเจเฉ เจ เจคเฉ เจฎเฉเฉ เจธเจฅเจพเจชเจฟเจค เจเจฐเฉ
เจ เจเจฟเจนเจพ เจเจฐเจจ เจฒเจ, เจ เจธเฉเจ เจนเฉเจ เจพเจ เจฆเจฟเฉฑเจคเฉ เจกเฉเจเจฐเจซเจพเจเจฒ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจพเจเจเฉ:
FROM golang:1.9-alpine3.7
WORKDIR /go/src/github.com/bitly/oauth2_proxy
RUN apk --update add make git build-base curl bash ca-certificates wget
&& update-ca-certificates
&& curl -sSO https://raw.githubusercontent.com/pote/gpm/v1.4.0/bin/gpm
&& chmod +x gpm
&& mv gpm /usr/local/bin
RUN git clone https://github.com/bitly/oauth2_proxy.git .
&& git checkout bfda078caa55958cc37dcba39e57fc37f6a3c842
ADD rd.patch .
RUN patch -p1 < rd.patch
&& ./dist.sh
FROM alpine:3.7
RUN apk --update add curl bash ca-certificates && update-ca-certificates
COPY --from=0 /go/src/github.com/bitly/oauth2_proxy/dist/ /bin/
EXPOSE 8080 4180
ENTRYPOINT [ "/bin/oauth2_proxy" ]
CMD [ "--upstream=http://0.0.0.0:8080/", "--http-address=0.0.0.0:4180" ]
เจ เจคเฉ เจเฉฑเจฅเฉ เจเจน เจนเฉ เจเจฟ rd.patch เจชเฉเจ เจเจชเจฃเฉ เจเจช เจตเจฐเจเจพ เจฆเจฟเจธเจฆเจพ เจนเฉ
diff --git a/dist.sh b/dist.sh
index a00318b..92990d4 100755
--- a/dist.sh
+++ b/dist.sh
@@ -14,25 +14,13 @@ goversion=$(go version | awk '{print $3}')
sha256sum=()
echo "... running tests"
-./test.sh
+#./test.sh
-for os in windows linux darwin; do
- echo "... building v$version for $os/$arch"
- EXT=
- if [ $os = windows ]; then
- EXT=".exe"
- fi
- BUILD=$(mktemp -d ${TMPDIR:-/tmp}/oauth2_proxy.XXXXXX)
- TARGET="oauth2_proxy-$version.$os-$arch.$goversion"
- FILENAME="oauth2_proxy-$version.$os-$arch$EXT"
- GOOS=$os GOARCH=$arch CGO_ENABLED=0
- go build -ldflags="-s -w" -o $BUILD/$TARGET/$FILENAME || exit 1
- pushd $BUILD/$TARGET
- sha256sum+=("$(shasum -a 256 $FILENAME || exit 1)")
- cd .. && tar czvf $TARGET.tar.gz $TARGET
- mv $TARGET.tar.gz $DIR/dist
- popd
-done
+os='linux'
+echo "... building v$version for $os/$arch"
+TARGET="oauth2_proxy-$version.$os-$arch.$goversion"
+GOOS=$os GOARCH=$arch CGO_ENABLED=0
+ go build -ldflags="-s -w" -o ./dist/oauth2_proxy || exit 1
checksum_file="sha256sum.txt"
cd $DIR/dists
diff --git a/oauthproxy.go b/oauthproxy.go
index 21e5dfc..df9101a 100644
--- a/oauthproxy.go
+++ b/oauthproxy.go
@@ -381,7 +381,9 @@ func (p *OAuthProxy) SignInPage(rw http.ResponseWriter, req *http.Request, code
if redirect_url == p.SignInPath {
redirect_url = "/"
}
-
+ if req.FormValue("rd") != "" {
+ redirect_url = req.FormValue("rd")
+ }
t := struct {
ProviderName string
SignInMessage string
เจนเฉเจฃ เจคเฉเจธเฉเจ เจเจฟเฉฑเจคเจฐ เจฌเจฃเจพ เจธเจเจฆเฉ เจนเฉ เจ
เจคเฉ เจเจธเจจเฉเฉฐ เจธเจพเจกเฉ GitLab เจตเจฟเฉฑเจ เจงเฉฑเจ เจธเจเจฆเฉ เจนเฉเฅค เจ
เฉฑเจเฉ เจตเจฟเฉฑเจ manifests/kube-dashboard-oauth2-proxy.yaml
เจฒเฉเฉเฉเจเจฆเฉ เจเจฟเฉฑเจคเจฐ เจฆเฉ เจตเจฐเจคเฉเจ เจจเฉเฉฐ เจฆเจฐเจธเจพเจ (เจเจธ เจจเฉเฉฐ เจเจชเจฃเฉ เจจเจพเจฒ เจฌเจฆเจฒเฉ):
image: docker.io/colemickens/oauth2_proxy:latest
เจเฉ เจคเฉเจนเจพเจกเฉ เจเฉเจฒ เจเฉฑเจ เจฐเจเจฟเจธเจเจฐเฉ เจนเฉ เจเฉ เจ เจงเจฟเจเจพเจฐ เจฆเฉเจเจฐเจพ เจฌเฉฐเจฆ เจเฉเจคเฉ เจเจ เจนเฉ, เจคเจพเจ เจเจฟเฉฑเจเจฃ เจตเจพเจฒเฉเจเจ เจคเจธเจตเฉเจฐเจพเจ เจฒเจ เจเฉฑเจ เจเฉเจชเจค เจฆเฉ เจตเจฐเจคเฉเจ เจธเจผเจพเจฎเจฒ เจเจฐเจจเจพ เจจเจพ เจญเฉเฉฑเจฒเฉ:
imagePullSecrets:
- name: gitlab-registry
... เจ เจคเฉ เจฐเจเจฟเจธเจเจฐเฉ เจฒเจ เจเจชเจฃเฉ เจเจช เจจเฉเฉฐ เจเฉเจชเจค เจเฉเฉเฉ:
---
apiVersion: v1
data:
.dockercfg: eyJyZWdpc3RyeS5jb21wYW55LmNvbSI6IHsKICJ1c2VybmFtZSI6ICJvYXV0aDIiLAogInBhc3N3b3JkIjogIlBBU1NXT1JEIiwKICJhdXRoIjogIkFVVEhfVE9LRU4iLAogImVtYWlsIjogIm1haWxAY29tcGFueS5jb20iCn0KfQoK
=
kind: Secret
metadata:
annotations:
name: gitlab-registry
namespace: kube-system
type: kubernetes.io/dockercfg
เจงเจฟเจเจจ เจฆเฉเจฃ เจตเจพเจฒเจพ เจชเจพเจ เจ เจเจน เจฆเฉเจเฉเจเจพ เจเจฟ เจเจชเจฐเฉเจเจค เจฒเฉฐเจฎเฉ เจธเจคเจฐ เจธเฉฐเจฐเจเจจเจพ เจคเฉเจ เจฌเฉเจธ 64 เจนเฉ:
{"registry.company.com": {
"username": "oauth2",
"password": "PASSWORD",
"auth": "AUTH_TOKEN",
"email": "[email protected]"
}
}
เจเจน GitLab เจตเจฟเฉฑเจ เจเจชเจญเฉเจเจคเจพ เจกเฉเจเจพ เจนเฉ, Kubernetes เจเฉเจก เจฐเจเจฟเจธเจเจฐเฉ เจคเฉเจ เจเจฟเฉฑเจคเจฐ เจจเฉเฉฐ เจเจฟเฉฑเจเฉเจเจพ.
เจธเจญ เจเฉเจ เจนเฉ เจเจพเจฃ เจคเฉเจ เจฌเจพเจ เจฆ, เจคเฉเจธเฉเจ เจเจฎเจพเจเจก เจจเจพเจฒ เจฎเฉเจเฉเจฆเจพ (เจธเจนเฉ เจขเฉฐเจ เจจเจพเจฒ เจเฉฐเจฎ เจจเจนเฉเจ เจเจฐ เจฐเจนเฉ) เจกเฉเจธเจผเจฌเฉเจฐเจก เจเฉฐเจธเจเจพเจฒเฉเจธเจผเจจ เจจเฉเฉฐ เจนเจเจพ เจธเจเจฆเฉ เจนเฉ:
$ ./ctl.sh -d
... เจ เจคเฉ เจธเจญ เจเฉเจ เจฆเฉเจฌเจพเจฐเจพ เจธเจฅเจพเจชเจฟเจค เจเจฐเฉ:
$ ./ctl.sh -i --gitlab-url https://gitlab.example.com --oauth2-id 6a52769eโฆ --oauth2-secret 6b79168fโฆ --dashboard-url dashboard.example.com
เจเจน เจกเฉเจธเจผเจฌเฉเจฐเจก 'เจคเฉ เจเจพเจฃ เจฆเจพ เจธเจฎเจพเจ เจนเฉ เจ เจคเฉ เจเฉฑเจ เจชเฉเจฐเจพเจฃเฉ เจฒเฉเจเจเจจ เจฌเจเจจ เจจเฉเฉฐ เจฒเฉฑเจญเจฃ เจฆเจพ เจธเจฎเจพเจ เจนเฉ:
เจเจธ 'เจคเฉ เจเจฒเจฟเฉฑเจ เจเจฐเจจ เจคเฉเจ เจฌเจพเจ
เจฆ, GitLab เจธเจพเจจเฉเฉฐ เจธเจผเฉเจญเจเจพเจฎเจจเจพเจตเจพเจ เจฆเฉเจตเฉเจเจพ, เจเจธ เจฆเฉ เจเจฎ เจชเฉฐเจจเฉ 'เจคเฉ เจฒเฉเจเจเจจ เจเจฐเจจ เจฆเฉ เจชเฉเจธเจผเจเจธเจผ เจเจฐเฉเจเจพ (เจฌเฉเจธเจผเจ, เจเฉเจเจฐ เจ
เจธเฉเจ เจชเจนเจฟเจฒเจพเจ เจเฉฑเจฅเฉ เจฒเฉเจเจเจจ เจจเจนเฉเจ เจเฉเจคเจพ เจนเฉ):
เจ
เจธเฉเจ GitLab เจชเฉเจฐเจฎเจพเจฃ เจชเฉฑเจคเจฐเจพเจ เจจเจพเจฒ เจฒเฉเจ เจเจจ เจเจฐเจฆเฉ เจนเจพเจ - เจ
เจคเฉ เจธเจญ เจเฉเจ เจนเฉ เจเจฟเจ เจนเฉ:
เจกเฉเจธเจผเจฌเฉเจฐเจก เจตเจฟเจธเจผเฉเจธเจผเจคเจพเจตเจพเจ เจฌเจพเจฐเฉ
เจเฉ เจคเฉเจธเฉเจ เจเฉฑเจ เจกเจฟเจตเฉเจฒเจชเจฐ เจนเฉ เจเจฟเจธเจจเฉ เจชเจนเจฟเจฒเจพเจ เจเฉเจฌเจฐเจจเฉเจเจธ เจจเจพเจฒ เจเฉฐเจฎ เจจเจนเฉเจ เจเฉเจคเจพ เจนเฉ, เจเจพเจ เจเจฟเจธเฉ เจเจพเจฐเจจ เจเจฐเจเฉ เจชเจนเจฟเจฒเจพเจ เจกเฉเจธเจผเจฌเฉเจฐเจก เจฆเจพ เจธเจพเจนเจฎเจฃเจพ เจจเจนเฉเจ เจเฉเจคเจพ เจนเฉ, เจคเจพเจ เจฎเฉเจ เจเจธ เจฆเฉเจเจ เจเฉเจ เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ เจจเฉเฉฐ เจฆเจฐเจธเจพเจตเจพเจเจเจพเฅค
เจชเจนเจฟเจฒเจพเจ, เจคเฉเจธเฉเจ เจฆเฉเจ เจธเจเจฆเฉ เจนเฉ เจเจฟ "เจธเจญ เจเฉเจ เจนเจฐเจพ เจนเฉ":
เจชเฉเจกเจพเจ เจฒเจ เจตเจงเฉเจฐเฉ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจกเฉเจเจพ เจตเฉ เจเจชเจฒเจฌเจง เจนเฉ, เจเจฟเจตเฉเจ เจเจฟ เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉเจฐเฉเจเจฌเจฒ, เจกเจพเจเจจเจฒเฉเจก เจเฉเจคเจพ เจเจฟเฉฑเจคเจฐ, เจฒเจพเจเจ เจเจฐเจเฉเจฎเฉเจเจเจธ, เจ
เจคเฉ เจเจนเจจเจพเจ เจฆเฉ เจธเจฅเจฟเจคเฉ:
เจคเฉเจจเจพเจคเฉเจเจ เจฆเฉ เจฆเฉเจฐเจฟเจธเจผเจฎเจพเจจ เจธเจฅเจฟเจคเฉเจเจ เจนเจจ:
...เจ
เจคเฉ เจนเฉเจฐ เจตเฉเจฐเจตเฉ:
... เจ
เจคเฉ เจคเฉเจจเจพเจคเฉ เจจเฉเฉฐ เจธเจเฉเจฒ เจเจฐเจจ เจฆเฉ เจฏเฉเจเจคเจพ เจตเฉ เจนเฉ:
เจเจธ เจเจพเจฐเจตเจพเจ เจฆเจพ เจจเจคเฉเจเจพ:
เจฒเฉเจ เจฆเฉ เจธเจผเฉเจฐเฉ เจตเจฟเฉฑเจ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจเจผเจฟเจเจฐ เจเฉเจคเฉเจเจ เจนเฉเจฐ เจเจชเจฏเฉเจเฉ เจตเจฟเจธเจผเฉเจธเจผเจคเจพเจตเจพเจ เจตเจฟเฉฑเจ เจฒเฉเจ เจฆเฉเจเจฃเจพ เจนเฉ:
... เจ
เจคเฉ เจเฉเจฃเฉ เจนเฉเจ เจชเฉเจก เจฆเฉ เจเฉฐเจเฉเจจเจฐ เจเฉฐเจธเฉเจฒ เจตเจฟเฉฑเจ เจฒเฉเจเจเจจ เจเจฐเจจ เจฒเจ เจซเฉฐเจเจธเจผเจจ:
เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจคเฉเจธเฉเจ เจจเฉเจกเจพเจ 'เจคเฉ เจธเฉเจฎเจพเจตเจพเจ/เจฌเฉเจจเจคเฉเจเจ เจจเฉเฉฐ เจตเฉ เจฆเฉเจ เจธเจเจฆเฉ เจนเฉ:
เจฌเฉเจธเจผเฉฑเจ, เจเจน เจชเฉเจจเจฒ เจฆเฉเจเจ เจธเจพเจฐเฉเจเจ เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ เจจเจนเฉเจ เจนเจจ, เจชเจฐ เจฎเฉเจ เจเจฎเฉเจฆ เจเจฐเจฆเจพ เจนเจพเจ เจเจฟ เจคเฉเจธเฉเจ เจเจฎ เจตเจฟเจเจพเจฐ เจชเฉเจฐเจพเจชเจค เจเจฐเฉเจเฉ.
เจเจเฉเจเจฐเจฃ เจ เจคเฉ เจกเฉเจธเจผเจฌเฉเจฐเจก เจฆเฉ เจจเฉเจเจธเจพเจจ
เจตเจฐเจฃเจฟเจค เจเจเฉเจเจฐเจฃ เจตเจฟเฉฑเจ เจเฉเจ เจจเจนเฉเจ เจนเฉ เจชเจนเฉเฉฐเจ เจเฉฐเจเจฐเฉเจฒ. เจเจธเจฆเฉ เจจเจพเจฒ, GitLab เจคเฉฑเจ เจชเจนเฉเฉฐเจ เจตเจพเจฒเฉ เจธเจพเจฐเฉ เจเจชเจญเฉเจเจคเจพ เจกเฉเจธเจผเจฌเฉเจฐเจก เจคเฉฑเจ เจชเจนเฉเฉฐเจ เจชเฉเจฐเจพเจชเจค เจเจฐเจฆเฉ เจนเจจเฅค เจเจนเจจเจพเจ เจเฉเจฒ เจกเฉเจธเจผเจฌเฉเจฐเจก เจตเจฟเฉฑเจ เจตเฉ เจเจนเฉ เจชเจนเฉเฉฐเจ เจนเฉ, เจเฉ เจเจฟ เจกเฉเจธเจผเจฌเฉเจฐเจก เจฆเฉ เจ
เจงเจฟเจเจพเจฐเจพเจ เจฆเฉ เจ
เจจเฉเจธเจพเจฐเฉ เจนเฉ, เจเฉ
เจกเฉเจธเจผเจฌเฉเจฐเจก เจตเจฟเฉฑเจ เจนเฉ เจงเจฟเจเจจ เจฆเฉเจฃ เจฏเฉเจ เจจเฉเจเจธเจพเจจเจพเจ เจตเจฟเฉฑเจเฉเจ, เจฎเฉเจ เจนเฉเจ เจฒเจฟเจเจฟเจเจ เจจเฉเฉฐ เจจเฉเจ เจเจฐเจฆเจพ เจนเจพเจ:
- init เจเฉฐเจเฉเจจเจฐ เจฆเฉ เจเฉฐเจธเฉเจฒ เจตเจฟเฉฑเจ เจเจเจฃเจพ เจ เจธเฉฐเจญเจต เจนเฉ;
- เจกเจฟเจชเจฒเจพเจเจฎเฉเจเจเจธ เจ เจคเฉ เจธเจเฉเจเจซเฉเจฒเจธเฉเฉฑเจเจธ เจจเฉเฉฐ เจธเฉเจงเจฃเจพ เจ เจธเฉฐเจญเจต เจนเฉ, เจนเจพเจฒเจพเจเจเจฟ เจเจน เจเจฒเฉฑเจธเจเจฐเจฐเฉเจฒ เจตเจฟเฉฑเจ เจซเจฟเจเจธ เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉ;
- เจเฉเจฌเจฐเจจเฉเจเจธ เจฆเฉ เจจเจตเฉเจจเจคเจฎ เจธเฉฐเจธเจเจฐเจฃเจพเจ เจฆเฉ เจจเจพเจฒ เจกเฉเจธเจผเจฌเฉเจฐเจก เจฆเฉ เจ เจจเฉเจเฉเจฒเจคเจพ เจ เจคเฉ เจชเฉเจฐเฉเจเฉเจเจ เจฆเฉ เจญเจตเจฟเฉฑเจ เจธเจตเจพเจฒ เจเฉเฉ เจเจฐเจฆเฉ เจนเจจเฅค
เจเจเจฐเฉ เจธเจฎเฉฑเจธเจฟเจ เจตเจฟเจธเจผเฉเจธเจผ เจงเจฟเจเจจ เจฆเฉ เจนเฉฑเจเจฆเจพเจฐ เจนเฉ.
เจกเฉเจธเจผเจฌเฉเจฐเจก เจธเจฅเจฟเจคเฉ เจ เจคเฉ เจตเจฟเจเจฒเจช
Kubernetes เจฐเฉเจฒเฉเจเจผเจพเจ เจฆเฉ เจจเจพเจฒ เจกเฉเจธเจผเจฌเฉเจฐเจก เจ
เจจเฉเจเฉเจฒเจคเจพ เจธเจพเจฐเจฃเฉ, เจชเฉเจฐเฉเจเฉเจเจ เจฆเฉ เจจเจตเฉเจจเจคเจฎ เจธเฉฐเจธเจเจฐเจฃ เจตเจฟเฉฑเจ เจชเฉเจธเจผ เจเฉเจคเฉ เจเจ (
เจเจธ เจฆเฉ เจฌเจพเจตเจเฉเจฆ, เจเฉฑเจฅเฉ เจนเฉ (เจชเจนเจฟเจฒเจพเจ เจนเฉ เจเจจเจตเจฐเฉ เจตเจฟเฉฑเจ เจ
เจชเจฃเจพเจเจ เจเจฟเจ)
เจ เฉฐเจค เจตเจฟเฉฑเจ, เจกเฉเจธเจผเจฌเฉเจฐเจก เจฆเฉ เจตเจฟเจเจฒเจช เจนเจจ. เจเจจเฉเจนเจพเจ เจฆเฉ เจตเจฟเฉฑเจ:
-
K8Dash โ เจเฉฑเจ เจจเฉเจเจตเจพเจจ เจเฉฐเจเจฐเจซเฉเจธ (เจชเจนเจฟเจฒเจพ เจเจฎเจฟเจ เจเจธ เจธเจพเจฒ เจฆเฉ เจฎเจพเจฐเจ เจคเฉฑเจ เจนเฉ), เจเฉ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจเฉฐเจเฉเจเจ เจตเจฟเจธเจผเฉเจธเจผเจคเจพเจตเจพเจ เจฆเฉ เจชเฉเจธเจผเจเจธเจผ เจเจฐเจฆเจพ เจนเฉ, เจเจฟเจตเฉเจ เจเจฟ เจเจฒเฉฑเจธเจเจฐ เจฆเฉ เจฎเฉเจเฉเจฆเจพ เจธเจฅเจฟเจคเฉ เจ เจคเฉ เจเจธเจฆเฉ เจเจฌเจเฉเจเจ เจฆเฉ เจชเฉเจฐเจฌเฉฐเจงเจจ เจฆเฉ เจตเจฟเจเจผเฉเจ เจฒ เจชเฉเจฐเจคเฉเจจเจฟเจงเจคเจพเฅค เจเฉฑเจ "เจฐเฉเจ เจฒ-เจเจพเจเจฎ เจเฉฐเจเจฐเจซเฉเจธ" เจฆเฉ เจคเฉเจฐ เจคเฉ เจฐเฉฑเจเจฟเจ เจเจฟเจ เจนเฉ, เจเจฟเจเจเจเจฟ เจคเฉเจนเจพเจจเฉเฉฐ เจฌเฉเจฐเจพเจเจเจผเจฐ เจตเจฟเฉฑเจ เจชเฉฐเจจเฉ เจจเฉเฉฐ เจคเจพเจเจผเจพ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจคเฉเจ เจฌเจฟเจจเจพเจ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจกเฉเจเจพ เจจเฉเฉฐ เจเจชเจฃเฉ เจเจช เจ เฉฑเจชเจกเฉเจ เจเจฐเจฆเจพ เจนเฉเฅค -
OpenShift เจเฉฐเจธเฉเจฒ - Red Hat OpenShift เจคเฉเจ เจเฉฑเจ เจตเฉเฉฑเจฌ เจเฉฐเจเจฐเจซเฉเจธ, เจเฉ เจเจฟ, เจชเจฐ, เจคเฉเจนเจพเจกเฉ เจเจฒเฉฑเจธเจเจฐ เจตเจฟเฉฑเจ เจชเฉเจฐเฉเจเฉเจเจ เจฆเฉ เจนเฉเจฐ เจตเจฟเจเจพเจธ เจฒเจฟเจเจเจเจพ, เจเฉ เจเจฟ เจนเจฐ เจเจฟเจธเฉ เจฒเจ เจขเฉเจเจตเจพเจ เจจเจนเฉเจ เจนเฉเฅค -
เจเฉเจฌเจฐเจจเฉเจเจฐ เจเฉฑเจ เจฆเจฟเจฒเจเจธเจช เจชเฉเจฐเฉเจเฉเจเจ เจนเฉ, เจเฉ เจเจฟ เจธเจพเจฐเฉเจเจ เจเจฒเฉฑเจธเจเจฐ เจเจฌเจเฉเจเจเจพเจ เจจเฉเฉฐ เจฆเฉเจเจฃ เจฆเฉ เจฏเฉเจเจคเจพ เจฆเฉ เจจเจพเจฒ เจนเฉเจ เจฒเฉ-เจชเฉฑเจงเจฐ (เจกเฉเจธเจผเจฌเฉเจฐเจก เจคเฉเจ เจตเฉฑเจง) เจเฉฐเจเจฐเจซเฉเจธ เจตเจเฉเจ เจฌเจฃเจพเจเจ เจเจฟเจ เจนเฉเฅค เจนเจพเจฒเจพเจเจเจฟ, เจ เจเจฟเจนเจพ เจฒเจเจฆเจพ เจนเฉ เจเจฟ เจเจธเจฆเจพ เจตเจฟเจเจพเจธ เจฐเฉเจ เจเจฟเจ เจนเฉ. -
เจชเฉเจฒเจฐเจฟเจธ - เจฆเฉเจเฉ เจฆเจฟเจจ เจนเฉเจฆเจพ เจเจฒเจพเจจ เจเฉเจคเจพ เจเฉฑเจ เจชเฉเจฐเฉเจเฉเจเจ เจเฉ เจเฉฑเจ เจชเฉเจจเจฒ เจฆเฉ เจซเฉฐเจเจธเจผเจจเจพเจ เจจเฉเฉฐ เจเฉเฉเจฆเจพ เจนเฉ (เจเจฒเฉฑเจธเจเจฐ เจฆเฉ เจฎเฉเจเฉเจฆเจพ เจธเจฅเจฟเจคเฉ เจจเฉเฉฐ เจฆเจฟเจเจพเจเจเจฆเจพ เจนเฉ, เจชเจฐ เจเจธเจฆเฉ เจเจฌเจเฉเจเจ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจจเจนเฉเจ เจเจฐเจฆเจพ เจนเฉ) เจ เจคเฉ เจเจเฉเจฎเฉเจเจฟเจ "เจตเจงเฉเจ เจ เจญเจฟเจเจธเจพเจ เจฆเฉ เจชเฉเจฐเจฎเจพเจฃเจฟเจเจคเจพ" (เจเจธ เจตเจฟเฉฑเจ เจเฉฑเจฒ เจฐเจนเฉเจเจ เจคเฉเจจเจพเจคเฉเจเจ เจฆเฉเจเจ เจธเฉฐเจฐเจเจจเจพเจตเจพเจ เจฆเฉ เจธเจผเฉเฉฑเจงเจคเจพ เจฒเจ เจเจฒเฉฑเจธเจเจฐ เจฆเฉ เจเจพเจเจ เจเจฐเจฆเจพ เจนเฉ)เฅค
เจธเจฟเฉฑเจเฉ เจฆเฉ เจฌเจเจพเจ
เจกเฉเจธเจผเจฌเฉเจฐเจก เจเฉเจฌเจฐเจจเฉเจเจธ เจเจฒเฉฑเจธเจเจฐเจพเจ เจฒเจ เจเฉฑเจ เจฎเจฟเจเจฐเฉ เจเฉเจฒ เจนเฉ เจเฉ เจ เจธเฉเจ เจธเฉเจตเจพ เจเจฐเจฆเฉ เจนเจพเจเฅค GitLab เจฆเฉ เจจเจพเจฒ เจเจธ เจฆเจพ เจเจเฉเจเจฐเจฃ เจตเฉ เจธเจพเจกเฉ เจกเจฟเจซเฉเจฒเจ เจธเจฅเจพเจชเจจเจพ เจฆเจพ เจนเจฟเฉฑเจธเจพ เจฌเจฃ เจเจฟเจ เจนเฉ, เจเจฟเจเจเจเจฟ เจฌเจนเฉเจค เจธเจพเจฐเฉ เจกเจฟเจตเฉเจฒเจชเจฐ เจเจธ เจชเฉเจจเจฒ เจจเจพเจฒ เจเจจเฉเจนเจพเจ เจฆเฉเจเจ เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ เจฌเจพเจฐเฉ เจเจคเจธเจผเจพเจนเจฟเจค เจนเจจเฅค
เจเฉเจฌเจฐเจจเฉเจเจธ เจกเฉเจธเจผเจฌเฉเจฐเจก เจตเจฟเฉฑเจ เจธเจฎเฉเจ-เจธเจฎเฉเจ 'เจคเฉ เจเจชเจจ เจธเฉเจฐเจธ เจเจฎเจฟเจเจจเจฟเจเฉ เจคเฉเจ เจตเจฟเจเจฒเจช เจนเฉเฉฐเจฆเฉ เจนเจจ (เจ เจคเฉ เจ เจธเฉเจ เจเจนเจจเจพเจ 'เจคเฉ เจตเจฟเจเจพเจฐ เจเจฐเจจ เจตเจฟเฉฑเจ เจเฉเจธเจผ เจนเจพเจ), เจชเจฐ เจเจธ เจชเฉเจพเจ 'เจคเฉ เจ เจธเฉเจ เจเจธ เจนเฉฑเจฒ เจฆเฉ เจจเจพเจฒ เจฐเจนเจฟเฉฐเจฆเฉ เจนเจพเจเฅค
PS
เจธเจพเจกเฉ เจฌเจฒเฉเจ 'เจคเฉ เจตเฉ เจชเฉเฉเจนเฉ:
- ยซ
kubebox เจ เจคเฉ Kubernetes เจฒเจ เจนเฉเจฐ เจธเจผเฉเฉฑเจฒ "; - ยซ
เจเฉเจฌเจฐเจจเฉเจเจธ เจ เจคเฉ เจเจฟเจเจฒเฉเจฌ (เจธเจฎเฉเจเจฟเจ เจ เจคเฉ เจตเฉเจกเฉเจ เจฐเจฟเจชเฉเจฐเจ) เจฆเฉ เจจเจพเจฒ เจตเจงเฉเจ CI/CD เจ เจญเจฟเจเจธ "; - ยซ
Dapp เจ เจคเฉ GitLab CI เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ Kubernetes เจตเจฟเฉฑเจ เจเจชเจฒเฉเจเฉเจธเจผเจจ เจฌเจฃเจพเจ เจ เจคเฉ เจคเฉเจจเจพเจค เจเจฐเฉ "; - ยซ
เจเจคเจชเจพเจฆเจจ เจตเจฟเฉฑเจ เจจเจฟเจฐเฉฐเจคเจฐ เจเจเฉเจเจฐเจฃ เจ เจคเฉ เจกเจฟเจฒเฉเจตเจฐเฉ เจฒเจ GitLab CI. เจญเจพเจ 1: เจธเจพเจกเฉ เจชเจพเจเจชเจฒเจพเจเจจ ".
เจธเจฐเฉเจค: www.habr.com