云原生Kubernetes: K8S 1.29版本 部署Kuboard

avatar
作者
猴君
阅读量:0

目录

一、实验

1.环境

2.K8S 1.29版本 部署Kuboard (第一种方式)

3.K8S 1.29版本 部署Kuboard (第二种方式)

4.K8S 1.29版本 使用Kuboard

二、问题

1.docker如何在node节点间移动镜像


一、实验

1.环境

(1)主机

表1 主机

主机架构版本IP备注
masterK8S master节点1.29.0192.168.204.8

node1K8S node节点1.29.0192.168.204.9
node2K8S node节点1.29.0192.168.204.10

(2)master节点查看集群

1)查看node kubectl get node   2)查看node详细信息 kubectl get node -o wide  

2.K8S 1.29版本 部署Kuboard (第一种方式)

(1)查阅

1)官网 https://kuboard.cn/  2)安装说明 https://kuboard.cn/install/v3/install.html

(2)下载 yaml 文件

1)第一种方式 wget https://addons.kuboard.cn/kuboard/kuboard-v3.yaml  2)第二种方式 #华为云的镜像仓库替代 docker hub 分发 Kuboard 所需要的镜像 wget https://addons.kuboard.cn/kuboard/kuboard-v3-swr.yaml

这里采用第1种方式

(3)node2节点拉取kuboard镜像

[root@node2 ~]# docker pull eipwork/kuboard:v3 

查看镜像

[root@node2 ~]# docker images 

(4)node2节点拉取etcd-host镜像

[root@node2 ~]# docker pull eipwork/etcd-host:3.4.16-2 

查看镜像

[root@node2 ~]# docker images 

(5)导出Docker镜像

[root@node2 ~]# docker save -o etcd-host.tar eipwork/etcd-host:3.4.16-2  [root@node2 ~]# docker save -o kuboard.tar eipwork/kuboard:v3 

(6)复制Docker镜像到node1节点

[root@node2 ~]# scp etcd-host.tar root@node1:~  [root@node2 ~]# scp kuboard.tar root@node1:~ 

(7)node1节点导入Docker镜像

[root@node1 ~]# docker load -i etcd-host.tar  [root@node1 ~]# docker load -i kuboard.tar 

查看镜像

[root@node1 ~]# docker images 

(8)修改镜像拉取策略

[root@master ~]# vim kuboard-v3.yaml  

修改前:

修改后:

(9)master节点生成资源

[root@master ~]# kubectl apply -f kuboard-v3.yaml  

(4)观察pod与删除pod

注意kuboard-v3如果Ready一直为0/1,需要修改配置文件(具体可以参考后面的第二种方式)。

[root@master ~]# kubectl get pods -n kuboard -o wide -w 

删除

[root@master ~]kubectl delete -f kuboard-v3.yaml 

3.K8S 1.29版本 部署Kuboard (第二种方式)

(1)查阅

1)官网 https://kuboard.cn/  2)安装说明 https://kuboard.cn/install/v3/install.html

(2)下载 yaml 文件

1)第一种方式 wget https://addons.kuboard.cn/kuboard/kuboard-v3.yaml  2)第二种方式 #华为云的镜像仓库替代 docker hub 分发 Kuboard 所需要的镜像 wget https://addons.kuboard.cn/kuboard/kuboard-v3-swr.yaml

这里采用第二种方式

(3)node2节点拉取镜像

[root@node2 ~]# docker pull eipwork/kuboard:v3 

[root@node2 ~]# docker pull swr.cn-east-2.myhuaweicloud.com/kuboard/etcd-host:3.4.16-2 

查看镜像

[root@node2 ~]# docker images 

[root@node2 ~]# docker images | grep myhuaweicloud 

(5)导出Docker镜像

[root@node2 ~]# docker save -o etcd-host.tar swr.cn-east-2.myhuaweicloud.com/kuboard/etcd-host:3.4.16-2  [root@node2 ~]# docker save -o kuboard.tar swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v3 

(6)复制Docker镜像到node1节点

[root@node2 ~]# scp etcd-host.tar root@node1:~  [root@node2 ~]# scp kuboard.tar root@node1:~ 

