我正在使用spring boot maven插件.我需要在生成的manifest.mf文件中添加class-path属性.这个类路径条目应该包含spring boot创建的fat jar文件的lib文件夹中的所有jar文件.如何这可能吗?
我正在将 hello-world docker 容器部署到 k3d 集群。为了获取外部IP,部署了负载均衡器类型的服务。
之后我希望通过负载均衡器调用应用程序。但我没有得到外部IP。
k3d create --name="mydemocluster" --workers="2" --publish="80:80"
export KUBECONFIG="$(k3d get-kubeconfig --name='mydemocluster')"
kubectl run kubia --image=hello-world --port=8080 --generator=run/v1
kubectl expose rc kubia --type=LoadBalancer --name kubia-http
export KUBECONFIG="$(k3d get-kubeconfig --name='mydemocluster')"
Run Code Online (Sandbox Code Playgroud)
我想在alertmanger pod中使用curl,如下所示:
curl www.google.com
Run Code Online (Sandbox Code Playgroud)
它显示ash: curl: not found,所以我想安装curl:
/alertmanager # apk add curl
ash: apk: not found
/alertmanager # yum install curl
ash: yum: not found
/alertmanager # apt install curl
ash: apt: not found
/alertmanager # apt-get install curl
ash: apt-get: not found
Run Code Online (Sandbox Code Playgroud)
那么我应该怎么做才能在这个pod中安装curl呢?这是我的 yaml:
kind: Deployment
apiVersion: apps/v1
metadata:
name: alertmanager
namespace: kube-system
labels:
addonmanager.kubernetes.io/mode: Reconcile
k8s-app: alertmanager
kubernetes.io/cluster-service: 'true'
version: v0.14.0
annotations:
deployment.kubernetes.io/revision: '1'
spec:
replicas: 1
selector:
matchLabels:
k8s-app: alertmanager
version: v0.14.0
template:
metadata: …Run Code Online (Sandbox Code Playgroud) 任何帮助是极大的赞赏。
我在 kubernetes 上运行 fluidd。我有来自java应用程序的日志。堆栈跟踪是多行的,问题是多行日志的每一行都被报告为新的日志事件。
下面是我的配置。有人可以建议配置有什么问题吗?另外,我使用containerd而不是docker来运行容器。
input-kubernetes.conf: |
[INPUT]
Name tail
Tag kube.*
Path /var/log/containers/*.log
DB /var/log/flb_kube.db
Mem_Buf_Limit 5MB
Skip_Long_Lines On
Refresh_Interval 10
Multiline On
Parser_Firstline multiline
Parser_1 cri
filter-kubernetes.conf: |
[FILTER]
Name kubernetes
Match kube.*
Kube_URL https://k3s-master.test.com:6443
Kube_CA_File /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
Kube_Token_File /var/run/secrets/kubernetes.io/serviceaccount/token
Kube_Tag_Prefix kube.var.log.containers.
K8S-Logging.Parser On
K8S-Logging.Exclude Off
[FILTER]
Name parser
Match kube.*
Key_Name log
Parser cri
Reserve_Data On
[FILTER]
Name parser
Match kube.*
Key_Name message
Parser json
Reserve_Data On
Preserve_Key On
output-elasticsearch.conf: |
[OUTPUT]
Name es
Match *
Host …Run Code Online (Sandbox Code Playgroud) 我从以下链接看到 Kubernetes REST API 参考手册支持 PATCH 请求:https: //kubernetes.io/docs/reference/ generated/kubernetes-api/v1.18/#patch-ingress-v1beta1-networking-k8s -io
HTTP Request
PATCH /apis/networking.k8s.io/v1beta1/namespaces/{namespace}/ingresses/{name}
Run Code Online (Sandbox Code Playgroud)
但是,在 Postman 中通过 Kubernetes REST API 服务器向 Kubernetes 集群发送 PATCH 请求时,出现 HTTP 415 Unsupported Media Type 错误。
我想在集群外部部分更新我们指定的入口。为此,我添加了试用版的快照。
Kubernetes REST API 服务器入口 PATCH 请求
我们的 Kubernetes 版本是:
Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.3", GitCommit:"2d3c76f9091b6bec110a5e63777c332469e0cba2", GitTreeState:"clean", BuildDate:"2019-08-19T11:13:54Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.3", GitCommit:"2d3c76f9091b6bec110a5e63777c332469e0cba2", GitTreeState:"clean", BuildDate:"2019-08-19T11:05:50Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}
Run Code Online (Sandbox Code Playgroud)
修补 JSON:
{
"apiVersion": "networking.k8s.io/v1beta1",
"kind": "Ingress",
"metadata": {
"name": "demo-ingress",
"annotations": {
"nginx.org/rewrites": "serviceName=demo-service-235 rewrite=/"
} …Run Code Online (Sandbox Code Playgroud) 我正在尝试将应用程序部署到 Kubernetes 集群。我的部署使用三个 configMap 作为volumeMount。
但是,当我应用部署时,它似乎找不到 configMaps。
我的部署.yml 如下所示:
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: dev-space
name: my-app-dev
spec:
replicas: 1
revisionHistoryLimit: 1
selector:
matchLabels:
name: my-app-dev
strategy:
rollingUpdate:
maxSurge: 100%
maxUnavailable: 30%
type: RollingUpdate
template:
metadata:
labels:
name: my-app-dev
version: v1
annotations:
sla: high
tier: application
role: frontend-api
quality: dev
spec:
containers:
- name: my-app
env:
- name: ENVIRONMENT
value: dev
- name: SAMPLE_FILE
value: sample.yml
- name: SAMPLE_FILE2
value: sample2.yml
image: my-app:1.0
ports:
- containerPort: 8000
protocol: TCP …Run Code Online (Sandbox Code Playgroud) 我正在尝试连接到托管在 上的本地 Kubernetes 集群minikube,这是相同的代码,现在当我这样做时go run minikube.go,它给了我一个错误说:
../../../pkg/mod/k8s.io/client-go@v11.0.0+incompatible/kubernetes/scheme/register.go:26:2: module k8s.io/api@latest found (v0.19.0), but does not contain package k8s.io/api/auditregistration/v1alpha1`.
Run Code Online (Sandbox Code Playgroud)
现在,我尝试使用手动安装该软件包,go get然后我发现该软件包不存在。我怎样才能让它工作并解决这个问题?我的go.mod 文件,以防有人想看。
我正在尝试将 kubernetes 与 Spring Boot 应用程序一起使用并使用 mysql。但是我在 minikube 仪表板上发现了这个错误:
0/1 nodes are available: 1 pod has unbound immediate PersistentVolumeClaims.Back-off restarting failed container
Run Code Online (Sandbox Code Playgroud)
为boath 用户和管理员创建了一个秘密文件,一个configMap 文件也用于将spring boot 映像映射到mysql 的服务。Mysql部署文件是:
apiVersion: v1
kind: Service
metadata:
name: mysql # DNS name
labels:
app: mysql
tier: database
spec:
ports:
- port: 3306
targetPort: 3306
selector: # mysql Pod Should contain same labels
app: mysql
tier: database
clusterIP: None # We Use DNS, Thus ClusterIP is not relevant
---
# Define a 'Persistent Volume Claim'(PVC) …Run Code Online (Sandbox Code Playgroud) 当我尝试通过 http 请求从 node.js 应用程序创建资源时,出现此错误。
{
kind: 'Status',
apiVersion: 'v1',
metadata: {},
status: 'Failure',
message: 'prometheusrules.monitoring.coreos.com is forbidden: User ' +
'"system:serviceaccount:default:default" cannot create resource ' +
'"prometheusrules" in API group "monitoring.coreos.com" in the ' +
'namespace "default"',
reason: 'Forbidden',
details: { group: 'monitoring.coreos.com', kind: 'prometheusrules' },
code: 403
}
Run Code Online (Sandbox Code Playgroud)
如何添加权限system:serviceaccount:default:default?
我尝试过以下方法ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: sla-manager-service-role
labels:
app: sla-manager-app
rules:
- apiGroups: [""] # "" indicates the core API group
resources: ["services", "pods"]
verbs: …Run Code Online (Sandbox Code Playgroud) 我是 k8s 的新手,我正在尝试构建一个 etcd 集群。现在我已经完成了所有步骤并获得了所需的输出。
ubuntu@controller0:/etc/systemd/system$ sudo ETCDCTL_API=3 etcdctl member list --endpoints=https://10.240.0.10:2379 --cacert=/etc/etcd/ca.pem --cert=/etc/etcd/kubernetes.pem --key=/etc/etcd/kubernetes-key.pem
3a57933972cb5131, started, controller2, https://10.240.0.12:2380, https://10.240.0.12:2379, false
f98dc20bce6225a0, started, controller0, https://10.240.0.10:2380, https://10.240.0.10:2379, false
ffed16798470cab5, started, controller1, https://10.240.0.11:2380, https://10.240.0.11:2379, false
Run Code Online (Sandbox Code Playgroud)
但是让我有点困惑的是false所有 3 个 etcd 主机。有人可以帮我解释一下,这是否意味着他们目前都不是大师?如果这个输出是正确的
kubernetes ×9
etcd ×1
fluent-bit ×1
go ×1
go-modules ×1
go-packages ×1
java ×1
k3s ×1
minikube ×1
multiline ×1
mysql ×1
parsing ×1
rancher ×1
spring-boot ×1