Skip to content

Commit 3ccebe6

Browse files
committed
update
1 parent 3579498 commit 3ccebe6

File tree

10 files changed

+1762
-1
lines changed

10 files changed

+1762
-1
lines changed

k3s/Taskfile.yml

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ tasks:
6969
# service account
7070
- kubectl get serviceaccount --all-namespaces
7171
- kubectl get ingress --all-namespaces
72+
# api server url
73+
- kubectl config view
7274
ignore_error: true
7375

7476
check:dash:
@@ -130,7 +132,133 @@ tasks:
130132
- kubectl -n k8m port-forward svc/k8m 3618:3618 # 打开ip+ 3618 端口
131133
- open http://localhost:3618
132134

135+
# kuboard: https://github.com/eip-work/kuboard-press
136+
# 用户名: admin
137+
# 密码: Kuboard123
138+
web4:
139+
cmds:
140+
- docker-compose -f compose.yml up -d
141+
- docker-compose -f compose.yml ps
142+
- open http://localhost:6001
143+
dir: kuboard/
144+
145+
web4:token:
146+
aliases: ["w4t"]
147+
cmds:
148+
- kubectl apply -f kuboard-create-token.yml
149+
- $(kubectl -n kuboard get secret $(kubectl -n kuboard get secret kuboard-admin-token | grep kuboard-admin-token | awk '{print $1}') -o go-template='{{.data.token}}' | base64 -d)
150+
dir: kuboard/
151+
152+
# kubesphere: https://github.com/kubesphere/kubesphere
153+
# 用户名: admin
154+
# 密码: P@88w0rd (首次更改为: Admin,1234) # https://kubesphere.io/docs/v4.1/02-quickstart/01-install-kubesphere/
155+
web5:
156+
cmds:
157+
- helm upgrade --install -n kubesphere-system --create-namespace ks-core https://charts.kubesphere.io/main/ks-core-1.1.3.tgz --debug --wait
158+
# 查看服务端口
159+
- kubectl -n kubesphere-system get svc
160+
# proxy
161+
- kubectl -n kubesphere-system port-forward svc/ks-console 6002:80
162+
- open http://localhost:6002
163+
164+
#############################################################################
165+
166+
#
167+
# 负载均衡器: https://github.com/openelb/openelb
168+
#
169+
openelb:dl:
170+
aliases: ["oedl"]
171+
cmds:
172+
- wget https://raw.githubusercontent.com/openelb/openelb/release-0.6/deploy/openelb.yaml
173+
dir: openelb/
174+
175+
openelb:run:
176+
aliases: ["oe"]
177+
cmds:
178+
- kubectl apply -f openelb.yaml
179+
- kubectl get po -n openelb-system
180+
- kubectl get validatingwebhookconfiguration
181+
- kubectl get mutatingwebhookconfigurations
182+
- kubectl get nodes -o wide # 配置ip段, 要保证所有 Kubernetes 集群节点必须在同一个二层网络中
183+
dir: openelb/
184+
185+
# create eip
186+
# - https://openelb.io/docs/getting-started/usage/openelb-ip-address-assignment/
187+
openelb:eip:
188+
aliases: ["oeip"]
189+
cmds:
190+
- kubectl apply -f openelb.eip.yml
191+
dir: openelb/
192+
193+
openelb:del:
194+
aliases: ["od"]
195+
cmds:
196+
- kubectl delete -f openelb.yaml
197+
dir: openelb/
198+
199+
# 示例服务: nginx
200+
openelb:nginx:
201+
aliases: ["ng"]
202+
cmds:
203+
- kubectl apply -f nginx.yml
204+
- kubectl get pods
205+
dir: openelb/
206+
207+
# load balancer
208+
openelb:nginx:lb:
209+
aliases: ["nglb"]
210+
cmds:
211+
- kubectl apply -f nginx.svc.yml
212+
- kubectl get svc nginx
213+
dir: openelb/
214+
215+
ng2:
216+
cmds:
217+
- kubectl apply -f nginx.svc2.yml
218+
- kubectl get svc
219+
- kubectl get pod,svc,ing
220+
dir: openelb/
221+
222+
#############################################################################
223+
224+
#
225+
#负载均衡的正确配置过程:
226+
#
227+
create:cluster:
228+
cmds:
229+
- k3d cluster create --api-port 6550 -p "8081:80@loadbalancer" --agents 2 k3d-test
230+
- k3d cluster list
231+
- kubectl --cluster k3d-k3d-test get nodes,svc,ing,pod
232+
233+
# k3d cluster
234+
k3d:del:
235+
aliases: ["kd"]
236+
cmds:
237+
- k3d cluster list
238+
- k3d cluster delete # k3d-test
239+
240+
#
241+
# 负载均衡的正确配置过程:
242+
# - https://k3d.io/stable/usage/exposing_services/#1-via-ingress-recommended
243+
# - 这个是成功的!!!!
244+
# - 基于 Ingress 公开暴露服务!!!
245+
#
246+
ng3:
247+
cmds:
248+
- kubectl --cluster k3d-k3d-test apply -f nginx.svc3.yml
249+
- kubectl --cluster k3d-k3d-test get svc
250+
- kubectl --cluster k3d-k3d-test get pod,svc,ing
251+
- open http://localhost:8081 # 注意不是 https !!!
252+
dir: openelb/
253+
254+
#############################################################################
255+
133256
cluster:import:
134257
aliases: ["ci"]
135258
cmds:
136259
- cat $HOME/.kube/config | grep server | awk '{print $2}'
260+
261+
compose:
262+
aliases: ["dc"]
263+
cmds:
264+
- docker-compose {{.CLI_ARGS}}

