dashboard-shell-shell 3.0.5-test.4 → 3.0.5-test.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/brand/csp/favicon.png +0 -0
- package/assets/icons/iconfont.css +4 -1
- package/assets/images/pl/dark/logo.png +0 -0
- package/assets/styles/all.scss +23 -3
- package/assets/styles/base/_variables.scss +5 -5
- package/assets/styles/fonts/_icons.scss +3 -2
- package/assets/styles/global/_button.scss +8 -8
- package/assets/styles/global/_form.scss +1 -0
- package/assets/styles/global/_select.scss +1 -1
- package/assets/styles/global/_tooltip.scss +9 -5
- package/assets/styles/themes/_light.scss +6 -4
- package/assets/styles/vendor/vue-select.scss +2 -1
- package/assets/translations/en-us.yaml +59 -0
- package/assets/translations/zh-hans.yaml +175 -15
- package/components/ActionDropdown.vue +1 -1
- package/components/ButtonDropdown.vue +3 -1
- package/components/CodeMirror.vue +6 -4
- package/components/ContainerResourceLimit.vue +2 -2
- package/components/CopyToClipboard.vue +15 -0
- package/components/Drawer/Chrome.vue +2 -2
- package/components/Drawer/ResourceDetailDrawer/ConfigTab.vue +30 -27
- package/components/Drawer/ResourceDetailDrawer/YamlTab.vue +1 -1
- package/components/Drawer/ResourceDetailDrawer/index.vue +5 -4
- package/components/ExplorerMembers.vue +28 -4
- package/components/GlobalRoleBindings.vue +51 -112
- package/components/PodSecurityAdmission.vue +2 -2
- package/components/PromptRemove.vue +17 -1
- package/components/RelatedResources.vue +3 -0
- package/components/Resource/Detail/Metadata/IdentifyingInformation/index.vue +1 -3
- package/components/Resource/Detail/Metadata/KeyValue.vue +8 -4
- package/components/Resource/Detail/Metadata/index.vue +3 -1
- package/components/Resource/Detail/TitleBar/Title.vue +4 -3
- package/components/Resource/Detail/TitleBar/Top.vue +2 -0
- package/components/Resource/Detail/TitleBar/composables.ts +16 -1
- package/components/Resource/Detail/TitleBar/index.vue +123 -25
- package/components/ResourceDetail/Masthead/index.vue +1 -1
- package/components/ResourceDetail/Masthead/latest.vue +1 -1
- package/components/ResourceDetail/Masthead/legacy.vue +8 -7
- package/components/ResourceDetail/legacy.vue +18 -16
- package/components/ResourceList/Masthead.vue +13 -17
- package/components/ResourceTable.vue +10 -0
- package/components/SideNav.vue +21 -21
- package/components/SortableTable/THead.vue +46 -1
- package/components/SortableTable/index.vue +40 -20
- package/components/Tabbed/index.vue +6 -1
- package/components/auth/Principal.vue +10 -5
- package/components/auth/RoleDetailEdit.vue +11 -7
- package/components/breadcrumb/index.vue +119 -0
- package/components/form/ArrayList.vue +164 -147
- package/components/form/ArrayListGrouped.vue +5 -3
- package/components/form/ChangePassword.vue +1 -1
- package/components/form/Command.vue +4 -5
- package/components/form/Conditions.vue +15 -1
- package/components/form/Footer.vue +1 -0
- package/components/form/HealthCheck.vue +0 -2
- package/components/form/HookOption.vue +87 -58
- package/components/form/InputWithSelect.vue +8 -7
- package/components/form/KeyValue.vue +20 -2
- package/components/form/LabeledSelect.vue +6 -3
- package/components/form/Labels.vue +2 -2
- package/components/form/MatchExpressions.vue +4 -4
- package/components/form/Members/ClusterMembershipEditor.vue +1 -1
- package/components/form/Members/ClusterPermissionsEditor.vue +31 -28
- package/components/form/Members/MembershipEditor.vue +2 -2
- package/components/form/NameNsDescription.vue +1 -1
- package/components/form/Networking.vue +6 -9
- package/components/form/NodeAffinity.vue +29 -28
- package/components/form/PodAffinity.vue +23 -23
- package/components/form/Probe.vue +15 -11
- package/components/form/ProjectMemberEditor.vue +28 -25
- package/components/form/ResourceQuota/Namespace.vue +4 -4
- package/components/form/ResourceQuota/NamespaceRow.vue +11 -9
- package/components/form/ResourceQuota/Project.vue +4 -4
- package/components/form/ResourceQuota/ProjectRow.vue +36 -30
- package/components/form/ResourceSelector.vue +1 -1
- package/components/form/Security.vue +1 -3
- package/components/form/Select.vue +7 -1
- package/components/form/ServiceNameSelect.vue +2 -5
- package/components/form/ServicePorts.vue +149 -75
- package/components/form/Taints.vue +2 -1
- package/components/form/Tolerations.vue +13 -9
- package/components/form/ValueFromResource.vue +110 -96
- package/components/form/WorkloadPorts.vue +143 -123
- package/components/formatter/WorkloadHealthScale.vue +4 -3
- package/components/nav/Group.vue +6 -0
- package/components/nav/Header.vue +7 -4
- package/components/nav/NamespaceFilter.vue +15 -21
- package/components/nav/TopLevelMenu.vue +99 -125
- package/components/nav/Type.vue +11 -3
- package/config/menuRouteMap.js +10 -0
- package/config/product/explorer.js +31 -9
- package/config/product/manager.js +28 -17
- package/config/router/navigation-guards/index.js +61 -3
- package/detail/node.vue +28 -23
- package/dialog/AddCustomBadgeDialog.vue +17 -9
- package/edit/autoscaling.horizontalpodautoscaler/external-metric.vue +1 -1
- package/edit/autoscaling.horizontalpodautoscaler/hpa-scaling-rule.vue +9 -6
- package/edit/autoscaling.horizontalpodautoscaler/index.vue +3 -1
- package/edit/autoscaling.horizontalpodautoscaler/metric-identifier.vue +2 -2
- package/edit/autoscaling.horizontalpodautoscaler/metric-object-reference.vue +7 -5
- package/edit/autoscaling.horizontalpodautoscaler/metric-target.vue +5 -3
- package/edit/autoscaling.horizontalpodautoscaler/metrics-row.vue +2 -2
- package/edit/autoscaling.horizontalpodautoscaler/object-metric.vue +2 -2
- package/edit/autoscaling.horizontalpodautoscaler/pod-metric.vue +1 -1
- package/edit/autoscaling.horizontalpodautoscaler/resource-metric.vue +2 -2
- package/edit/configmap.vue +4 -0
- package/edit/networking.k8s.io.ingress/Certificate.vue +14 -5
- package/edit/networking.k8s.io.ingress/DefaultBackend.vue +2 -2
- package/edit/networking.k8s.io.ingress/Rule.vue +5 -11
- package/edit/networking.k8s.io.ingress/RulePath.vue +105 -96
- package/edit/networking.k8s.io.networkpolicy/PolicyRule.vue +3 -3
- package/edit/networking.k8s.io.networkpolicy/PolicyRulePort.vue +4 -2
- package/edit/networking.k8s.io.networkpolicy/PolicyRuleTarget.vue +12 -11
- package/edit/networking.k8s.io.networkpolicy/index.vue +1 -1
- package/edit/persistentvolume/index.vue +3 -1
- package/edit/persistentvolumeclaim.vue +2 -0
- package/edit/secret/index.vue +2 -2
- package/edit/service.vue +4 -1
- package/edit/storage.k8s.io.storageclass/index.vue +10 -8
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/aws-ebs.vue +34 -27
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/gce-pd.vue +15 -13
- package/edit/storage.k8s.io.storageclass/provisioners/kubernetes.io/vsphere-volume.vue +41 -39
- package/edit/workload/Job.vue +31 -34
- package/edit/workload/Upgrading.vue +5 -5
- package/edit/workload/index.vue +22 -18
- package/edit/workload/storage/Mount.vue +1 -0
- package/edit/workload/storage/awsElasticBlockStore.vue +9 -7
- package/edit/workload/storage/azureDisk.vue +14 -10
- package/edit/workload/storage/azureFile.vue +9 -7
- package/edit/workload/storage/csi/index.vue +6 -9
- package/edit/workload/storage/emptyDir.vue +7 -5
- package/edit/workload/storage/gcePersistentDisk.vue +9 -7
- package/edit/workload/storage/hostPath.vue +7 -5
- package/edit/workload/storage/nfs.vue +8 -6
- package/edit/workload/storage/persistentVolumeClaim/index.vue +12 -10
- package/edit/workload/storage/persistentVolumeClaim/persistentvolumeclaim.vue +20 -15
- package/edit/workload/storage/secret.vue +9 -6
- package/edit/workload/storage/vsphereVolume.vue +11 -7
- package/initialize/app-extended.js +7 -1
- package/models/provisioning.cattle.io.cluster.js +19 -18
- package/package.json +1 -1
- package/pages/account/index.vue +90 -118
- package/pages/account/pri.vue +229 -0
- package/pages/auth/login.vue +6 -1
- package/pages/auth/setup.vue +36 -17
- package/pages/c/_cluster/_product/namespaces.vue +1 -1
- package/pages/c/_cluster/auth/roles/index.vue +38 -5
- package/pages/c/_cluster/explorer/ConfigBadge.vue +1 -1
- package/pages/c/_cluster/explorer/tools/index.vue +6 -6
- package/pages/home.vue +3 -4
- package/pkg/tsconfig.json +9 -9
- package/pkg/vue.config.js +1 -1
- package/plugins/dashboard-store/resource-class.js +28 -27
- package/rancher-components/BadgeState/BadgeState.vue +33 -52
- package/rancher-components/Banner/Banner.vue +12 -2
- package/rancher-components/Form/Radio/RadioGroup.vue +9 -1
- package/rancher-components/LabeledTooltip/LabeledTooltip.vue +31 -2
- package/rancher-components/RcDropdown/RcDropdownMenu.vue +8 -7
- package/scripts/publish-shell.sh +1 -1
- package/store/i18n.js +4 -0
- package/store/type-map.js +1 -3
- package/types/shell/index.d.ts +4 -30
- package/utils/error.js +3 -1
- package/utils/errorTranslate.json +416 -2
- package/vue.config.js +1 -1
|
Binary file
|
|
Binary file
|
package/assets/styles/all.scss
CHANGED
|
@@ -1,3 +1,21 @@
|
|
|
1
|
+
/* Chrome, Edge, Safari */
|
|
2
|
+
input[type="password"]::-webkit-textfield-decoration-container,
|
|
3
|
+
input[type="password"]::-webkit-inner-spin-button,
|
|
4
|
+
input[type="password"]::-webkit-clear-button {
|
|
5
|
+
display: none !important;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
/* Edge / IE */
|
|
9
|
+
input[type="password"]::-ms-reveal {
|
|
10
|
+
display: none !important;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/* Firefox */
|
|
14
|
+
input[type="password"]::-moz-reveal {
|
|
15
|
+
display: none !important;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
|
|
1
19
|
.info-tab-title{
|
|
2
20
|
font-size: 14px;
|
|
3
21
|
line-height: 19px;
|
|
@@ -22,8 +40,8 @@ ul{
|
|
|
22
40
|
}
|
|
23
41
|
|
|
24
42
|
.radio-group{
|
|
25
|
-
|
|
26
|
-
|
|
43
|
+
display: flex !important;
|
|
44
|
+
}
|
|
27
45
|
|
|
28
46
|
.clearFix{
|
|
29
47
|
font-size: 16px;
|
|
@@ -56,7 +74,9 @@ ul{
|
|
|
56
74
|
}
|
|
57
75
|
|
|
58
76
|
:deep() .vs__actions:after {
|
|
59
|
-
padding-top: 10px;
|
|
77
|
+
// padding-top: 10px;
|
|
78
|
+
display: flex;
|
|
79
|
+
align-items: center;
|
|
60
80
|
}
|
|
61
81
|
.TEXTAREA{
|
|
62
82
|
border: solid var(--border-width) var(--input-border);
|
|
@@ -12,8 +12,8 @@ $unlabeled-input-height: 40px;
|
|
|
12
12
|
$unlabaled-select-padding: 3px 0;
|
|
13
13
|
$footer-height: 60px;
|
|
14
14
|
|
|
15
|
-
$input-height:
|
|
16
|
-
$unlabeled-input-height:
|
|
15
|
+
$input-height: 30px;
|
|
16
|
+
$unlabeled-input-height: 30px;
|
|
17
17
|
$input-width: 400px;
|
|
18
18
|
|
|
19
19
|
|
|
@@ -39,13 +39,13 @@ $z-indexes: (
|
|
|
39
39
|
// ---- Boundary for central content (in `<main>`)
|
|
40
40
|
|
|
41
41
|
// This covers both relative and content modes of the loading indicator
|
|
42
|
-
loading:
|
|
42
|
+
loading: 16,
|
|
43
43
|
|
|
44
44
|
// Users can click on shell in header and show shell even with most loading indicators showing,
|
|
45
45
|
// so add it above them
|
|
46
|
-
windowsManager:
|
|
46
|
+
windowsManager: 17,
|
|
47
47
|
|
|
48
|
-
mainHeader:
|
|
48
|
+
mainHeader: 18,
|
|
49
49
|
|
|
50
50
|
cruFooter: 19,
|
|
51
51
|
|
|
@@ -120,7 +120,7 @@ button,
|
|
|
120
120
|
line-height: $btn-sm-height - 2px;
|
|
121
121
|
|
|
122
122
|
&:focus, &.focused {
|
|
123
|
-
border: 0;
|
|
123
|
+
// border: 0;
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
126
|
}
|
|
@@ -169,13 +169,13 @@ button,
|
|
|
169
169
|
}
|
|
170
170
|
|
|
171
171
|
.role-multi-action {
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
172
|
+
background-color: rgba(0,0,0,0);
|
|
173
|
+
border: solid thin var(--primary);
|
|
174
|
+
color: var(--primary) !important;
|
|
175
|
+
border-radius: 2px;
|
|
176
|
+
min-width: 32px;
|
|
177
|
+
height: 32px;
|
|
178
|
+
width: 32px;
|
|
179
179
|
}
|
|
180
180
|
|
|
181
181
|
.icon-group i {
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
background: var(--tooltip-bg);
|
|
12
12
|
box-shadow: 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);
|
|
13
13
|
color: var(--tooltip-text);
|
|
14
|
-
border-radius:
|
|
14
|
+
border-radius: 2px;
|
|
15
15
|
padding: 8px;
|
|
16
16
|
}
|
|
17
17
|
|
|
@@ -123,14 +123,14 @@
|
|
|
123
123
|
.v-popper__popper {
|
|
124
124
|
$color: var(--popover-bg);
|
|
125
125
|
border: 1px solid var(--border);
|
|
126
|
-
border-radius:
|
|
126
|
+
border-radius: 2px;
|
|
127
127
|
|
|
128
128
|
.v-popper__inner {
|
|
129
|
-
border-radius:
|
|
129
|
+
border-radius: 2px;
|
|
130
130
|
background: $color;
|
|
131
131
|
color: var(--popover-text);
|
|
132
132
|
padding: 10px;
|
|
133
|
-
border-radius:
|
|
133
|
+
border-radius: 0px;
|
|
134
134
|
border: none;
|
|
135
135
|
|
|
136
136
|
a {
|
|
@@ -147,7 +147,7 @@
|
|
|
147
147
|
}
|
|
148
148
|
|
|
149
149
|
.v-popper__popper.v-popper--theme-dropdown {
|
|
150
|
-
border-radius:
|
|
150
|
+
border-radius: 0px;
|
|
151
151
|
z-index: z-index('tooltip');
|
|
152
152
|
border: 1px solid #d9d9d9 !important;
|
|
153
153
|
|
|
@@ -157,6 +157,10 @@
|
|
|
157
157
|
}
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
|
+
.v-popper__popper .v-popper__arrow-container {
|
|
161
|
+
display: none;
|
|
162
|
+
}
|
|
163
|
+
|
|
160
164
|
|
|
161
165
|
.v-popper {
|
|
162
166
|
display: inline;
|
|
@@ -8,6 +8,8 @@ $darker : #333;
|
|
|
8
8
|
//light disabled
|
|
9
9
|
$dark : #ffffff;
|
|
10
10
|
|
|
11
|
+
$scroll_dark: #8b8b8b;
|
|
12
|
+
|
|
11
13
|
//light border and buttons
|
|
12
14
|
$medium : #d7d7d7;
|
|
13
15
|
|
|
@@ -266,9 +268,9 @@ BODY, .theme-light {
|
|
|
266
268
|
|
|
267
269
|
|
|
268
270
|
--warning : #{$warning};
|
|
269
|
-
--warning-text : #
|
|
271
|
+
--warning-text : #fff;
|
|
270
272
|
--warning-hover-bg : #{darken($warning, 10%)};
|
|
271
|
-
--warning-hover-text : #
|
|
273
|
+
--warning-hover-text : #fff;
|
|
272
274
|
--warning-active-bg : #{darken($warning, 25%)};
|
|
273
275
|
--warning-active-text : #{contrast-color(darken($warning, 25%))};
|
|
274
276
|
--warning-border : #{$warning};
|
|
@@ -351,7 +353,7 @@ BODY, .theme-light {
|
|
|
351
353
|
|
|
352
354
|
&.btn:hover {
|
|
353
355
|
color: var(--disabled-hover-text);
|
|
354
|
-
background:
|
|
356
|
+
background-color: #ccc !important;
|
|
355
357
|
transition: all 0.3s ease;
|
|
356
358
|
}
|
|
357
359
|
|
|
@@ -364,7 +366,7 @@ BODY, .theme-light {
|
|
|
364
366
|
|
|
365
367
|
--body-bg : #{$lightest};
|
|
366
368
|
--body-text : #{$darkest};
|
|
367
|
-
--scrollbar-thumb : #{$
|
|
369
|
+
--scrollbar-thumb : #{$scroll_dark};
|
|
368
370
|
--scrollbar-thumb-dropdown : #{$lighter};
|
|
369
371
|
--scrollbar-track : transparent;
|
|
370
372
|
|
|
@@ -762,6 +762,63 @@ assignTo:
|
|
|
762
762
|
}
|
|
763
763
|
workspace: Workspace
|
|
764
764
|
|
|
765
|
+
stateLabel:
|
|
766
|
+
Images preloaded: Images preloaded
|
|
767
|
+
Waiting Reboot: Waiting Reboot
|
|
768
|
+
warning: warning
|
|
769
|
+
upgrading: upgrading
|
|
770
|
+
Upgrading: Upgrading
|
|
771
|
+
Succeeded: Succeeded
|
|
772
|
+
Pending migration: Pending migration
|
|
773
|
+
Imagepullbackoff: Imagepullbackoff
|
|
774
|
+
VM error: VM error
|
|
775
|
+
Locked: Locked
|
|
776
|
+
Bound: Bound
|
|
777
|
+
Running: Running
|
|
778
|
+
Off: Off
|
|
779
|
+
Stopped: Stopped
|
|
780
|
+
pending: pending
|
|
781
|
+
Pending: Pending
|
|
782
|
+
failed: failed
|
|
783
|
+
Failed: Failed
|
|
784
|
+
Paused: Paused
|
|
785
|
+
Stopping: Stopping
|
|
786
|
+
Progressing: Progressing
|
|
787
|
+
Scheduling: Scheduling
|
|
788
|
+
Terminating: Terminating
|
|
789
|
+
Scheduled: Scheduled
|
|
790
|
+
Unknown: Unknown
|
|
791
|
+
CrashLoopBackOff: CrashLoopBackOff
|
|
792
|
+
Active: Active
|
|
793
|
+
Inactive: Inactive
|
|
794
|
+
Ready: Ready
|
|
795
|
+
Not Ready: Not Ready
|
|
796
|
+
Not ready: Not ready
|
|
797
|
+
Degraded: Degraded
|
|
798
|
+
Removing: Removing
|
|
799
|
+
Validated: Validated
|
|
800
|
+
Validating: Validating
|
|
801
|
+
Healthy: Healthy
|
|
802
|
+
Warning: Warning
|
|
803
|
+
Error: Error
|
|
804
|
+
Cordoned: Cordoned
|
|
805
|
+
Starting: Starting
|
|
806
|
+
Uploading: Uploading
|
|
807
|
+
Downloading: Downloading
|
|
808
|
+
In-use: In-use
|
|
809
|
+
Suspended: Suspended
|
|
810
|
+
Disabled: Disabled
|
|
811
|
+
Enabled: Enabled
|
|
812
|
+
Maintenance: Maintenance
|
|
813
|
+
Migrating: Migrating
|
|
814
|
+
Restoring: Restoring
|
|
815
|
+
Resizing: Resizing
|
|
816
|
+
Exporting: Exporting
|
|
817
|
+
Unavailable: Unavailable
|
|
818
|
+
Unschedulable: Unschedulable
|
|
819
|
+
VMI_WAITINH: VMI_WAITINH
|
|
820
|
+
Entering maintenance mode: Entering maintenance mode
|
|
821
|
+
|
|
765
822
|
asyncButton:
|
|
766
823
|
alt:
|
|
767
824
|
iconAlt: Async button icon
|
|
@@ -6407,6 +6464,8 @@ storageClass:
|
|
|
6407
6464
|
tooltip: By default the default storage class on the host Harvester cluster is used.
|
|
6408
6465
|
|
|
6409
6466
|
tableHeaders:
|
|
6467
|
+
pod: pod
|
|
6468
|
+
volumeattributesclass: volumeattributesclass
|
|
6410
6469
|
assuredConcurrencyShares: Assured Concurrency Shares
|
|
6411
6470
|
accessKey: Access Key
|
|
6412
6471
|
addressType: Address Type
|
|
@@ -111,6 +111,8 @@ generic:
|
|
|
111
111
|
=1 {匹配 {total, number} 个中的 1 个:"{sample}"}
|
|
112
112
|
other {匹配 {total, number} 中的 {matched, number} 个,包括 "{sample}"}
|
|
113
113
|
}
|
|
114
|
+
ariaLabel:
|
|
115
|
+
genericAddRow: 添加
|
|
114
116
|
|
|
115
117
|
graph:
|
|
116
118
|
loading: 正在加载 Chart 数据...
|
|
@@ -216,7 +218,7 @@ product:
|
|
|
216
218
|
backup: Rancher 备份
|
|
217
219
|
cis: CIS Benchmark
|
|
218
220
|
ecm: Cluster Manager
|
|
219
|
-
explorer:
|
|
221
|
+
explorer: 控制台
|
|
220
222
|
fleet: 持续交付
|
|
221
223
|
longhorn: Longhorn
|
|
222
224
|
manager: 集群管理
|
|
@@ -593,11 +595,25 @@ assignTo:
|
|
|
593
595
|
workspace: 工作空间
|
|
594
596
|
|
|
595
597
|
stateLabel:
|
|
598
|
+
Waiting: 等待中
|
|
599
|
+
Images preloading: 图像预加载中
|
|
600
|
+
Images preloaded: 图像已预加载
|
|
601
|
+
Waiting Reboot: 等待重启
|
|
602
|
+
warning: 警告
|
|
603
|
+
upgrading: 升级中
|
|
604
|
+
Upgrading: 升级中
|
|
605
|
+
Succeeded: 成功
|
|
606
|
+
Pending migration: 待迁移
|
|
607
|
+
Imagepullbackoff: 镜像拉取失败
|
|
608
|
+
VM error: 错误
|
|
609
|
+
Locked: 锁定
|
|
596
610
|
Bound: 已绑定
|
|
597
611
|
Running: 运行中
|
|
598
612
|
Off: 关闭
|
|
599
613
|
Stopped: 关闭
|
|
614
|
+
pending: 准备中
|
|
600
615
|
Pending: 准备中
|
|
616
|
+
failed: 失败
|
|
601
617
|
Failed: 失败
|
|
602
618
|
Paused: 暂停
|
|
603
619
|
Stopping: 停止中
|
|
@@ -637,7 +653,6 @@ stateLabel:
|
|
|
637
653
|
VMI_WAITINH: 等待中
|
|
638
654
|
Entering maintenance mode: 维护中
|
|
639
655
|
|
|
640
|
-
|
|
641
656
|
buttonLabel:
|
|
642
657
|
Stop: 停止
|
|
643
658
|
Restart: 重启
|
|
@@ -671,7 +686,7 @@ buttonLabel:
|
|
|
671
686
|
Errors:
|
|
672
687
|
changePassword:
|
|
673
688
|
Password must be at least 12 characters: 密码至少为12个字符
|
|
674
|
-
invalid current password: 当前的密码输入错误
|
|
689
|
+
"invalid current password": 当前的密码输入错误
|
|
675
690
|
|
|
676
691
|
|
|
677
692
|
asyncButton:
|
|
@@ -2573,7 +2588,7 @@ ingress:
|
|
|
2573
2588
|
required: 目标服务是必填的
|
|
2574
2589
|
warning: "警告:默认后端将全局用于整个集群"
|
|
2575
2590
|
ingressClass:
|
|
2576
|
-
label:
|
|
2591
|
+
label: Ingress类
|
|
2577
2592
|
rules:
|
|
2578
2593
|
addPath: 添加路径
|
|
2579
2594
|
addRule: 添加规则
|
|
@@ -2914,7 +2929,7 @@ logging:
|
|
|
2914
2929
|
default: /run/log/journal
|
|
2915
2930
|
elasticsearch:
|
|
2916
2931
|
host: 主机
|
|
2917
|
-
scheme:
|
|
2932
|
+
scheme: 协议
|
|
2918
2933
|
port: 端口
|
|
2919
2934
|
indexName: 索引名称
|
|
2920
2935
|
user: 用户名
|
|
@@ -3170,7 +3185,7 @@ login:
|
|
|
3170
3185
|
label: 记住用户名
|
|
3171
3186
|
|
|
3172
3187
|
logout:
|
|
3173
|
-
message:
|
|
3188
|
+
message: 正在退出登录...
|
|
3174
3189
|
|
|
3175
3190
|
managementNode:
|
|
3176
3191
|
customName: 自定义名称
|
|
@@ -4549,6 +4564,12 @@ promptRemove:
|
|
|
4549
4564
|
promptRemoveApp:
|
|
4550
4565
|
removeCrd: "删除与此应用关联的 CRD"
|
|
4551
4566
|
|
|
4567
|
+
promptRemoveText:
|
|
4568
|
+
globalrole: "角色"
|
|
4569
|
+
globalroles: "角色"
|
|
4570
|
+
roletemplate: "角色"
|
|
4571
|
+
roletemplates: "角色"
|
|
4572
|
+
|
|
4552
4573
|
promptRestore:
|
|
4553
4574
|
title: 还原快照
|
|
4554
4575
|
name: 名称
|
|
@@ -5421,6 +5442,9 @@ storageClass:
|
|
|
5421
5442
|
tooltip: 默认使用主机 Cloud 集群上的默认存储类。
|
|
5422
5443
|
|
|
5423
5444
|
tableHeaders:
|
|
5445
|
+
pod: pod
|
|
5446
|
+
ip: ip
|
|
5447
|
+
volumeattributesclass: 卷属性类
|
|
5424
5448
|
assuredConcurrencyShares: 确保并发份额
|
|
5425
5449
|
accessKey: Access Key
|
|
5426
5450
|
addressType: 地址类型
|
|
@@ -5498,7 +5522,7 @@ tableHeaders:
|
|
|
5498
5522
|
iP: IP
|
|
5499
5523
|
image: 镜像
|
|
5500
5524
|
imageSize: 大小
|
|
5501
|
-
ingressClass:
|
|
5525
|
+
ingressClass: Ingress 类
|
|
5502
5526
|
ingressDefaultBackend: 默认
|
|
5503
5527
|
ingressTarget: 目标
|
|
5504
5528
|
internalExternalIp: 外网 IP/内网 IP
|
|
@@ -5527,7 +5551,12 @@ tableHeaders:
|
|
|
5527
5551
|
missingPL: 缺少 PL
|
|
5528
5552
|
memory: 内存
|
|
5529
5553
|
monitored: 已监控
|
|
5554
|
+
request: 资源请求量
|
|
5555
|
+
limit: 资源限制
|
|
5530
5556
|
name: 名称
|
|
5557
|
+
maxunavailable: 最大不可用数
|
|
5558
|
+
minAvailable: 最小可用数
|
|
5559
|
+
alloweddisruptions: 允许中断数
|
|
5531
5560
|
nameDisplay: 显示名称
|
|
5532
5561
|
nameUnlinked: 名称
|
|
5533
5562
|
namespace: 资源组
|
|
@@ -5597,6 +5626,11 @@ tableHeaders:
|
|
|
5597
5626
|
scope: 范围
|
|
5598
5627
|
selector: 选择器
|
|
5599
5628
|
secrets: 密文
|
|
5629
|
+
secret:
|
|
5630
|
+
project-clone: 由 Project Secret 创建
|
|
5631
|
+
project-clone-tooltip: 是否由 Project Scoped Secret 在本命名空间创建
|
|
5632
|
+
project-scoped: Project Secret
|
|
5633
|
+
project-scoped-tooltip: 此 Project Scoped Secret 会在所属命名空间中生成匹配的 Secret
|
|
5600
5634
|
schedule: 调度
|
|
5601
5635
|
service: 服务
|
|
5602
5636
|
serviceAccounts: Service Account
|
|
@@ -5642,6 +5676,7 @@ tableHeaders:
|
|
|
5642
5676
|
volume: 卷
|
|
5643
5677
|
volumeMode: 卷模式
|
|
5644
5678
|
weight: 权重
|
|
5679
|
+
action: 操作
|
|
5645
5680
|
target:
|
|
5646
5681
|
router:
|
|
5647
5682
|
label: 路由
|
|
@@ -5935,7 +5970,9 @@ workload:
|
|
|
5935
5970
|
exec: 容器内运行的命令以 0 状态退出
|
|
5936
5971
|
image: 容器镜像
|
|
5937
5972
|
imagePullPolicy: 镜像拉取策略
|
|
5938
|
-
imagePullSecrets:
|
|
5973
|
+
imagePullSecrets:
|
|
5974
|
+
label: 镜像拉取密钥
|
|
5975
|
+
tooltip: 必须为 kubernetes.io/dockercfg 或 kubernetes.io/dockerconfigjson 类型
|
|
5939
5976
|
init: 初始化容器
|
|
5940
5977
|
lifecycleHook:
|
|
5941
5978
|
postStart:
|
|
@@ -5963,7 +6000,7 @@ workload:
|
|
|
5963
6000
|
label: 端口
|
|
5964
6001
|
placeholder: 例如:3000
|
|
5965
6002
|
scheme:
|
|
5966
|
-
label:
|
|
6003
|
+
label: 协议
|
|
5967
6004
|
placeholder: 例如:HTTP
|
|
5968
6005
|
httpHeaders:
|
|
5969
6006
|
title: HTTP 头部
|
|
@@ -6014,7 +6051,7 @@ workload:
|
|
|
6014
6051
|
hostPID: 使用主机 PID 资源组
|
|
6015
6052
|
podFsGroup: Pod 文件系统组
|
|
6016
6053
|
privileged:
|
|
6017
|
-
label:
|
|
6054
|
+
label: 特权模式
|
|
6018
6055
|
'false': 否
|
|
6019
6056
|
'true': "是:容器可以完全访问主机"
|
|
6020
6057
|
readOnlyRootFilesystem:
|
|
@@ -6161,7 +6198,7 @@ workload:
|
|
|
6161
6198
|
replicas: 副本数量
|
|
6162
6199
|
showTabs: '显示高级选项'
|
|
6163
6200
|
scheduling:
|
|
6164
|
-
activeDeadlineSeconds: 判定
|
|
6201
|
+
activeDeadlineSeconds: 判定Pod是否活跃的截止时间
|
|
6165
6202
|
activeDeadlineSecondsTip: 系统将 Pod 判定为失败,并终止其关联容器前的等待时长
|
|
6166
6203
|
affinity:
|
|
6167
6204
|
addNodeSelector: 添加节点选择器
|
|
@@ -6331,7 +6368,7 @@ workload:
|
|
|
6331
6368
|
pod: Pod 是你可以在 Kubernetes 中创建和管理的最小可部署计算单元。Pod 是一个或多个容器,具有共享的存储和网络资源以及运行容器的规范。
|
|
6332
6369
|
upgrading:
|
|
6333
6370
|
activeDeadlineSeconds:
|
|
6334
|
-
label: 判定
|
|
6371
|
+
label: 判定Pod是否活跃的截止时间
|
|
6335
6372
|
tip: 系统将 Pod 判定为失败,并终止其关联容器前的等待时长
|
|
6336
6373
|
concurrencyPolicy:
|
|
6337
6374
|
label: 并发
|
|
@@ -6482,7 +6519,7 @@ typeDescription:
|
|
|
6482
6519
|
kubevirt.io.virtualmachine: 云虚拟机是一种安全可靠、弹性可伸缩的云计算服务器,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。
|
|
6483
6520
|
harvesterhci.io.volume: 虚拟磁盘具有高性能和低时延的特点,支持随机读写,可以像使用物理硬盘一样,在虚拟机上进行格式化并建立文件系统来使用块存储。
|
|
6484
6521
|
harvesterhci.io.volumesnapshot: 虚拟磁盘快照功能通过捕获虚拟磁盘在特定时间点的状态,生成增量副本,支持快速回滚磁盘状态,为测试验证、容灾恢复提供高效解决方案
|
|
6485
|
-
harvesterhci.io.virtualmachinebackup:
|
|
6522
|
+
harvesterhci.io.virtualmachinebackup: 虚拟机备份恢复功能通过创建包含磁盘数据、配置信息的完整副本,支持跨环境恢复及长期数据保护,为系统故障或灾难提供可靠容灾方案。
|
|
6486
6523
|
harvesterhci.io.schedulevmbackup: 虚拟机备份策略功能通过创建定时任务,对虚拟机进行完整备份或增量快照,为用户提供自动化的数据备份和容灾方案。
|
|
6487
6524
|
harvesterhci.io.vmsnapshot: 虚拟机快照功能通过捕获特定时间点的系统状态,支持快速恢复虚拟机状态,为数据备份与系统调试提供灵活解决方案。
|
|
6488
6525
|
harvesterhci.io.keypair: SSH密钥对是一种安全便捷的登录认证方式,您可以实现免密码远程登录,并在无需人工干预的情况下进行安全的自动化操作,实现服务器配置和应用程序部署的自动化。
|
|
@@ -6509,7 +6546,34 @@ typeDescription:
|
|
|
6509
6546
|
management.cattle.io.setting: 统一配置平台基础选项与全局设置,支持CA证书、密码规则、域名、Token时效等核心配置。
|
|
6510
6547
|
management.cattle.io.user: 用于管理用户账号,支持创建、维护用户信息,可设置用户权限、管理密码等,保障系统资源仅由授权用户访问,提升系统安全性。
|
|
6511
6548
|
harvesterhci.io.management.cluster: 提供虚拟化集群的实时健康状态监控、版本号管理及资源负载管理,支持批量导入/删除集群、配置调优与权限分级功能,实现高效运维管控。
|
|
6549
|
+
projectsnamespaces: 项目/资源组是用于在集群内实现资源隔离和多租户管理的基本单元。通过项目可以对一组命名空间及相关资源进行统一的权限、配额和策略管理。
|
|
6550
|
+
members: 集群和项目成员管理页面用于配置用户和用户组对资源的访问权限。通过角色绑定(RBAC)来控制成员在集群或项目范围内的操作权限,实现安全的协同管理。
|
|
6551
|
+
event: 事件记录了 Kubernetes 资源(如 Pod、节点等)的状态变化、错误信息和生命周期事件。通过查看事件可以快速诊断应用部署和运行中的问题。
|
|
6552
|
+
autoscaling.horizontalpodautoscaler: HorizontalPodAutoscaler (HPA) 用于根据观察到的 CPU 利用率或其他自定义指标自动调整工作负载的 Pod 副本数量,实现应用的水平自动扩缩容。
|
|
6553
|
+
networking.k8s.io.ingress: Ingress 用于管理对集群内服务的外部访问,提供 HTTP 和 HTTPS 路由规则。通过 Ingress 可以配置负载均衡、SSL 终止和基于名称的虚拟主机等能力。
|
|
6554
|
+
service: Service 用于将一组 Pod 暴露为网络服务,提供稳定的 IP 地址和 DNS 名称,并实现负载均衡。Service 确保您的应用程序在网络中可被发现和可靠访问。
|
|
6555
|
+
storage.k8s.io.storageclass: 存储池页面用于集中管理和配置集群中的持久化存储资源。您可以在此查看存储提供商、创建存储类(StorageClass)并为有状态应用动态提供持久卷(Persistent Volume)。
|
|
6556
|
+
persistentvolume: PersistentVolume (PV) 是集群中的一块持久化存储资源,由管理员预先配置或通过存储类动态供应。PV 为需要持久化数据的应用提供独立于 Pod 生命周期的存储空间。
|
|
6557
|
+
persistentvolumeclaim: 虚拟磁盘是提供给虚拟机使用的持久化存储设备,为虚拟机操作系统和应用数据提供独立的、可扩展的存储空间。虚拟磁盘的生命周期可以与虚拟机解耦,实现数据的持久化保存。
|
|
6558
|
+
configmap: ConfigMap 用于将非机密的配置数据以键值对形式保存,并注入到 Pod 中作为环境变量、命令行参数或配置文件使用。实现应用配置与容器镜像的分离,便于配置管理。
|
|
6559
|
+
secret: Secret 用于存储和管理敏感信息,如密码、OAuth 令牌和 SSH 密钥等。Secret 以加密方式保存数据,并可以安全地挂载到 Pod 中供容器使用,避免敏感信息硬编码。
|
|
6560
|
+
projectsecret: Secret 用于存储和管理敏感信息,如密码、OAuth 令牌和 SSH 密钥等。Secret 以加密方式保存数据,并可以安全地挂载到 Pod 中供容器使用,避免敏感信息硬编码。
|
|
6561
|
+
networking.k8s.io.networkpolicy: 网络策略用于控制 Pod 组之间的网络通信规则,实现 Kubernetes 集群内的网络隔离。通过定义入站和出站规则,可以精确控制 Pod 之间的网络访问权限。
|
|
6562
|
+
limitrange: 限制范围用于在命名空间内限制资源的使用量,包括 Pod 的计算资源(CPU、内存)请求和限制、存储卷大小以及可创建的资源对象数量,防止资源过度消耗。
|
|
6563
|
+
resourcequota: 资源配额用于限制命名空间可以使用的总体资源总量,包括计算资源、存储资源以及可创建的对象数量。它确保命名空间内的资源使用不会超过分配的配额限制。
|
|
6564
|
+
policy.poddisruptionbudget: Pod 中断预算用于限制自愿中断期间同时终止的 Pod 副本数量,确保应用的高可用性。它可以防止在节点维护或集群缩容时导致的应用服务中断。
|
|
6565
|
+
apps.daemonset: DaemonSet 在每个符合条件的节点上仅运行一个 Pod。当新节点添加到集群时,DaemonSet 会自动部署新节点。推荐用于全系统或可垂直扩展,且每个节点永远不需要超过一个 pod 的工作负载。
|
|
6566
|
+
apps.deployment: Deployment 运行分布在符合条件的节点中的可扩展数量的 Pod 副本。变更会逐步推出,并可回滚到之前的版本。推荐用于无状态和水平可扩展的工作负载。
|
|
6567
|
+
apps.statefulset: StatefulSet 管理有状态的应用,并保证创建的 Pod 的顺序和唯一性。推荐用于具有持久化存储或严格身份、法定人数或升级顺序要求的工作负载。
|
|
6568
|
+
batch.cronjob: CronJob 创建 Job,然后按照重复调度来运行 Pod。该调度以标准的 Unix cron 格式表示,并使用 Kubernetes Control Plane 的时区(通常是 UTC)。
|
|
6569
|
+
batch.job: Job 创建一个或多个 Pod。 Job 通过运行 Pod 直到其成功退出,以可靠执行一次性任务。失败的 Pod 会自动被替换,直到达到指定的完成运行次数。Job 还可以并行运行多个 Pod,或作为批处理工作队列。
|
|
6570
|
+
pod: Pod 是你可以在 Kubernetes 中创建和管理的最小可部署计算单元。Pod 是一个或多个容器,具有共享的存储和网络资源以及运行容器的规范。
|
|
6512
6571
|
typeLabel:
|
|
6572
|
+
management.cattle.io.project: |-
|
|
6573
|
+
{count, plural,
|
|
6574
|
+
one { 项目 }
|
|
6575
|
+
other { 项目 }
|
|
6576
|
+
}
|
|
6513
6577
|
management.cattle.io.token: |-
|
|
6514
6578
|
{count, plural,
|
|
6515
6579
|
one { API 密钥 }
|
|
@@ -6753,8 +6817,8 @@ typeLabel:
|
|
|
6753
6817
|
}
|
|
6754
6818
|
autoscaling.horizontalpodautoscaler: |-
|
|
6755
6819
|
{count, plural,
|
|
6756
|
-
one {
|
|
6757
|
-
other {
|
|
6820
|
+
one { HPA }
|
|
6821
|
+
other { HPA }
|
|
6758
6822
|
}
|
|
6759
6823
|
networking.k8s.io.ingress: |-
|
|
6760
6824
|
{count, plural,
|
|
@@ -6861,6 +6925,26 @@ typeLabel:
|
|
|
6861
6925
|
one { 工作负载 }
|
|
6862
6926
|
other { 工作负载 }
|
|
6863
6927
|
}
|
|
6928
|
+
cluster : |-
|
|
6929
|
+
{count, plural,
|
|
6930
|
+
one { 集群 }
|
|
6931
|
+
other { 集群 }
|
|
6932
|
+
}
|
|
6933
|
+
servicediscovery : |-
|
|
6934
|
+
{count, plural,
|
|
6935
|
+
one { 服务发现 }
|
|
6936
|
+
other { 服务发现 }
|
|
6937
|
+
}
|
|
6938
|
+
storage : |-
|
|
6939
|
+
{count, plural,
|
|
6940
|
+
one { 存储 }
|
|
6941
|
+
other { 存储 }
|
|
6942
|
+
}
|
|
6943
|
+
policy : |-
|
|
6944
|
+
{count, plural,
|
|
6945
|
+
one { 策略 }
|
|
6946
|
+
other { 策略 }
|
|
6947
|
+
}
|
|
6864
6948
|
harvesterhci.io.management.cluster: |-
|
|
6865
6949
|
{count, plural,
|
|
6866
6950
|
one { Cloud 集群 }
|
|
@@ -7856,3 +7940,79 @@ gitPicker:
|
|
|
7856
7940
|
networkAttachmentDefinition:
|
|
7857
7941
|
tabs:
|
|
7858
7942
|
config: 配置
|
|
7943
|
+
|
|
7944
|
+
|
|
7945
|
+
component:
|
|
7946
|
+
drawer:
|
|
7947
|
+
chrome:
|
|
7948
|
+
ariaLabel:
|
|
7949
|
+
close: 关闭抽屉
|
|
7950
|
+
close: 关闭
|
|
7951
|
+
resourceDetailDrawer:
|
|
7952
|
+
title: "{resourceName} ({resourceType}) - 配置"
|
|
7953
|
+
editConfig: 编辑配置
|
|
7954
|
+
editYaml: 编辑YAML
|
|
7955
|
+
ariaLabel:
|
|
7956
|
+
editConfig: 编辑配置
|
|
7957
|
+
editYaml: 编辑YAML
|
|
7958
|
+
yamlTab:
|
|
7959
|
+
title: YAML
|
|
7960
|
+
configTab:
|
|
7961
|
+
title: 配置
|
|
7962
|
+
resource:
|
|
7963
|
+
detail:
|
|
7964
|
+
card:
|
|
7965
|
+
resourceUsage:
|
|
7966
|
+
used: Used
|
|
7967
|
+
amount: '{used} of {available}'
|
|
7968
|
+
cpu: CPU
|
|
7969
|
+
memory: Memory
|
|
7970
|
+
pods: Pods
|
|
7971
|
+
resourcesCard:
|
|
7972
|
+
title: 资源
|
|
7973
|
+
rows:
|
|
7974
|
+
services: 服务
|
|
7975
|
+
ingresses: Ingresses
|
|
7976
|
+
referredToBy: 参考
|
|
7977
|
+
refersTo: 引用
|
|
7978
|
+
podsCard:
|
|
7979
|
+
title: Pods
|
|
7980
|
+
ariaResourceName: pods
|
|
7981
|
+
insightsCard:
|
|
7982
|
+
title: Insights
|
|
7983
|
+
rows:
|
|
7984
|
+
conditions: Conditions
|
|
7985
|
+
events: Events
|
|
7986
|
+
scaler:
|
|
7987
|
+
ariaLabel:
|
|
7988
|
+
increase: Increase {resourceName}
|
|
7989
|
+
decrease: Decrease {resourceName}
|
|
7990
|
+
titleBar:
|
|
7991
|
+
showConfiguration: 显示配置
|
|
7992
|
+
ariaLabel:
|
|
7993
|
+
actionMenu: 更多操作
|
|
7994
|
+
showConfiguration: 显示{resource}的整个配置
|
|
7995
|
+
metadata:
|
|
7996
|
+
labelsAndAnnotations: 标签和注释
|
|
7997
|
+
identifyingInformation:
|
|
7998
|
+
createdBy: 创建
|
|
7999
|
+
namespace: 命名空间
|
|
8000
|
+
project: 项目
|
|
8001
|
+
age: 使用时长
|
|
8002
|
+
image: 图片
|
|
8003
|
+
ready: 准备
|
|
8004
|
+
up-to-date: Up-to-date
|
|
8005
|
+
available: 可用
|
|
8006
|
+
serviceAccount: 服务帐户
|
|
8007
|
+
type: 类型
|
|
8008
|
+
certificate: 证书
|
|
8009
|
+
issuer: Issuer
|
|
8010
|
+
expires: 到期
|
|
8011
|
+
workspace: 工作区
|
|
8012
|
+
annotations:
|
|
8013
|
+
title: 注释
|
|
8014
|
+
labels:
|
|
8015
|
+
title: 标签
|
|
8016
|
+
keyValue:
|
|
8017
|
+
noRows: 此资源上没有配置{propertyName}.
|
|
8018
|
+
showConfiguration: 显示配置
|