(7)node1节点导入Docker镜像

[root@node1 ~]# docker load -i etcd-host.tar  [root@node1 ~]# docker load -i kuboard.tar 

查看镜像

[root@node1 ~]# docker images 

(8)修改镜像拉取策略

修改前:

修改后:

(9)master节点生成资源

[root@master ~]# kubectl apply -f kuboard-v3-swr.yaml 

(4)观察pod

[root@master ~]#  kubectl get pods -n kuboard -o wide -w 

(5)查看日志

[root@master ~]# kubectl logs -f kuboard-v3-6fdbd869b7-5g8lv -n kuboard 生成 KUBOARD_SSO_CLIENT_SECRET: 76425626219e02eb20931235 设置 KuboardAdmin 的默认密码(仅第一次启动时设置) Kuboard123 KUBOARD_ENDPOINT http://192.168.204.10:30080 eyJhbGciOiJSUzI1NiIsImtpZCI6IlVIUE9lVzRIYXpKTWxGLVRuQVJGSzJVVzQyTGdpMjdleW52RTdoOHM3bTAifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWwiXSwiZXhwIjoxNzQ0OTQzMzc2LCJpYXQiOjE3MTM0MDczNzYsImlzcyI6Imh0dHBzOi8va3ViZXJuZXRlcy5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsIiwia3ViZXJuZXRlcy5pbyI6eyJuYW1lc3BhY2UiOiJrdWJvYXJkIiwicG9kIjp7Im5hbWUiOiJrdWJvYXJkLXYzLTZmZGJkODY5YjctNWc4bHYiLCJ1aWQiOiI3ZTFhMTNlZS1mZjQ1LTQ1ZjctYjBhZS05OTA4NjE5ZmRlNzAifSwic2VydmljZWFjY291bnQiOnsibmFtZSI6Imt1Ym9hcmQtYm9vc3RyYXAiLCJ1aWQiOiI0MTRhNDI1Ni0zMDFhLTQ0Y2YtYmY0ZC00ZjgzMGQwZWQ5Y2EifSwid2FybmFmdGVyIjoxNzEzNDEwOTgzfSwibmJmIjoxNzEzNDA3Mzc2LCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3Vib2FyZDprdWJvYXJkLWJvb3N0cmFwIn0.PmcgfI18gRbNl8xFIYz8xHVfaPlZJxlmNSddRHVlWpCGXD6-lw_9jj-6nD0ANfNnbY5PEM4PzR187xjIBTNcTt6jZMwwto4wifvzHHoMEdfNFPO-1EmDEl_rJS4tJaaaKHMRGuz4Prok28giK_MSPf8ceMARh4ZXhFt2xwMRbY5hgNz1z1YLZl_mQdl4cPe-BK_eH4nZZOHIntuOVXRRFr8E36jyC86IlsothCa65tGHm5_NplZdCG7cz-kJMnNY4r7-ew_FMUPKXqVMMyBgPsIWNQRnrvxHRPs8Drik88t4xmNMg2oWD0qjP6-DHJhzqq3Bnx88EfQ-hUf9a7NHKA   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current                                  Dload  Upload   Total   Spent    Left  Speed 100   113  100   113    0     0   7253      0 --:--:-- --:--:-- --:--:--  7533   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current                                  Dload  Upload   Total   Spent    Left  Speed 100   113  100   113    0     0   7475      0 --:--:-- --:--:-- --:--:--  7533 [{   "kind": "NodeList",   "apiVersion": "v1",   "metadata": {     "resourceVersion": "15695"   },   "items": [] },{   "kind": "NodeList",   "apiVersion": "v1",   "metadata": {     "resourceVersion": "15695"   },   "items": [] }]    start kuboard-agent-server 当前 Kuboard 在 K8S 中运行,etcd 独立部署 启动内置的 QuestDB    ___                  _   ____  ____  / _ \ _   _  ___  ___| |_|  _ \| __ ) | | | | | | |/ _ \/ __| __| | | |  _ \ | |_| | |_| |  __/\__ \ |_| |_| | |_) |  \__\_\\__,_|\___||___/\__|____/|____/                         www.questdb.io  /questdb/bin/questdb.sh: line 66: ps: command not found JAVA: /questdb/bin/java QuestDB server 6.0.4 Copyright (C) 2014-2024, all rights reserved.  认证模块:使用本地用户库 启动 kuboard-sso 设置日志级别为 info time="2024-04-18T02:34:22Z" level=info msg="config using log level: info" time="2024-04-18T02:34:22Z" level=info msg="config issuer: http://192.168.204.10:30080/sso" time="2024-04-18T02:34:22Z" level=info msg="config storage: etcd" time="2024-04-18T02:34:22Z" level=info msg="config static client: KuboardApp" time="2024-04-18T02:34:22Z" level=info msg="config connector: default" time="2024-04-18T02:34:22Z" level=info msg="config skipping approval screen" time="2024-04-18T02:34:22Z" level=info msg="config signing keys expire after: 6h0m0s" time="2024-04-18T02:34:22Z" level=info msg="config id tokens valid for: 168h0m0s" time="2024-04-18T02:34:22Z" level=info msg="config device requests valid for: 5m0s" 设置日志级别为 info [LOG] 2024/04/18 - 10:34:25.917   | /common/etcd.client_config                                    24 |  info | KUBOARD_ETCD_ENDPOINTS=[] [LOG] 2024/04/18 - 10:34:25.917   | /common/etcd.client_config                                    52 |  info | {[] 0s 1s 0s 0s 0 0 <nil>   false [] <nil> <nil> <nil> false} [LOG] 2024/04/18 - 10:34:25.918   | /initializekuboard.InitializeEtcd                             39 |  info | 初始化 ./init-etcd-scripts/audit-policy-once.yaml {"level":"warn","ts":"2024-04-18T10:34:27.818+0800","caller":"clientv3/retry_interceptor.go:61","msg":"retrying of unary invoker failed","target":"endpoint://client-50d42282-d986-40b3-9355-434ead47ba3d/","attempt":0,"error":"rpc error: code = DeadlineExceeded desc = latest balancer error: all SubConns are in TransientFailure, latest connection error: connection error: desc = \"transport: Error while dialing dial tcp: missing address\""} failed to initialize server: server: failed to list connector objects from storage: context deadline exceeded ^C 