k3s/kuboard/compose.yml

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
##########################################################################################
2+
#
3+
# ref:
4+
# - https://github.com/eip-work/kuboard-press
5+
# run:
6+
# - docker compose up -d
7+
# - http://localhost:6001
8+
# - 用户名: admin
9+
# - 密码: Kuboard123
10+
#
11+
##########################################################################################
12+
13+
configs:
14+
create_db_sql:
15+
content: |
16+
CREATE DATABASE kuboard DEFAULT CHARACTER SET = 'utf8mb4' DEFAULT COLLATE = 'utf8mb4_unicode_ci';
17+
create user 'kuboard'@'%' identified by 'kuboardpwd';
18+
grant all privileges on kuboard.* to 'kuboard'@'%';
19+
FLUSH PRIVILEGES;
20+
21+
services:
22+
db:
23+
image: swr.cn-east-2.myhuaweicloud.com/kuboard/mariadb:11.3.2-jammy
24+
# image: mariadb:11.3.2-jammy
25+
# swr.cn-east-2.myhuaweicloud.com/kuboard/mariadb:11.3.2-jammy 与 mariadb:11.3.2-jammy 镜像完全一致
26+
environment:
27+
MARIADB_ROOT_PASSWORD: kuboardpwd
28+
MYSQL_ROOT_PASSWORD: kuboardpwd
29+
TZ: Asia/Shanghai
30+
31+
# 创建一个数据卷, 替换下面的参数
32+
volumes:
33+
- kuboard-mariadb-data:/var/lib/mysql:Z
34+
configs:
35+
- source: create_db_sql
36+
target: /docker-entrypoint-initdb.d/create_db.sql
37+
mode: 0777
38+
networks:
39+
kuboard_v4_dev:
40+
aliases:
41+
- db
42+
kuboard:
43+
image: swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v4
44+
# image: eipwork/kuboard:v4
45+
environment:
46+
- DB_DRIVER=org.mariadb.jdbc.Driver
47+
- DB_URL=jdbc:mariadb://db:3306/kuboard?serverTimezone=Asia/Shanghai
48+
- DB_USERNAME=kuboard
49+
- DB_PASSWORD=kuboardpwd
50+
ports:
51+
- "6001:80" # 端口访问: http://127.0.0.1:6001
52+
depends_on:
53+
- db
54+
networks:
55+
kuboard_v4_dev:
56+
aliases:
57+
- kuboard
58+
59+
networks:
60+
kuboard_v4_dev:
61+
driver: bridge
62+
63+
# 数据卷
64+
volumes:
65+
kuboard-mariadb-data:
66+
driver: local
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
---
2+
apiVersion: v1
3+
kind: Namespace
4+
metadata:
5+
name: kuboard
6+
7+
---
8+
apiVersion: v1
9+
kind: ServiceAccount
10+
metadata:
11+
name: kuboard-admin
12+
namespace: kuboard
13+
14+
---
15+
apiVersion: rbac.authorization.k8s.io/v1
16+
kind: ClusterRoleBinding
17+
metadata:
18+
name: kuboard-admin-crb
19+
roleRef:
20+
apiGroup: rbac.authorization.k8s.io
21+
kind: ClusterRole
22+
name: cluster-admin
23+
subjects:
24+
- kind: ServiceAccount
25+
name: kuboard-admin
26+
namespace: kuboard
27+
28+
---
29+
apiVersion: v1
30+
kind: Secret
31+
type: kubernetes.io/service-account-token
32+
metadata:
33+
annotations:
34+
kubernetes.io/service-account.name: kuboard-admin
35+
name: kuboard-admin-token
36+
namespace: kuboard

