部署kuboard与使用
16. 部署kuboard
16.1 命令
sudo docker run -d \ --restart=always \ --name=kuboard \ -p 8080:80/tcp \ -p 10081:10081/tcp \ -e KUBOARD_ENDPOINT="http://192.168.1.75:80" \ -e KUBOARD_AGENT_SERVER_TCP_PORT="10081" \ -v /data/kuboard-date:/data \ swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v3
- 用户名:admin
- 密码:Kuboard123
16.2 创建集群
-
点击添加集群
-
点击左边以.kubeconfig文件方式添加集群
-
需要把/root/.kube/config文件全部复制进来
#配置文件 root@deploy-harbor:~# cat /root/.kube/config apiVersion: v1 clusters: - cluster: certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURsRENDQW55Z0F3SUJBZ0lVTUV2SXV3UXdTL3lDMXFyUlFpZ1duVjYwRXNJd0RRWUpLb1pJaHZjTkFRRUwKQlFBd1lURUxNQWtHQTFVRUJoTUNRMDR4RVRBUEJnTlZCQWdUQ0VoaGJtZGFhRzkxTVFzd0NRWURWUVFIRXdKWQpVekVNTUFvR0ExVUVDaE1EYXpoek1ROHdEUVlEVlFRTEV3WlRlWE4wWlcweEV6QVJCZ05WQkFNVENtdDFZbVZ5CmJtVjBaWE13SUJjTk1qSXhNVEU1TURZME1qQXdXaGdQTWpFeU1qRXdNall3TmpReU1EQmFNR0V4Q3pBSkJnTlYKQkFZVEFrTk9NUkV3RHdZRFZRUUlFd2hJWVc1bldtaHZkVEVMTUFrR0ExVUVCeE1DV0ZNeEREQUtCZ05WQkFvVApBMnM0Y3pFUE1BMEdBMVVFQ3hNR1UzbHpkR1Z0TVJNd0VRWURWUVFERXdwcmRXSmxjbTVsZEdWek1JSUJJakFOCkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXQ1QkZtZkh4KzhCQXQ1OTg2QnBjV2Z0Q3VYcVoKMzlmMFBNaGhDTXNGVWtjYThjNzFxV3R0b0g4Mmk4UEpxTzdRL1FRbWF0MzdmOEdSZmkxNXd0Z0xBYUtmUXlRdgpGYlZvaks0NDhhNHRtSENtbk0zU1dvWStTU2xmbHMrYXM2cEc4SGVnSmE4WVFvR0d5bmtsb2F3dG0wVEVNcmtPCnd5MG5lbDRMcnl0TTF4QnhXek4wbGsrRlhId1o2NEkrR3JvQ2dvSm91RGtaMTNmcENycjlHUGpRelBpNE1CeVQKeXVaREFLMEE1V3FEcVhxSy9kRVJPb09yVXRoK3ROSHJCNTFqZ0QzQlJFVnZSLytBcG52VFRBM212Ym1UQVdudwo2SGVZZkdtSkpNWDRNZVBCYUIzYjVXa044cWJqckhVVXhXSmZPZG96UG1iQ3FRRmplcWRNVDh4VWZ3SURBUUFCCm8wSXdRREFPQmdOVkhROEJBZjhFQkFNQ0FRWXdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QWRCZ05WSFE0RUZnUVUKYk54STNOS05GeERBa1o0eUJWR1RSMmdOL2ZBd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFMSTdNaUxZN0ZQawpzQ0E2b3hBVkxMZWM0Ry9lQ0wxZUJjNVVkcUdDY2RYbXQ0U2RFWTE3WWRKZ2huV1pqNGRSOTVSVFBscWtPS3hYCkI5eCt6SzZYWVVaSlo4aUEvSUtFcHlFMHZYRlBjcmZPaWdzZDdKaEhiUDFuRFpGcEErNy9XaU1DUXlwNXNXRngKTzdmYjdwVko1bnl5RHZEdHNCY0VFYW5NUHhmKzNwZG83NHFBdWowYjNsNHJyU1RjOTdOS0xyekwyQnppaEI3UQpvaGpiSHpuR1lTQkdRU2IvOW5ZU24rRzBVTG50SlFCRU8xbGdTd0RuMzJNNHd4aThUODJ5bldmYUNHaUpMOWg5CkF2U05XRVVhZmF6UDFPVGFydng3N0xnbnA4SUtGejZ2UzJSVUZJSEl4cTJrQnl4SkE4NzhTMnRTWGROWC9SSlIKam9aaXFuRWZxR1U9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K server: https://192.168.1.70:6443 name: cluster1 contexts: - context: cluster: cluster1 user: admin name: context-cluster1 current-context: context-cluster1 kind: Config preferences: {} users: - name: admin user: client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUQxekNDQXIrZ0F3SUJBZ0lVYTQzSmoza0l2MG0rSENlRFNGSFRoK3BidGdVd0RRWUpLb1pJaHZjTkFRRUwKQlFBd1lURUxNQWtHQTFVRUJoTUNRMDR4RVRBUEJnTlZCQWdUQ0VoaGJtZGFhRzkxTVFzd0NRWURWUVFIRXdKWQpVekVNTUFvR0ExVUVDaE1EYXpoek1ROHdEUVlEVlFRTEV3WlRlWE4wWlcweEV6QVJCZ05WQkFNVENtdDFZbVZ5CmJtVjBaWE13SUJjTk1qSXhNVEU1TURZME1qQXdXaGdQTWpBM01qRXhNRFl3TmpReU1EQmFNR2N4Q3pBSkJnTlYKQkFZVEFrTk9NUkV3RHdZRFZRUUlFd2hJWVc1bldtaHZkVEVMTUFrR0ExVUVCeE1DV0ZNeEZ6QVZCZ05WQkFvVApEbk41YzNSbGJUcHRZWE4wWlhKek1ROHdEUVlEVlFRTEV3WlRlWE4wWlcweERqQU1CZ05WQkFNVEJXRmtiV2x1Ck1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBdkt3MXFBYkdDRWNqWW1tSHd1Y3YKa09HUUtOL2dxZVZrQUl3aVBpMkNZUXp6RG8zcktxZjFxeTdTYmVhdWFoT0dOV2R2bXlZSmlBeXJnbFdVd1AxegpzNDZQSWFmV3dUeWQvdnFocWRObHdhWGhNRW5xZXhxMU4vN0toOE5WWHc2cjZMU01aMUtwTkRFV2hvY2g3OXNCCkFKN01TZTZKZ0c2aHd6bGQ5ZmtqbjQvMWxIaTNGS0RDNzQyZkR3NStRaGtHQy9lQi8xczlpK282STYwaTQvK2cKSStlMElYcndncUNyZHUrb2t6dmlaRGF1K29ET1NORHFLeTExN2NoVllXV0o2VHVxRWZ6cUxqNHFsZHpFZmRtOQpvd0xjMzFtc2F1aTRUN013WkNNNGpKWHZMaDdXVjBQcHByUXY3MUJZZmo3T2R0WUFlZGxMajlkS3BFblV0U0VkCkJRSURBUUFCbzM4d2ZUQU9CZ05WSFE4QkFmOEVCQU1DQmFBd0hRWURWUjBsQkJZd0ZBWUlLd1lCQlFVSEF3RUcKQ0NzR0FRVUZCd01DTUF3R0ExVWRFd0VCL3dRQ01BQXdIUVlEVlIwT0JCWUVGTG85NlhNL3dBcUhRVWlvamFTZgpLTjVkSTRkaU1COEdBMVVkSXdRWU1CYUFGR3pjU056U2pSY1F3SkdlTWdWUmswZG9EZjN3TUEwR0NTcUdTSWIzCkRRRUJDd1VBQTRJQkFRQ1Z2a1ZESURzc09RNmd4WDhCVWxlQ1JpektlZ0J6S2xXOTA5SDhBRDhySUkzU3BLQWQKKys5SXpjUnpaYXFzMlZYN2ZvZFlrNzI2MXd5NDhMUDZlSmZNMWFIQ0paajk4SWF4dXl5UWhyclJUamJ4K2JGawpPYm1ZSzFPaDJkUHdsSEo2aisvajNCZ2NsOVpITHNNUUl4VVhtQXYxS3dGWHNLVGlaRXNYc21KOHl0ZG9OR3Z0CnFEZG56ejlyNGJUM1V5aDRRZ1pCRGRjVEVwTFplbHB6UzFxd0ZhRzZBQ2JTazgxTmI0Tis3Tm0xaWw1elJtVFEKMGlqMTBucCtVKzk4YzBCSTJma0RQcWI3ckZEY3FPSG5kUTZxdHJIdjdJZFhvQkpCUEQ1MXkvTTFXTzYyUjlTQgpHVnhZdDRZSzlQd1U3V1g4aXZtVGhqb0szUDJadGJXM2NlUlkKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb2dJQkFBS0NBUUVBdkt3MXFBYkdDRWNqWW1tSHd1Y3ZrT0dRS04vZ3FlVmtBSXdpUGkyQ1lRenpEbzNyCktxZjFxeTdTYmVhdWFoT0dOV2R2bXlZSmlBeXJnbFdVd1AxenM0NlBJYWZXd1R5ZC92cWhxZE5sd2FYaE1FbnEKZXhxMU4vN0toOE5WWHc2cjZMU01aMUtwTkRFV2hvY2g3OXNCQUo3TVNlNkpnRzZod3psZDlma2puNC8xbEhpMwpGS0RDNzQyZkR3NStRaGtHQy9lQi8xczlpK282STYwaTQvK2dJK2UwSVhyd2dxQ3JkdStva3p2aVpEYXUrb0RPClNORHFLeTExN2NoVllXV0o2VHVxRWZ6cUxqNHFsZHpFZmRtOW93TGMzMW1zYXVpNFQ3TXdaQ000akpYdkxoN1cKVjBQcHByUXY3MUJZZmo3T2R0WUFlZGxMajlkS3BFblV0U0VkQlFJREFRQUJBb0lCQUFYdU05R1FSUEZGcXlzUQp2aCsyUEp5Rk9vN09XclY4YkdSSUExdUkrcXdxU0FtUkZHOUcwRVlOTnJnVnBDM1paMEtPZWNlYXJub0VTKy9RCjJOZ29IMWJwaUQ0NmxGbUdta0RGaUFkYWlieElob2VLQzBETFdoN2tkMkZGRm8zaVhDejRYK0Z2aTdvRVFQMEIKaW1PTHNzQmVQWFdsZGRUL3BUNEpzNVpqdW1idGhaNHRHVGlqSVU1S05iZGNxSlk4WGdXNzVscGk0dkNWRzVaVwp1Q1FNaVM4ZTBCQXlPeFJkSnNMSTIvUVU3b3V5Y3Z1WG91cUgvQk5pTEliS1k5d3VRcnhWM0ZvS0YzdkNzVXkyClZnZVVKdkdYeWpQQ3F5MkRLZ3ViWVlFL0NpdVpMZDRUdEZuWmRtVE1SVVk2OWJJWFJCYVFFOWIycEZWQ1hPMDQKYjBsN3hvRUNnWUVBeUNhVllwdzNjOTZ1WTdlcmlLVWl1Yi81RHdlNmZLenhsN3ArSUc4OUV6Z0E3TjQvN21HSwp1S2gxbXFQRXAxRlBFcHptV0tDU0M3c3ZraEZjV2h0NjBBbXFsVHArTk9BNzQ3Nnc5MGExQ2RETnBSM1pialhLCnhySGZiYllabWc4S1A1QTU4ellZS3dueURaazZWd0NTdGJOeGhtdG5tM0oyaUQ0Q21ycVJJTjBDZ1lFQThWRzIKcXI5emdaZWtreUZuNzhrVmxSdUpuMnZLMTA1UUdjZlhOczJuamZWWXRud2NSMlltOVV6SXdFWFpVOW1kdFhhaApHMm8vQ3NHN1NxTmtNaUZkc0Jza29ZZW9SamxibnVZaEJhVTV3NExVenUwaTdDcGpHQXVCbWxaN2hrMW90UzFiClk2NmRqQ0FueDQ0NlRXb3FsVTRQTFNDSEptOFA5YWE2L0JuKzFra0NnWUEzUHo4NDZ2bjdoOW9IT0dtbTNENUwKbTR2NTlCNHJ6K2tZQXFoUjk2S2FMWGxENk0wbzFjL2V6TkU1a0Q3MkdHR0ZONzMxZE0wYlk5M3JxZE1lSkR1dwpOUnJhK2p4Z0NBMC8vaUVIQUlOMFpDaC9qVSs1Tml2MDBLQmx2a0F1NER2cDg3dXJRS0ZITUFXYWIxTkZOS2xLCmNtL0J0Ti95YnBQOVkzQ0FtVUw2R1FLQmdGVmdCWEl2UFp3eG5DWDVnWjRSMURMbWhUQURvTVcvalJNeDRuQWYKSGhKWkpNT2E4UjVKZzZyeE9XemN5V0NpOHVyS1I0RTllNFJBdWhSVDdoVFdQU0VhMlVEVWo3SVloTk9ZczBJZQpER3VoRTgwSmxIdGRHNlhjSEVRUUtLK0JIM1JKMGJWWWg2Q1ZsNzFBRWx4bEhSK3BlREVNK3dPYjgxZURYMC9sCm1vVVJBb0dBQWdBYUlTdm9IZjZJWDBQRHlJNS9zWUc5c2tqQ282TWE3cEpxTGRwMjZzMlozU1puRDR3RVBLSk0KYnBZOG5odmtPZHZpaGtjVHk4NGp6Y3ZuSVJ4dndIaDZEMlZzcUkvaWlnUVpnN1ZOb3ZVRVdjcUlrcEVxQnpObgpCYWp6U1RLRzRNSUxBQ21kaHA0UXFDWUpLMHdlVTI5NEpxaG9DYVhWMXhoM2g1cUJnRms9Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==
-
填充信息
-
选择用户管理
-
查看集群
17. 前后端分离
17.1 nginx
root@deploy-harbor:~/nginx-tomcat-case# cat nginx.yaml kind: Deployment #apiVersion: extensions/v1beta1 apiVersion: apps/v1 metadata: labels: app: linux70-nginx-deployment-label name: linux70-nginx-deployment namespace: myserver spec: replicas: 1 selector: matchLabels: app: linux70-nginx-selector template: metadata: labels: app: linux70-nginx-selector spec: containers: - name: linux70-nginx-container image: nginx:1.20 #command: ["/apps/tomcat/bin/run_tomcat.sh"] #imagePullPolicy: IfNotPresent imagePullPolicy: Always ports: - containerPort: 80 protocol: TCP name: http - containerPort: 443 protocol: TCP name: https env: - name: "password" value: "123456" - name: "age" value: "18" # resources: # limits: # cpu: 2 # memory: 2Gi # requests: # cpu: 500m # memory: 1Gi --- kind: Service apiVersion: v1 metadata: labels: app: linux70-nginx-service-label name: linux70-nginx-service namespace: myserver spec: type: NodePort ports: - name: http port: 80 protocol: TCP targetPort: 80 nodePort: 30004 - name: https port: 443 protocol: TCP targetPort: 443 nodePort: 30443 selector: app: linux70-nginx-selector
17.2 tomcat
root@deploy-harbor:~/nginx-tomcat-case# cat tomcat.yaml kind: Deployment #apiVersion: extensions/v1beta1 apiVersion: apps/v1 metadata: labels: app: linux60-tomcat-app1-deployment-label name: linux60-tomcat-app1-deployment namespace: myserver spec: replicas: 1 selector: matchLabels: app: linux60-tomcat-app1-selector template: metadata: labels: app: linux60-tomcat-app1-selector spec: containers: - name: linux60-tomcat-app1-container image: tomcat:7.0.109-jdk8-openjdk #command: ["/apps/tomcat/bin/run_tomcat.sh"] #imagePullPolicy: IfNotPresent imagePullPolicy: Always ports: - containerPort: 8080 protocol: TCP name: http env: - name: "password" value: "123456" - name: "age" value: "18" # resources: # limits: # cpu: 2 # memory: 2Gi # requests: # cpu: 500m # memory: 1Gi --- kind: Service apiVersion: v1 metadata: labels: app: linux60-tomcat-app1-service-label name: linux60-tomcat-app1-service namespace: myserver spec: type: NodePort ports: - name: http port: 80 protocol: TCP targetPort: 8080 # nodePort: 30006 selector: app: linux60-tomcat-app1-selector #先把这个nodePort端口打开 然后去页面访问
17.3 设置页面 tomcat
-
访问tomcat 因为没有index.jsp页面
-
添加tomcat index页面
cd webapps mkdir myapp echo 'myapp time 70 sync' > myapp/index.jsp
17.5 设置代理 nginx
- nginx配置
cat default.conf server { listen 80; listen [::]:80; server_name localhost; #access_log /var/log/nginx/host.access.log main; location / { root /usr/share/nginx/html; index index.html index.htm; } location /myapp { proxy_pass http://linux60-tomcat-app1-service; } }
- 测试
root@linux70:/etc/nginx/conf.d# nginx -s reload 2022/11/23 07:48:45 [notice] 1632#1632: signal process started root@linux70:/etc/nginx/conf.d# curl http://linux60-tomcat-app1-service/myapp/index.jsp myapp time 70 sync