Kubernetes Dashboard ááẠááá·áºáááºáááºáá±áá±á¬ á¡á
á¯á¡áá±ážááŸáá·áºáááºáááºáá±á¬ áá±á¬ááºáá¯á¶ážáá±á«áºá¡áá»ááºá¡áááºáá»á¬ážááᯠááá°ááŒá®áž á¡á¬ážáá¯ááºááŸá¯á¡áááºážáá¯á¶ážááŒáá·áº á
á®áá¶ááá·áºááœá²áááºá¡ááœáẠá¡áá¯á¶ážááŒá¯áááœááºáá°ááá·áºáááááá¬áá
áºáá¯ááŒá
áºáááºá á
á®áá¶ááá·áºááœá²áá°áá»á¬áž/DevOps á¡ááºáá»ááºáá®áá¬áá»á¬ážáá¬áá ááœááºááá¯ážááºááᯠá¡áá±á·á¡ááááºážáá«ážáá°áá»á¬ážááŸáá·áº kubectl ááŸáá·áº ááááœá±á·áááºáá¶ááŒááºážá ááŸá¯ááºááœá±ážááŸá¯ááºááœá±ážááŸá¯áá»á¬ážááᯠááá¯ááºááœááºááŒá±ááŸááºážááẠááááºááœááºáá¬ážáá°áá»á¬ážáááºáž á¡ááá¯áá«á
áœááºážáááºáá»á¬ážááᯠááá°áá¯á¶ážá
áœá²ááẠááá¯ááá¯ááá¯á¡ááºáá¬áá±á¬á¡áá«ááœáẠáááºááẠáááºážááᯠááá¯ááá¯áááºááá¯ážáá¬ážáá¬áá«áááºá á¡ááŒá¬ážá¡áá¯á¶ážá¡áá±á¬ááºáá»á¬ážá á€á¡áá¬ááẠáá»áœááºá¯ááºááá¯á·ááŸáá·áºááŒá
áºáá²á·áááº- developer áá»á¬ážááẠKubernetes áááºá¡ááºáá¬áá±á·á
áºááᯠá¡ááŒááºáááºáá±á¬ááºááá¯ááŒááŒá®ážá áá»áœááºá¯ááºááá¯á· GitLab ááá¯á¡áá¯á¶ážááŒá¯áá±á¬ááŒá±á¬áá·áºá ááŒá±ááŸááºážáá»ááºááẠááá¬áá¡ááá¯ááºážááŒá
áºáá¬áááºá
áá«á áá¬ááŒá±á¬áá·áºáá²á
ááá¯ááºááá¯ááºáá±á¬á·ááºáá²á¡ááºáá»ááºáá®áá¬áá»á¬ážááẠK8s Dashboard áá²á·ááá¯á· áááááá¬áá
áºáá¯ááᯠá¡ááŸá¬ážááŸá¬ááŒááºááŒááºážá¡ááœáẠá
áááºáááºá
á¬ážáá±áááºá áá
áºáá«áá
áºáá¶ááœáẠáááºááẠááŸááºáááºážáá»á¬ážááŸáá·áº á¡áááºážá¡ááŒá
áºáá»á¬ážááᯠááŒáá·áºááŸá¯ááá¯ááŒá®áž áá
áºáá«áá
áºáá¶ááœáẠpods áá»á¬ážááᯠáááºáá
áºááŒááºážá ááŒáá·áºáá»ááºá
áá±áž/StatefulSets áá»á¬áž ááŸáá·áº container console ááá¯á·áááºááœá¬ážáá« (ááá¯áá²á·ááá¯á·áá±á¬ áá±á¬ááºážááá¯ááŸá¯áá»á¬ážáááºáž ááŸááááºá ááá¯á·áá±á¬áºá á¥ááá¬á¡á¬ážááŒáá·áºá á¥ááá¬á¡á¬ážááŒáá·áºá
ááá¯á·á¡ááŒááºá áááºáá±áá»á¬áá»á¬ážá¡á á¯á¡áá±ážááá¯ááŒáá·áºááŸá¯ááá¯áá±á¬á¡áá«ááœáẠáááºáá±áá»á¬áá»á¬ážá¡ááœáẠá áááºááá¯ááºážááá¯ááºáá¬á¡ááá¯ááºá¡ááá·áºáá áºáá¯ááŸáááẠ- "á¡áá¬áá¬ááẠá áááºážáááºážáá±áááº" ááá¯ááœá±á·ááŒááºáááŒá®áž "á¡áá¬áá¬ááá¯ááºážááẠá¡áá¯ááºááŒá áºáá±ááŒá®" áá¯ááááááá¯ááºááᯠá áááºáá»áá« (áá«ááá±á¬á· á¡ááœááºááŸáá¯ááºážá... áá«áá±ááá·áº áá«á áá±á¬ááºážáá«ážáá²á· áááºáááºááᯠáá»á±á¬áºááœááºáá±áá¬áá«)á
Standard CI á
áá
áºáá
áºáá¯á¡áá±áá²á· áá»áœááºáá±á¬áºááá¯á·ááŸá¬ ááŸááá«áááºá
áá»áœááºá¯ááºááá¯á·ááẠNGINX Ingress ááá¯á¡áá¯á¶ážááŒá¯ááŒá±á¬ááºážááá¯áááºáž áááááŒá¯áááá«áááºá áááŒá¬ážáá°ááœá±áá²á· áááºááœá²áááº
áá±á«ááºážá ááºážááá¯á· ááŒáá¯ážá á¬ážáá±áá«áááºá
áááºááŸáºáá¯ááºáááºáááºááŒááºážá
áááá¡á±á¬ááºáá«á¡ááá·áºáá»á¬ážááᯠáááºáá«ááá²áá²áá¯ááºáááºááá¯áá«á - áááá¯á¡ááºáá±á¬áá¯ááºáá±á¬ááºááŸá¯áá»á¬ážááᯠááŸá±á¬ááºááŸá¬ážááẠ- áá±á¬ááºáá±á«ááºážá ááºááœá²ááᯠáŠážá áœá¬áááºáá«á
áááºáááºááŸá¯áá»á¬ážá
áœá¬ááœáẠáá»áœááºá¯ááºááá¯á·ááẠá€áá±á«ááºážá
ááºááŸá¯ááᯠá¡áá¯á¶ážááŒá¯áá±á¬ááŒá±á¬áá·áºá áá»áœááºá¯ááºááá¯á·ááẠáááºážá áááºáááºááŸá¯ááᯠá¡ááá¯á¡áá»á±á¬áẠáá¯ááºáá±á¬ááºáá±ážáá²á·áá«áááºá áááºážá¡ááœáẠááá¯á¡ááºáá±á¬ ááááºážáááºážááŒá
áºáá»á¬ážááᯠáá¯ááºááŒááºáá¬ážáááºá
Script ááẠDashboard ááᯠá¡á á¯á¡áá±ážááœáẠááá·áºááœááºážááŒá®áž 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 dashboard" ááá¯á·áá±á«áºááŒáá«á áá¯á·á
áááºážááá¯ááá·áºááœááºážááŒááºážáááááºá¡áá±ááŒáá·áº GitLab ááẠhashes ááá¯áá±ážáááá·áºáááº-
áááºážááá¯á·ááẠáá¬ááºááœáŸááºážá¡ááœáẠá¡ááŒááºážá¡áá¯á¶áá»á¬ážá¡ááŒá
Ạá¡áá¯á¶ážááŒá¯ááŒáááºá ááááºá¡áá±ááŒáá·áºá áááºáááºááŸá¯áááºá€áá²á·ááá¯á·ááŒá
áºáááº-
$ ./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 ááá¯ááºááá¯ááºáá±ážáá±á¬ááºáá±á¬ ááœááºáá®ážááᯠoauth áá»ááºáá áºáááºáá°áá±á¬ á¡áá»ááºááᯠáŠážáááºááœá¬ážá á±áááº...
áááºáááá¯ááºááá¯áẠoauth áá¯á¶ááᯠpatch áá áºáá¯ááŒáá·áºáááºáá±á¬ááºááŒááºážááŒáá·áºááŒá¿áá¬ááá¯ááŒá±ááŸááºážáááºá
Patch oauth áá¯ááºááŒá®áž ááŒááºáááºááá·áºááœááºážáá«á
áá«ááá¯áá¯ááºááá¯á·á á¡á±á¬ááºáá« Dockerfile ááá¯áá¯á¶ážáá«áááºá
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 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
á¡áá±á«áºá á á¬ááŒá±á¬ááºážááŸááºá base64 ááᯠconfig á០á¡á¬áá¯á¶á á°ážá áá¯ááºáá²á· reader á ááŒááºáááá·áºáááºá
{"registry.company.com": {
"username": "oauth2",
"password": "PASSWORD",
"auth": "AUTH_TOKEN",
"email": "[email protected]"
}
}
áááºážááẠGitLab ááŸá áá¯á¶ážá áœá²áá°áá±áá¬ááŒá áºááŒá®áž Kubernetes áá¯ááºááẠáá¯á¶ááᯠááŸááºáá¯á¶áááºááŒááºážá០ááœá²áá¯ááºáááºááŒá áºáááºá
á¡áá¬á¡á¬ážáá¯á¶ážááŒá®ážáá«áá áááºááẠcommand ááŒáá·áº áááºááŸá (áááŸááºáá«) Dashboard áááºáááºááŒááºážááᯠáááºááŸá¬ážááá¯ááºáááº-
$ ./ctl.sh -d
... ááŒá®ážáá»áŸáẠá¡áá¬á¡á¬ážáá¯á¶ážááᯠáááºáá¶ááá·áºááœááºážáá«-
$ ./ctl.sh -i --gitlab-url https://gitlab.example.com --oauth2-id 6a52769e⊠--oauth2-secret 6b79168f⊠--dashboard-url dashboard.example.com
Dashboard ááá¯á·ááœá¬ážá á¡ááœááºááŸá±ážáá»áá±á¬ á¡áá±á¬áá·áºáááºááá¯ááºááᯠááŸá¬ááẠá¡áá»áááºáááºááŒá®-
áááºážááá¯ááŸáááºááŒá®ážáá±á¬ááºá GitLab ááẠáá»áœááºá¯ááºááá¯á·á¡á¬áž áááºážááá¯á¶ááŸááºá
á¬áá»ááºááŸá¬ááá¯á· áá±á¬á·ááºá¡ááºáááºááẠáááºážááŸááºážáááá·áºááẠ(áá¯ááºáá«áááºá á¡áááºá áá»áœááºá¯ááºááá¯á·ááœáẠááááºá á¡áá±á¬áá·áºááááºááá±ážáá«á)
áá»áœááºá¯ááºááá¯á·ááẠGitLab á¡áá±á¬ááºá¡áá¬ážáá»á¬ážááŒáá·áº áááºáá±á¬ááºááŒá®áž á¡á¬ážáá¯á¶ážááŒá®ážáá«ááŒá®-
Dashboard á¡ááºá¹áá«áááºáá»á¬ážá¡ááŒá±á¬ááºáž
á¡áááºá áááºááẠKubernetes ááŸáá·áº ááááºá á¡áá¯ááºááá¯ááºáá°ážáá±á¬ developer áá áºáŠážááŒá áºáá«áá ááá¯á·ááá¯áẠá¡ááŒá±á¬ááºážáá áºáá¯áá¯ááŒá±á¬áá·áº Dashboard ááᯠááááºá áááŒá¯á¶ááœá±á·áá°ážáá«áá áááºážá á áœááºážáá±á¬ááºáááºá¡áá»áá¯á·ááᯠáá»áœááºá¯ááºáá±á¬áºááŒáá«áááºá
ááááŠážá áœá¬á "á¡áá¬á¡á¬ážáá¯á¶ážáááºá áááºážáááºážáááº" ááá¯áááºááœá±á·ááŒááºááá¯ááºáááº-
ááá¯ááá¯á¡áá±ážá
áááºá¡áá»ááºá¡áááºáá»á¬ážááᯠáááºáááºážáá»ááºááŒá±á¬ááºážáá²ááŸá¯áá»á¬ážá áá±á«ááºážáá¯ááºáá¯ááºáá¬ážáá±á¬áá¯á¶áá»á¬ážá á
áááºááŒááºážááá¯ááºáᬠá¡ááŒá±á¬ááºážááŒáá»ááºáá»á¬ážááŸáá·áº áááºážááá¯á·áá¡ááŒá±á¡áá±áá»á¬ážáá²á·ááá¯á·áá±á¬ pods áá»á¬ážá¡ááœááºáááºáž áááŸáááá¯ááºáá«áááºá
ááŒáá·áºáá»ááºááŸá¯áá»á¬ážááœáẠááŒááºááá¯ááºáá±á¬ á¡ááŒá±á¡áá±áá»á¬áž ááŸááááº-
... ááŸáá·áº á¡ááŒá¬ážá¡áá±ážá
áááºá¡áá»ááºáá»á¬áž
... ááŸáá·áº ááŒáá·áºáá»ááºááŸá¯á¡á¬áž á¡ááá¯ááºážá¡áá¬áá
áºáá¯á¡áá áá¯ááºáá±á¬ááºááá¯ááºá
áœááºážáááºáž ááŸááá«áááºá
á€áá¯ááºáá±á¬ááºáá»ááºáááááº-
áá±á¬ááºážáá«ážá¡á
ááœáẠáá±á¬áºááŒáá¬ážááŒá®ážááŒá
áºáá±á¬ á¡ááŒá¬ážá¡áá¯á¶ážáááºáá±á¬á¡ááºá¹áá«áááºáá»á¬ážáá²ááœáẠááŸááºáááºážáá»á¬ážááᯠááŒáá·áºááŸá¯ááŒááºážááŒá
áºáááº-
... ááŸáá·áº ááœá±ážáá»ááºáá¬ážáá±á¬ pod á container console ááá¯á· áááºáá±á¬ááºááẠáá¯ááºáá±á¬ááºáá»ááº-
á¥ááá¬á¡á¬ážááŒáá·áºá áááºááẠnode áá»á¬ážááŸá ááá·áºáááºáá»ááºáá»á¬áž/áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááá¯áááºáž ááŒáá·áºááŸá¯ááá¯ááºáááºá
áá¯ááºáá«áááºá áá«ááœá±á panel áá²á· á
áœááºážáá±á¬ááºááá¯ááºáááºá¡á¬ážáá¯á¶ážááá¯ááºáá±ááá·áº áá±áá°áá»á¡ááŒá¶á¥á¬ááºááᯠáááºááááá·áºáááºááá¯á· áá»áŸá±á¬áºááá·áºáá«áááºá
áá±á«ááºážá ááºááŒááºážááŸáá·áº Dashboard áá¡á¬ážáááºážáá»ááºáá»á¬áž
áá±á¬áºááŒáá¬ážáá±á¬ áá±á«ááºážá
ááºááŸá¯ááœáẠáááŸááá«á á¡áá¯á¶ážááŒá¯ááœáá·áºááá¯ááááºážáá»á¯ááºáááº. áááºážááŸáá·áºá¡áá°á GitLab ááá¯á·áááºáá±á¬ááºááœáá·áºááŸáááá·áºá¡áá¯á¶ážááŒá¯áá°á¡á¬ážáá¯á¶ážááẠDashboard ááá¯á·áááºáá±á¬ááºááœáá·áºááŸááááºá áááºážááá¯á·ááẠDashboard ááá¯ááºááá¯ááºááœáẠáá°áá®áá±á¬áááºáá±á¬ááºááœáá·áºááŸáááŒá®áž Dashboard ááá¯ááºááá¯ááºáá¡ááœáá·áºá¡áá±ážáá»á¬ážááŸáá·áº ááá¯ááºáá®áááºá
Dashboard ááá¯ááºááá¯ááºá áááá¬áááºááŸá¬ážáá±á¬ á¡á¬ážáááºážáá»ááºáá»á¬ážá¡áááºá á¡á±á¬ááºáá«ááá¯á·ááᯠáá»áœááºá¯ááºáááááŒá¯áááá«áááºá
- init container á console ááá¯á·áááºááẠáááŒá áºááá¯ááºáá«á
- áááºážááᯠClusterRole ááœáẠááŒááºáááºááá¯ááºáá±á¬áºáááºáž Deployments ááŸáá·áº StatefulSets áá»á¬ážááᯠáááºážááŒááºááẠáááŒá áºááá¯ááºáá±á
- Kubernetes á áá±á¬ááºáá¯á¶ážáá¬ážááŸááºážáá»á¬ážááŸáá·áº áááºááŸáºáá¯ááºá ááá¯ááºáááºáá®ááŸá¯ ááŸáá·áº ááá±á¬áá»ááºá á¡áá¬áááºááẠáá±ážááœááºážáá»á¬áž ááá¯ážáá¬áá«áááºá
áá±á¬ááºáá¯á¶ážááŒá¿áá¬ááᯠá¡áá°ážááá¯ááŒá¯ááá·áºáááºá
áááºááŸáºáá¯ááºá¡ááŒá±á¡áá±ááŸáá·áº á¡ááŒá¬ážááœá±ážáá»ááºá áá¬áá»á¬áž
ááá±á¬áá»ááºááá±á¬ááºáá¯á¶ážáá¬ážááŸááºážááœááºááŒááá¬ážááá·áº Kubernetes áá¯ááºáá±ááŸá¯áá»á¬ážááŸáá·áº áááºááŸáºáá¯ááºááœá²áááºááá¯ááºááŸá¯ááá¬áž (
áá«áá±á¬ááºá០(áááºááá«áá®áááŸá¬ ááœá±ážá
á¬ážáá¬ážááŒá®ážáá¬áž)á
áá±á¬ááºáá¯á¶ážááœááºá Dashboard á¡ááœááºá¡ááŒá¬ážááœá±ážáá»ááºá áá¬áá»á¬ážááŸááááºá áá°ááá¯á·áá²ááœááº:
-
K8Dash â áááºááœááºáá±á¬á¡ááºáá¬áá±á·á áºáá áºáᯠ(áááá¡ááŒáááºáááááááºááẠááá¯ááŸá áºáááºáááŸá áááºáááº)á áááºážááẠá¡á á¯á¡áá±ážááááºááŸáá¡ááŒá±á¡áá±ááŸáá·áº áááºážáá¡áá¬ááá¹áá¯áá»á¬ážááᯠá á®áá¶ááá·áºááœá²ááŒááºážáá²á·ááá¯á·áá±á¬ áá±á¬ááºážáá±á¬á¡ááºá¹áá«áááºáá»á¬ážááᯠáá±ážáá±á¬ááºáá¬ážááŒá®ážááŒá áºáááºá á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº "á¡áá»áááºááŸáá·áºáááŒá±ážáá® á¡ááºáá¬áá±á·á áº" á¡ááŒá Ạáá±áá¬áá°áá¬ážáááºá ááá±á¬ááºáá¬ááŸá á á¬áá»ááºááŸá¬ááᯠááŒááºáááºáááºážáá áºááẠáááá¯á¡ááºáá² ááŒááá¬ážááá·áº áá±áá¬ááᯠá¡ááá¯á¡áá»á±á¬áẠá¡ááºááááºáá¯ááºáááºá -
OpenShift Console - áááºááá¯á·áááºááá¯á á±áá¬áá° Red Hat OpenShift á០áááºá¡ááºáá¬áá±á·á áºáá áºáá¯ááẠáá°ááá¯ááºážá¡ááœááºáááá·áºáá»á±á¬áºááá·áº ááá±á¬áá»ááºáá¡ááŒá¬ážááá¯ážáááºááŸá¯áá»á¬ážááᯠáááºáá¡á á¯á¡áá±ážááá¯á· áá°áá±á¬ááºáá¬áááºááŒá áºáááºá -
Kubernator á¡á á¯á¡áá±ážá¡áá¬ááá¹áá¯á¡á¬ážáá¯á¶ážááᯠááŒáá·áºááŸá¯ááá¯ááºá áœááºážááŸáááá·áº á¡ááá·áºáááá·áº (Dashboard áááº) á¡ááºáá¬áá±á·á áºá¡ááŒá Ạáááºáá®ážáá¬ážááá·áº á áááºáááºá á¬ážá áá¬áá±á¬ááºážááá·áº ááá±á¬áá»ááºáá áºáá¯ááŒá áºáááºá ááá¯á·áá±á¬áºá áááºážáááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯áááºááá·áºááœá¬ážáá¯á¶ááááºá -
Polaris - áá áºáá±á·áááŒá¬ážáá²áááŒá±ááŒá¬áá²á·áááºá á¡ááá·áºáá áºáá¯á áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠáá±á«ááºážá ááºáá¬ážááá·áº ááá±á¬áá»ááºáá áºáᯠ(á¡á á¯á¡áá±ážá áááºááŸáá¡ááŒá±á¡áá±ááᯠááŒááá±á¬áºáááºáž áááºážáá¡áá¬ááá¹áá¯áá»á¬ážááᯠáá á®áá¶áá«) ááŸáá·áº á¡ááá¯á¡áá»á±á¬áẠ"á¡áá±á¬ááºážáá¯á¶ážá¡áá±á·á¡áá»áá·áºáá»á¬áž ááá¬ážáááºá¡áááºááŒá¯ááŒááºáž" (áááºážááœáẠáá¯ááºáá±á¬ááºáá±áá±á¬ ááŒáá·áºáá»ááºááŸá¯ááœá²á·á ááºážáá¯á¶áá»á¬ážá ááŸááºáááºááŸá¯á¡ááœáẠá¡á á¯á¡áá±ážááᯠá á áºáá±ážáááº)á
á¡á á¬ážáá±á¬ááºáá»ááºá
Dashboard ááẠáá»áœááºá¯ááºááá¯á·áááºáá±á¬ááºááŸá¯áá±ážáá±áá±á¬ Kubernetes á¡á á¯á¡áá±ážáá»á¬ážá¡ááœáẠá á¶áá°áááááá¬áá áºáá¯ááŒá áºáááºá áá±á¬á·ááºáá²áá±ážáá¬ážáá°á¡áá»á¬ážá¡ááŒá¬ážááẠá€á¡ááá·áºááœáẠáááºážááá¯á·áá áœááºážáááºáá»á¬ážááᯠá áááºááŸá¯ááºááŸá¬ážáá±áá±á¬ááŒá±á¬áá·áº GitLab ááŸáá·áº áááºážááá±á«ááºážá ááºááŸá¯ááẠáá»áœááºá¯ááºááá¯á·ááá°áááá·áºááœááºážááŸá¯ááá áºá áááºáá áºááá¯ááºážááŒá áºáá¬áá«áááºá
Kubernetes áááºááŸáºáá¯ááºááœáẠá¡áá«á¡á¬ážáá»á±á¬áºá áœá¬ Open Source á¡ááá¯ááºážá¡ááá¯ááºážá០á¡ááŒá¬ážááœá±ážáá»ááºá áá¬áá»á¬áž ááŸááá«ááẠ(áááºážááá¯á·ááᯠááá·áºááœááºážá ááºážá á¬ážááẠáá»áœááºá¯ááºááá¯á· áááºážááŒá±á¬ááºáááá«áááº)á ááá¯á·áá±á¬áº á€á¡ááá·áºááœáẠáá»áœááºá¯ááºááá¯á·ááẠá€ááŒá±ááŸááºážáá»ááºááŒáá·áº áá»ááºááŸááá±áá«áááºá
PS
áá»áœááºá¯ááºááá¯á·áááá±á¬á·ááºááœááºáááºážáááºáá«
- «
Kubernetes á¡ááœáẠkubebox ááŸáá·áº á¡ááŒá¬ážáá±á¬ á¡ááœá¶áá»á¬áž "; - «
Kubernetes ááŸáá·áº GitLab ááŒáá·áº á¡áá±á¬ááºážáá¯á¶áž CI/CD á¡áá±á·á¡áá»áá·áºáá»á¬áž (ááŒááºáááºáá¯á¶ážáááºááŒááºážááŸáá·áº áá®áá®ááá¯á¡á á®áááºáá¶á á¬) "; - «
dapp ááŸáá·áº GitLab CI ááᯠá¡áá¯á¶ážááŒá¯á Kubernetes ááœáẠá¡ááá®áá±ážááŸááºážáá»á¬ážááᯠáááºáá±á¬ááºááŒá®áž á¡áá¯á¶ážáá»áá«á "; - «
áá¯ááºáá¯ááºááŸá¯ááœáẠá ááºáááºáááŒááºáá±á«ááºážá ááºááŒááºážááŸáá·áº áá±ážááá¯á·ááŒááºážá¡ááœáẠGitLab CIá á¡ááá¯ááºáž 1- áá»áœááºá¯ááºááá¯á·á ááá¯ááºááá¯ááºáž "á
source: www.habr.com