Kubernetes Dashboard bụ ngwa dị mfe iji nweta ozi ọhụụ gbasara ụyọkọ na-agba ọsọ gị yana iji obere mbọ jikwaa ya. Ị na-amalite ịghọta ya ọbụna karị mgbe ịnweta ikike ndị a dị mkpa ọ bụghị nanị site na ndị ọrụ nchịkwa / DevOps engineer, kamakwa site na ndị na-amachaghị nke ọma na njikwa na / ma ọ bụ na-achọghị ime ihe mgbagwoju anya niile nke mmekọrịta na kubectl na ndị ọzọ utilities. Nke a mere anyị: ndị mmepe chọrọ ịnweta ngwa ngwa Kubernetes web interface, na ebe anyị na-eji GitLab, ngwọta ahụ bịara n'onwe ya.
Gịnị kpatara nke a?
Ndị mmepe ozugbo nwere ike ịnwe mmasị na ngwa dị ka K8s Dashboard maka ọrụ nbipu. Mgbe ụfọdụ, ị chọrọ ile ndekọ na akụrụngwa, na mgbe ụfọdụ igbu pods, ọnụ ọgụgụ Deployments/StatefulSets, na ọbụna na-aga akpa console (enwerekwa arịrịọ nke, Otú ọ dị, e nwere ụzọ ọzọ - ka ihe atụ, site na. kubectl-debug).
Tụkwasị na nke ahụ, e nwere oge uche maka ndị njikwa mgbe ha chọrọ ilele ụyọkọ ahụ - ịhụ na "ihe niile bụ akwụkwọ ndụ akwụkwọ ndụ", ma si otú a na-emesi onwe ha obi ike na "ihe niile na-arụ ọrụ" (nke, n'ezie, dị nnọọ ikwu ... ma nke a karịrị akarị nke isiokwu).
Dị ka ọkọlọtọ CI usoro anyị nwere etinyere ya GitLab: ndị mmepe niile na-ejikwa ya. Ya mere, iji nye ha ohere, ọ bụ ihe ezi uche dị na ya ijikọ Dashboard na akaụntụ GitLab.
M ga-achọpụtakwa na anyị na-eji NGINX Ingress. Ọ bụrụ na ị na-arụ ọrụ na ndị ọzọ ingress ngwọta, ị ga-achọrọ onwe gị ịchọta analogues nke nkọwa maka ikike.
Na-agbalị mwekota
Nwụnye dashboard
Ịkpachara anya: Ọ bụrụ na ị ga-emeghachi usoro ndị a dị n'okpuru, mgbe ahụ - ka ịzere ọrụ ndị na-adịghị mkpa - buru ụzọ gụọ na obere isiokwu na-esote.
Ebe ọ bụ na anyị na-eji ntinye a n'ọtụtụ nrụnye, anyị ewepụtala nrụnye ya. A na-ebipụta isi mmalite ndị achọrọ maka nke a ebe nchekwa GitHub pụrụ iche. Ha dabere na nhazi YAML gbanwetụrụ ntakịrị site na ebe nchekwa Dashboard gọọmentị, yana edemede Bash maka ntinye ngwa ngwa.
Edemede a na-etinye Dashboard na ụyọkọ ahụ wee hazie ya maka njikọta na 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
Agbanyeghị, tupu iji ya, ịkwesịrị ịga na GitLab: mpaghara nchịkwa → Ngwa - wee tinye ngwa ọhụrụ maka panel n'ọdịnihu. Ka anyị kpọọ ya "kubernetes dashboard":
N'ihi ịgbakwunye ya, GitLab ga-enye hashes:
Ha bụ ndị a na-eji dị ka arụmụka na edemede. N'ihi ya, nrụnye dị ka nke a:
Mgbe nke ahụ gasịrị, ka anyị lelee na ihe niile malitere:
$ 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
N'oge na-adịghị, ihe niile ga-amalite, Otú ọ dị ikike agaghị arụ ọrụ ozugbo! Nke bụ eziokwu bụ na n'ime ihe oyiyi a na-eji (ọnọdụ dị na ihe oyiyi ndị ọzọ yiri ya) usoro nke ijide redirect na callback na-emejuputa na-ezighị ezi. Ọnọdụ a na-eduga na eziokwu ahụ bụ na iyi na-ehichapụ kuki nke iyi n'onwe ya na-enye anyị ...
A na-edozi nsogbu ahụ site na iji patch wuo onyonyo iyi iyi nke gị.
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
Ugbu a ị nwere ike wuo onyonyo a wee tinye ya na GitLab anyị. Na-esote na manifests/kube-dashboard-oauth2-proxy.yaml gosi iji onyonyo a chọrọ (jiri nke gị dochie ya):
image: docker.io/colemickens/oauth2_proxy:latest
Ọ bụrụ na ị nwere ndekọ nke mechiri site na ikike, echefula ịgbakwunye ojiji nke nzuzo maka ihe oyiyi dọpụta:
Ọ bụ oge iji gaa na Dashboard wee chọta bọtịnụ nbanye nke ochie:
Mgbe ịpịchara ya, GitLab ga-ekele anyị, na-enye anyị ohere ịbanye na ibe ya (n'ezie, ọ bụrụ na anyị abanyebeghị ebe ahụ):
Anyị na-abanye na nzere GitLab - emekwara ihe niile:
Banyere njirimara Dashboard
Ọ bụrụ na ị bụ onye nrụpụta nke na-esoghị Kubernetes arụ ọrụ na mbụ, ma ọ bụ naanị n'ihi ihe ụfọdụ ị hụbeghị Dashboard mbụ, m ga-egosipụta ụfọdụ ike ya.
Nke mbụ, ị nwere ike ịhụ na "ihe niile bụ akwụkwọ ndụ akwụkwọ ndụ":
Data zuru ezu dịkwa maka pọd, dị ka mgbanwe gburugburu ebe obibi, onyonyo ebudatara, arụmụka mmalite, na steeti ha:
Nkwanye nwere ọkwa a na-ahụ anya:
... na nkọwa ndị ọzọ:
... na enwekwara ike ịkaba ọkwa mbugharị:
Nsonaazụ nke ọrụ a:
N'ime atụmatụ ndị ọzọ bara uru nke a kpọtụrụ aha na mmalite nke akụkọ a bụ ịlele ndekọ:
... yana ọrụ ịbanye n'ime njikwa akpa nke pọd ahọpụtara:
Dịka ọmụmaatụ, ị nwekwara ike lelee oke / arịrịọ dị na ọnụ:
N'ezie, ndị a abụghị ike niile nke panel, ma enwere m olileanya na ị ga-enweta echiche izugbe.
Ọdịmma nke mwekota na Dashboard
Na njikọ a kọwara enweghị njikwa ohere. Site na ya, ndị ọrụ niile nwere ohere ọ bụla na GitLab na-enweta ohere na Dashboard. Ha nwere otu ohere ahụ na Dashboard n'onwe ya, kwekọrọ na ikike nke Dashboard n'onwe ya, nke A kọwapụtara na RBAC. N'ụzọ doro anya, nke a adịghị adabara onye ọ bụla, mana maka ikpe anyị ọ tụgharịrị zuru ezu.
N'ime ọghọm ndị a na-ahụ anya na Dashboard n'onwe ya, ahụrụ m ihe ndị a:
ọ gaghị ekwe omume ịbanye na njikwa nke akpa init;
ọ gaghị ekwe omume idezi Deployments na StatefulSets, n'agbanyeghị na enwere ike idozi nke a na ClusterRole;
Ndakọrịta nke dashboard na ụdị Kubernetes kachasị ọhụrụ yana ọdịnihu nke ọrụ a na-ewelite ajụjụ.
Nsogbu ikpeazụ kwesịrị nlebara anya pụrụ iche.
Ọkwa dashboard na ndị ọzọ
Tebụlụ ndakọrịta dashboard na mwepụta Kubernetes, ewepụtara na ụdị ọrụ a kachasị ọhụrụ (v1.10.1), enwechaghị obi ụtọ:
N'agbanyeghị nke a, e nwere (ama nakweere na January) PR #3476, nke na-ekwupụta nkwado maka K8s 1.13. Na mgbakwunye, n'etiti okwu ọrụ ị nwere ike ịchọta ntụaka maka ndị ọrụ na-arụ ọrụ na panel na K8s 1.14. N'ikpeazụ, eme n'ime koodu ntọala ọrụ akwụsịla. Yabụ (opekata mpe!) Ọnọdụ n'ezie nke ọrụ ahụ adịghị njọ dị ka ọ nwere ike iyi na mbụ site na tebụl ndakọrịta gọọmentị.
N'ikpeazụ, enwere ụzọ ọzọ maka Dashboard. N'etiti ha:
K8 dash - a na-eto eto interface (nke mbụ eme ụbọchị laghachi March nke afọ a), nke na-ama na-enye ezi atụmatụ, dị ka a visual nnọchiteanya nke ugbu a ọnọdụ nke ụyọkọ na njikwa nke ihe ya. Edoro dị ka "ntụgharị oge n'ezie", n'ihi na na-emelite data egosiri na-akpaghị aka na-achọghị ka ịmegharịa ibe ahụ na ihe nchọgharị ahụ.
OpenShift Console - ihe ntanetị weebụ sitere na Red Hat OpenShift, nke, agbanyeghị, ga-eweta mmepe ndị ọzọ nke ọrụ ahụ na ụyọkọ gị, nke na-adabaghị maka onye ọ bụla.
Kubernator bụ ọrụ na-adọrọ mmasị, nke emepụtara dị ka interface dị ala (karịa Dashboard) nwere ike ịlele ihe ụyọkọ niile. Agbanyeghị, ọ dị ka mmepe ya akwụsịla.
Polaris - naanị ụbọchị ọzọ mara ọkwa oru ngo nke na-ejikọta ọrụ nke otu panel (na-egosi ọnọdụ nke ụyọkọ nke ugbu a, ma ọ dịghị achịkwa ihe ya) na akpaka "nkwenye nke omume kachasị mma" (na-enyocha ụyọkọ maka nhazi nke nhazi nke Deployments na-agba ọsọ na ya).
Kama ikwubi
Dashboard bụ ngwaọrụ ọkọlọtọ maka ụyọkọ Kubernetes anyị na-eje ozi. Njikọ ya na GitLab abụrụla akụkụ nke nrụnye ndabara anyị, ebe ọtụtụ ndị mmepe na-enwe obi ụtọ maka ike ha nwere na panel a.
Kubernetes Dashboard na-enwe usoro ọzọ site na obodo Open Source (anyị nwere obi ụtọ ịtụle ha), mana n'oge a, anyị na-anọgide na ngwọta a.