重点是最后的报错

(6)编辑配置文件

[root@master ~]# kubectl edit cm kuboard-v3-config -n kuboard 

查看:

(7)搜索此配置项,将此配置项替换

替换前:

KUBOARD_SERVER_NODE_PORT: '30080'

替换后:(k8s节点的任意IP)

KUBOARD_ENDPOINT: 'http://192.168.204.10:30080'

(8)删除之前的 pod 让它自己拉起来

[root@master ~]# kubectl delete pod kuboard-v3-6fdbd869b7-5g8lv -n kuboard 

(9)查看pod

[root@master ~]#  kubectl get pods -n kuboard 

详细信息

[root@master ~]# kubectl get pods -n kuboard -o wide 

(10) 查看日志

[root@master ~]# kubectl logs -f kuboard-v3-6fdbd869b7-7xh4t -n kuboard 生成 KUBOARD_SSO_CLIENT_SECRET: 09003557b425f87463067e35 设置 KuboardAdmin 的默认密码(仅第一次启动时设置) Kuboard123 start kuboard-agent-server 启动内置的 QuestDB    ___                  _   ____  ____  / _ \ _   _  ___  ___| |_|  _ \| __ ) | | | | | | |/ _ \/ __| __| | | |  _ \ | |_| | |_| |  __/\__ \ |_| |_| | |_) |  \__\_\\__,_|\___||___/\__|____/|____/                         www.questdb.io  /questdb/bin/questdb.sh: line 66: ps: command not found JAVA: /questdb/bin/java {"level":"info","ts":"2024-04-18T10:38:50.230+0800","caller":"embed/etcd.go:117","msg":"configuring peer listeners","listen-peer-urls":["http://0.0.0.0:2380"]} {"level":"info","ts":"2024-04-18T10:38:50.230+0800","caller":"embed/etcd.go:127","msg":"configuring client listeners","listen-client-urls":["http://0.0.0.0:2379"]} {"level":"info","ts":"2024-04-18T10:38:50.231+0800","caller":"embed/etcd.go:302","msg":"starting an etcd server","etcd-version":"3.4.14","git-sha":"8a03d2e96","go-version":"go1.12.17","go-os":"linux","go-arch":"amd64","max-cpu-set":4,"max-cpu-available":4,"member-initialized":false,"name":"kuboard-01","data-dir":"/data/etcd-data","wal-dir":"","wal-dir-dedicated":"","member-dir":"/data/etcd-data/member","force-new-cluster":false,"heartbeat-interval":"100ms","election-timeout":"1s","initial-election-tick-advance":true,"snapshot-count":10000,"snapshot-catchup-entries":5000,"initial-advertise-peer-urls":["http://0.0.0.0:2380"],"listen-peer-urls":["http://0.0.0.0:2380"],"advertise-client-urls":["http://0.0.0.0:2379"],"listen-client-urls":["http://0.0.0.0:2379"],"listen-metrics-urls":[],"cors":["*"],"host-whitelist":["*"],"initial-cluster":"kuboard-01=http://0.0.0.0:2380","initial-cluster-state":"new","initial-cluster-token":"tkn","quota-size-bytes":2147483648,"pre-vote":false,"initial-corrupt-check":false,"corrupt-check-time-interval":"0s","auto-compaction-mode":"periodic","auto-compaction-retention":"0s","auto-compaction-interval":"0s","discovery-url":"","discovery-proxy":""} {"level":"info","ts":"2024-04-18T10:38:50.233+0800","caller":"etcdserver/backend.go:80","msg":"opened backend db","path":"/data/etcd-data/member/snap/db","took":"1.203708ms"} {"level":"info","ts":"2024-04-18T10:38:50.237+0800","caller":"etcdserver/raft.go:486","msg":"starting local member","local-member-id":"59a9c584ea2c3f35","cluster-id":"f9f44c4ba0e96dd8"} {"level":"info","ts":"2024-04-18T10:38:50.237+0800","caller":"raft/raft.go:1530","msg":"59a9c584ea2c3f35 switched to configuration voters=()"} {"level":"info","ts":"2024-04-18T10:38:50.238+0800","caller":"raft/raft.go:700","msg":"59a9c584ea2c3f35 became follower at term 0"} {"level":"info","ts":"2024-04-18T10:38:50.238+0800","caller":"raft/raft.go:383","msg":"newRaft 59a9c584ea2c3f35 [peers: [], term: 0, commit: 0, applied: 0, lastindex: 0, lastterm: 0]"} {"level":"info","ts":"2024-04-18T10:38:50.238+0800","caller":"raft/raft.go:700","msg":"59a9c584ea2c3f35 became follower at term 1"} {"level":"info","ts":"2024-04-18T10:38:50.238+0800","caller":"raft/raft.go:1530","msg":"59a9c584ea2c3f35 switched to configuration voters=(6460912315094810421)"} {"level":"warn","ts":"2024-04-18T10:38:50.253+0800","caller":"auth/store.go:1366","msg":"simple token is not cryptographically signed"} {"level":"info","ts":"2024-04-18T10:38:50.258+0800","caller":"etcdserver/quota.go:98","msg":"enabled backend quota with default value","quota-name":"v3-applier","quota-size-bytes":2147483648,"quota-size":"2.1 GB"} {"level":"info","ts":"2024-04-18T10:38:50.259+0800","caller":"etcdserver/server.go:803","msg":"starting etcd server","local-member-id":"59a9c584ea2c3f35","local-server-version":"3.4.14","cluster-version":"to_be_decided"} {"level":"info","ts":"2024-04-18T10:38:50.260+0800","caller":"etcdserver/server.go:669","msg":"started as single-node; fast-forwarding election ticks","local-member-id":"59a9c584ea2c3f35","forward-ticks":9,"forward-duration":"900ms","election-ticks":10,"election-timeout":"1s"} {"level":"info","ts":"2024-04-18T10:38:50.261+0800","caller":"raft/raft.go:1530","msg":"59a9c584ea2c3f35 switched to configuration voters=(6460912315094810421)"} {"level":"info","ts":"2024-04-18T10:38:50.261+0800","caller":"membership/cluster.go:392","msg":"added member","cluster-id":"f9f44c4ba0e96dd8","local-member-id":"59a9c584ea2c3f35","added-peer-id":"59a9c584ea2c3f35","added-peer-peer-urls":["http://0.0.0.0:2380"]} {"level":"info","ts":"2024-04-18T10:38:50.263+0800","caller":"embed/etcd.go:244","msg":"now serving peer/client/metrics","local-member-id":"59a9c584ea2c3f35","initial-advertise-peer-urls":["http://0.0.0.0:2380"],"listen-peer-urls":["http://0.0.0.0:2380"],"advertise-client-urls":["http://0.0.0.0:2379"],"listen-client-urls":["http://0.0.0.0:2379"],"listen-metrics-urls":[]} {"level":"info","ts":"2024-04-18T10:38:50.263+0800","caller":"embed/etcd.go:579","msg":"serving peer traffic","address":"[::]:2380"} QuestDB server 6.0.4 Copyright (C) 2014-2024, all rights reserved.  {"level":"info","ts":"2024-04-18T10:38:50.738+0800","caller":"raft/raft.go:923","msg":"59a9c584ea2c3f35 is starting a new election at term 1"} {"level":"info","ts":"2024-04-18T10:38:50.738+0800","caller":"raft/raft.go:713","msg":"59a9c584ea2c3f35 became candidate at term 2"} {"level":"info","ts":"2024-04-18T10:38:50.738+0800","caller":"raft/raft.go:824","msg":"59a9c584ea2c3f35 received MsgVoteResp from 59a9c584ea2c3f35 at term 2"} {"level":"info","ts":"2024-04-18T10:38:50.738+0800","caller":"raft/raft.go:765","msg":"59a9c584ea2c3f35 became leader at term 2"} {"level":"info","ts":"2024-04-18T10:38:50.738+0800","caller":"raft/node.go:325","msg":"raft.node: 59a9c584ea2c3f35 elected leader 59a9c584ea2c3f35 at term 2"} {"level":"info","ts":"2024-04-18T10:38:50.739+0800","caller":"etcdserver/server.go:2528","msg":"setting up initial cluster version","cluster-version":"3.4"} {"level":"info","ts":"2024-04-18T10:38:50.740+0800","caller":"membership/cluster.go:558","msg":"set initial cluster version","cluster-id":"f9f44c4ba0e96dd8","local-member-id":"59a9c584ea2c3f35","cluster-version":"3.4"} {"level":"info","ts":"2024-04-18T10:38:50.740+0800","caller":"api/capability.go:76","msg":"enabled capabilities for version","cluster-version":"3.4"} {"level":"info","ts":"2024-04-18T10:38:50.740+0800","caller":"etcdserver/server.go:2560","msg":"cluster version is updated","cluster-version":"3.4"} {"level":"info","ts":"2024-04-18T10:38:50.740+0800","caller":"etcdserver/server.go:2037","msg":"published local member to cluster through raft","local-member-id":"59a9c584ea2c3f35","local-member-attributes":"{Name:kuboard-01 ClientURLs:[http://0.0.0.0:2379]}","request-path":"/0/members/59a9c584ea2c3f35/attributes","cluster-id":"f9f44c4ba0e96dd8","publish-timeout":"7s"} {"level":"info","ts":"2024-04-18T10:38:50.741+0800","caller":"embed/serve.go:139","msg":"serving client traffic insecurely; this is strongly discouraged!","address":"[::]:2379"} 认证模块:使用本地用户库 启动 kuboard-sso 设置日志级别为 info time="2024-04-18T02:39:05Z" level=info msg="config using log level: info" time="2024-04-18T02:39:05Z" level=info msg="config issuer: http://192.168.204.10:30080/sso" time="2024-04-18T02:39:05Z" level=info msg="config storage: etcd" time="2024-04-18T02:39:05Z" level=info msg="config static client: KuboardApp" time="2024-04-18T02:39:05Z" level=info msg="config connector: default" time="2024-04-18T02:39:05Z" level=info msg="config skipping approval screen" time="2024-04-18T02:39:05Z" level=info msg="config signing keys expire after: 6h0m0s" time="2024-04-18T02:39:05Z" level=info msg="config id tokens valid for: 168h0m0s" time="2024-04-18T02:39:05Z" level=info msg="config device requests valid for: 5m0s" time="2024-04-18T02:39:05Z" level=info msg="keys expired, rotating" time="2024-04-18T02:39:06Z" level=info msg="keys rotated, next rotation: 2024-04-18 08:39:06.27155897 +0000 UTC" time="2024-04-18T02:39:06Z" level=info msg="listening (http) on 0.0.0.0:5556" 设置日志级别为 info [LOG] 2024/04/18 - 10:39:08.860   | /common/etcd.client_config                                    24 |  info | KUBOARD_ETCD_ENDPOINTS=[127.0.0.1:2379] [LOG] 2024/04/18 - 10:39:08.861   | /common/etcd.client_config                                    52 |  info | {[127.0.0.1:2379] 0s 1s 0s 0s 0 0 <nil>   false [] <nil> <nil> <nil> false} [LOG] 2024/04/18 - 10:39:08.862   | /initializekuboard.InitializeEtcd                             39 |  info | 初始化 ./init-etcd-scripts/audit-policy-once.yaml [LOG] 2024/04/18 - 10:39:08.867   | /initializekuboard.processEtcdObject                         115 |  info |  - 创建对象:KuboardAuditPolicy GLOBAL/GLOBAL [LOG] 2024/04/18 - 10:39:08.871   | /initializekuboard.InitializeEtcd                             39 |  info | 初始化 ./init-etcd-scripts/bran-settings-once.yaml [LOG] 2024/04/18 - 10:39:08.876   | /initializekuboard.processEtcdObject                         115 |  info |  - 创建对象:KuboardBrandSettings GLOBAL/KuboardBrandSettings [LOG] 2024/04/18 - 10:39:08.886   | /initializekuboard.InitializeEtcd                             39 |  info | 初始化 ./init-etcd-scripts/login-policy-once.yaml [LOG] 2024/04/18 - 10:39:08.887   | /initializekuboard.processEtcdObject                         115 |  info |  - 创建对象:KuboardLoginPolicySettings GLOBAL/KuboardLoginPolicySettings [LOG] 2024/04/18 - 10:39:08.891   | /initializekuboard.InitializeEtcd                             39 |  info | 初始化 ./init-etcd-scripts/roles.yaml [LOG] 2024/04/18 - 10:39:08.893   | /initializekuboard.processEtcdObject                         115 |  info |  - 创建对象:KuboardAuthRole GLOBAL/administrator [LOG] 2024/04/18 - 10:39:08.897   | /initializekuboard.processEtcdObject                         115 |  info |  - 创建对象:KuboardAuthRole GLOBAL/viewer [LOG] 2024/04/18 - 10:39:08.902   | /initializekuboard.processEtcdObject                         115 |  info |  - 创建对象:KuboardAuthRole GLOBAL/authenticated [LOG] 2024/04/18 - 10:39:08.905   | /initializekuboard.processEtcdObject                         115 |  info |  - 创建对象:KuboardAuthRole GLOBAL/anonymous [LOG] 2024/04/18 - 10:39:08.909   | /initializekuboard.processEtcdObject                         115 |  info |  - 创建对象:KuboardAuthRole GLOBAL/sso-user [LOG] 2024/04/18 - 10:39:08.912   | /initializekuboard.InitializeEtcd                             39 |  info | 初始化 ./init-etcd-scripts/user.yaml [LOG] 2024/04/18 - 10:39:08.913   | /initializekuboard.processEtcdObject                         115 |  info |  - 创建对象:KuboardAuthUser GLOBAL/admin [LOG] 2024/04/18 - 10:39:08.917   | /initializekuboard.processEtcdObject                         115 |  info |  - 创建对象:KuboardAuthGroup GLOBAL/administrators [LOG] 2024/04/18 - 10:39:08.920   | /initializekuboard.processEtcdObject                         115 |  info |  - 创建对象:KuboardAuthUserInGroup GLOBAL/admin.administrators [LOG] 2024/04/18 - 10:39:08.924   | /initializekuboard.processEtcdObject                         115 |  info |  - 创建对象:KuboardAuthGlobalRoleBinding GLOBAL/group.administrators.administrator {"level":"warn","ts":"2024-04-18T10:39:08.927+0800","caller":"grpclog/grpclog.go:60","msg":"transport: http2Server.HandleStreams failed to read frame: read tcp 127.0.0.1:2379->127.0.0.1:49530: read: connection reset by peer"} [LOG] 2024/04/18 - 10:39:08.929   | main.main                                                    115 |  info | 使用 http, 端口: 80 [LOG] 2024/04/18 - 10:39:08.930   | /audit/audit_common.questDbDriverURI                          49 |  info | QuestDB连接参数: postgresql://admin:quest@127.0.0.1:8812/qdb [LOG] 2024/04/18 - 10:39:08.943   | /kuboard/k8scluster.UpdateNginxConfig                        108 |  info | updated /etc/nginx/nginx.conf and reloaded nginx.conf [LOG] 2024/04/18 - 10:39:09.041   | /audit/audit_runtime.doInit                                  145 |  info | CREATE TABLE IF NOT EXISTS audit_events. [LOG] 2024/04/18 - 10:39:09.041   | /audit/audit_runtime.doInit                                  146 |  info | QuestDB Initilized. [LOG] 2024/04/18 - 10:39:09.041   | /audit/audit_runtime.initConnection                          152 |  info | Create QuestDB Connection. [LOG] 2024/04/18 - 10:39:09.041   | /audit/audit_common.questDbDriverURI                          49 |  info | QuestDB连接参数: postgresql://admin:quest@127.0.0.1:8812/qdb [GIN] 2024/04/18 - 10:39:29 | 200 |     917.589µs |  192.168.204.10 | GET      "/kuboard-resources/version.json" [GIN] 2024/04/18 - 10:39:29 | 200 |    1.505643ms |  192.168.204.10 | GET      "/kuboard-resources/version.json" [GIN] 2024/04/18 - 10:39:39 | 200 |     180.381µs |  192.168.204.10 | GET      "/kuboard-resources/version.json" [GIN] 2024/04/18 - 10:39:39 | 200 |     188.272µs |  192.168.204.10 | GET      "/kuboard-resources/version.json" [GIN] 2024/04/18 - 10:39:49 | 200 |     155.596µs |  192.168.204.10 | GET      "/kuboard-resources/version.json" [GIN] 2024/04/18 - 10:39:49 | 200 |      147.34µs |  192.168.204.10 | GET      "/kuboard-resources/version.json" ^C 