k3s/openelb/nginx.svc.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#
2+
# openelb-nginx-svc.yaml
3+
# - https://cloud.tencent.com/developer/article/2008314
4+
#
5+
apiVersion: v1
6+
kind: Service
7+
metadata:
8+
name: nginx
9+
annotations:
10+
lb.kubesphere.io/v1alpha1: openelb
11+
protocol.openelb.kubesphere.io/v1alpha1: layer2
12+
eip.openelb.kubesphere.io/v1alpha2: eip-sample-pool # eip-pool # 更改此处!! # sample
13+
spec:
14+
selector:
15+
app: nginx
16+
type: LoadBalancer
17+
ports:
18+
- name: http
19+
port: 8000 # 端口
20+
targetPort: 8000 # 端口

k3s/openelb/nginx.svc2.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
---
2+
apiVersion: apps/v1
3+
kind: Deployment
4+
metadata:
5+
name: nginx-deployment
6+
spec:
7+
selector:
8+
matchLabels:
9+
app: nginx
10+
replicas: 2 # tells deployment to run 2 pods matching the template
11+
template:
12+
metadata:
13+
labels:
14+
app: nginx
15+
spec:
16+
containers:
17+
- name: nginx
18+
image: nginx:1.14.2
19+
ports:
20+
- containerPort: 80
21+
22+
---
23+
apiVersion: v1
24+
kind: Service
25+
metadata:
26+
name: nginx-svc
27+
spec:
28+
ports:
29+
- port: 80
30+
name: nginx
31+
targetPort: 80
32+
type: ClusterIP
33+
selector:
34+
# apply service to any pod with label app: nginx
35+
app: nginx
36+
37+
#
38+
# 创建 Ingress
39+
#
40+
---
41+
apiVersion: networking.k8s.io/v1
42+
kind: Ingress
43+
metadata:
44+
name: nginx-ingress
45+
annotations:
46+
kubernetes.io/ingress.class: traefik
47+
spec:
48+
rules:
49+
- host: ng.localhost # nginx.h2lcloud.com # 域名, 使用本地域名
50+
http:
51+
paths:
52+
- path: /
53+
pathType: Prefix
54+
backend:
55+
service:
56+
name: nginx-svc
57+
port:
58+
number: 80

k3s/openelb/nginx.svc3.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# apiVersion: networking.k8s.io/v1beta1 # for k3s < v1.19
2+
apiVersion: networking.k8s.io/v1
3+
kind: Ingress
4+
metadata:
5+
name: nginx
6+
annotations:
7+
ingress.kubernetes.io/ssl-redirect: "false"
8+
9+
spec:
10+
rules:
11+
- http:
12+
paths:
13+
- path: /
14+
pathType: Prefix
15+
backend:
16+
service:
17+
name: nginx
18+
port:
19+
number: 80

k3s/openelb/nginx.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# openelb-nginx.yaml
2+
apiVersion: apps/v1
3+
kind: Deployment
4+
metadata:
5+
name: nginx
6+
spec:
7+
selector:
8+
matchLabels:
9+
app: nginx
10+
template:
11+
metadata:
12+
labels:
13+
app: nginx
14+
spec:
15+
containers:
16+
- name: nginx
17+
image: nginx
18+
ports:
19+
- containerPort: 8000 # 容器端口

0 commit comments

Comments
 (0)