4.K8S 1.29版本 使用Kuboard

(1)访问系统

http://192.168.204.10:30080

(2) 输入初始用户名和密码,并登录

用户名: admin  密码: Kuboard123

(3) 查看集群列表

目前为空

http://192.168.204.10:30080/kuboard/cluster

(4)添加k8s集群

添加

弹框

master节点查看

[root@master ~]# cat /etc/kubernetes/admin.conf

粘贴内容并确认

完成添加

http://192.168.204.10:30080/kubernetes/K8S-1.29/cluster/import

(5)再次查看集群列表

(6)访问集群

选择其中一个方式

(7)查看概要信息

http://192.168.204.10:30080/kubernetes/K8S-1.29/cluster/overview

(8)查看节点信息

http://192.168.204.10:30080/kubernetes/K8S-1.29/cluster/node

(9)查看名称空间

http://192.168.204.10:30080/kubernetes/K8S-1.29/cluster/namespace

二、问题

1.docker如何在node节点间移动镜像

(1)命令

1)在第一台服务器上导出Docker镜像 docker save -o <镜像文件名>.tar <镜像名>  2)将导出的Docker镜像文件从第一台服务器复制到第二台服务器 scp <镜像文件名>.tar <用户名>@<第二台服务器IP地址>:<目标路径> 连接服务器也可以使用ssh连接  scp <镜像文件名>.tar ssh -p 端口号 用户名@服务器地址:<目标路径>  3)在第二台服务器上导入Docker镜像 docker load -i <镜像文件名>.tar  4)其他 提示没有目录的话就创建目录,创建目录命令: mkdir [目录名称] 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!