小编Mr.*_*ler的帖子

如何终止 kubernetes 后台运行的端口转发进程

我已使用以下命令转发所有 postgres 服务

kubectl port-forward svc/data-postgres 5432:5432 &
Run Code Online (Sandbox Code Playgroud)

我现在想终止这个进程。我尝试了以下命令:

ps ax | egrep port-forward | egrep 'postgres' | sed 's/^\s*//' | cut -d' ' -f1 | xargs kill
Usage:
 kill [options] <pid> [...]

Options:
 <pid> [...]            send signal to every <pid> listed
 -<signal>, -s, --signal <signal>
                        specify the <signal> to be sent
 -l, --list=[<signal>]  list all signal names, or convert one to a name
 -L, --table            list all signal names in a nice table

 -h, --help     display this help and …
Run Code Online (Sandbox Code Playgroud)

linux

6
推荐指数
1
解决办法
5927
查看次数

Azure 容器注册表映像拉取速度非常慢,映像大小约为 150 MB

将映像部署到 AKS 实例时,从 ACR(高级 SKU)提取映像的速度非常慢,即使是大小约为 150 MB 左右的“小”映像也是如此。

AKS 资源和 ACR 资源均位于加拿大东部地区。

这是一个例子:

root@076fff2831b2:/tmp# kubectl describe pod application-service-59bcf96874-pvrmb
Name:           application-service-59bcf96874-pvrmb
Namespace:      default
Priority:       0
Node:           aks-41067869-1/10.255.13.163
Start Time:     Tue, 11 Feb 2020 18:15:53 -0500
Labels:         app.kubernetes.io/instance=application-service
                app.kubernetes.io/name=application-service
                pod-template-hash=59bcf96874
Annotations:    <none>
Status:         Running
IP:             10.255.13.175
IPs:            <none>
Controlled By:  ReplicaSet/application-service-59bcf96874
Containers:
  application-service:
    Container ID:   docker://0e86526a293d9055d482a09f043f0be68c594244fe4216f8fb190bc2caf6b65b
    Image:          myacr01.azurecr.io/microservices/application-service:0.0.6
    Image ID:       docker-pullable://myacr01.azurecr.io/microservices/application-service@sha256:cfbb3ffa7adc52da9cc0b8d7f78376076ea712025b59df8e406c559d369f4085
    Port:           3000/TCP
    Host Port:      0/TCP
    State:          Waiting
      Reason:       CrashLoopBackOff
    Last State:     Terminated
      Reason:       Error
      Exit Code:    1
      Started:      Tue, 11 Feb …
Run Code Online (Sandbox Code Playgroud)

azure azure-container-registry azure-aks

5
推荐指数
0
解决办法
1055
查看次数

Hyperv 似乎没有安装

Hyper V 已启动。

操作系统:Winsows 10 Pro 内存:4GB

*****Power shell 以管理员模式启动********

我已经创建了一个虚拟交换机管理器,然后我正在尝试以下命令。

minikube start --vm-driver hyperv --hyperv-virtual-switch "Minikube Switch" 它抛出以下错误。

minikube v1.7.2 on Microsoft Windows 10 Pro 10.0.18363 Build 18363
* Using the hyperv driver based on user configuration
! 'hyperv' driver reported an issue: C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe Get-WindowsOptionalFeature -FeatureName Microsoft-Hyper-V-All -Online failed:
* Suggestion: Start PowerShell as Administrator, and run: 'Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All'
* Documentation: https://minikube.sigs.k8s.io/docs/reference/drivers/hyperv/
Run Code Online (Sandbox Code Playgroud)

X hyperv 似乎没有安装

hyper-v minikube

5
推荐指数
1
解决办法
1889
查看次数

Jib -“找不到‘useCurrentTimestamp’”

我将 jib 添加到 pom.xml 文件中,如下所示:

<properties>
  <docker.org>springcloudstream</docker.org>
  <docker.version>${project.version}</docker.version>
</properties>
...
<build>
  <plugins>
    <plugin>
      <groupId>com.google.cloud.tools</groupId>
      <artifactId>jib-maven-plugin</artifactId>
      <version>2.1.0</version>
      <configuration>
        <from>
          <image>springcloud/openjdk</image>
        </from>
        <to>
          <image>${docker.org}/${project.artifactId}:${docker.version}</image>
        </to>
        <container>
          <useCurrentTimestamp>true</useCurrentTimestamp>
        </container>
      </configuration>
    </plugin>
  </plugins>
</build>
Run Code Online (Sandbox Code Playgroud)

运行以下构建命令后,

./mvnw package jib:dockerBuild
Run Code Online (Sandbox Code Playgroud)

我收到以下错误。

[ERROR] Failed to execute goal com.google.cloud.tools:jib-maven-plugin:2.1.0:dockerBuild (default-cli) on project usage-detail-sender-kafka: Unable to parse configuration of mojo com.google.cloud.tools:jib-maven-plugin:2.1.0:dockerBuild for parameter useCurrentTimestamp: Cannot find 'useCurrentTimestamp' in class com.google.cloud.tools.jib.maven.JibPluginConfiguration$ContainerParameters
Run Code Online (Sandbox Code Playgroud)

UseCurrentTimestamp 已在配置中。经过网上搜索,我只找到一个条目: https: //github.com/GoogleContainerTools/jib/issues/413。我在页面上看不到解决方案。

缺什么?

jib

5
推荐指数
1
解决办法
3121
查看次数

PHP CURL 因 Kubernetes CronJob 中的操作超时而失败

我有一个 cronJob,它以某个时间间隔运行以从远程服务器下载图像。我有alpine-php:7.2-fpm码头工人形象。它适用于某些 URL。但它在某些 URL 上失败了。

这是 CURL 的代码

$fp = fopen($fileNameWithPath, 'w');

$ch = curl_init();
curl_setopt_array($ch, array(
        CURLOPT_URL => $url,
        CURLOPT_FILE => $fp,
        CURLOPT_ENCODING => "",
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => "GET",
        CURLOPT_CONNECTTIMEOUT => 90,
        CURLOPT_TIMEOUT => 180,
        CURLOPT_SSL_VERIFYHOST => 0,
        CURLOPT_SSL_VERIFYPEER => 0,
        CURLOPT_VERBOSE => 1
));        
$result = curl_exec($ch);
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
fclose($fp);
Run Code Online (Sandbox Code Playgroud)

我启用了详细信息,Kubernetes pods 中的日志提供以下输出

* TCP_NODELAY set 
* Connected to images.asos-media.com (23.32.5.80) port 443 (#0) 
* …
Run Code Online (Sandbox Code Playgroud)

php-curl kubernetes-cronjob

5
推荐指数
0
解决办法
424
查看次数

本地主机 您的连接不是私有的

我尝试通过https://127.0.0.1:8080/访问 Argo CD并收到以下错误消息: 在此输入图像描述

我按照https://argoproj.github.io/argo-cd/getting_started/网站上的建议转发了端口:

kubectl port-forward svc/argocd-server -n argocd 8080:443
Run Code Online (Sandbox Code Playgroud)

我还安装了 Argo CD 证书,如底部所示: 在此输入图像描述

当我尝试通过 Firefox 访问时,它起作用了: 在此输入图像描述

为什么 Chromium 不起作用?

certificate chromium

3
推荐指数
1
解决办法
4049
查看次数

fluentd 不解析 JSON 日志文件条目

我在 Stackoverflow 上看到了许多类似的问题,包括这个。但没有一个解决我的特殊问题。

该应用程序部署在 Kubernetes (v1.15) 集群中。我正在使用基于fluent/fluentd-docker-image GitHub 存储库的docker 镜像v1.9/armhf,修改为包含 elasticsearch 插件。Elasticsearch 和 Kibana 都是version 7.6.0.

日志将进入标准输出,如下所示:

{"Application":"customer","HTTPMethod":"GET","HostName":"","RemoteAddr":"10.244.4.154:51776","URLPath":"/customers","level":"info","msg":"HTTP request received","time":"2020-03-10T20:17:32Z"}
Run Code Online (Sandbox Code Playgroud)

在 Kibana 中,我看到了这样的事情:

{
  "_index": "logstash-2020.03.10",
  "_type": "_doc",
  "_id": "p-UZxnABBcooPsDQMBy_",
  "_version": 1,
  "_score": null,
  "_source": {
    "log": "{\"Application\":\"customer\",\"HTTPMethod\":\"GET\",\"HostName\":\"\",\"RemoteAddr\":\"10.244.4.154:46160\",\"URLPath\":\"/customers\",\"level\":\"info\",\"msg\":\"HTTP request received\",\"time\":\"2020-03-10T20:18:18Z\"}\n",
    "stream": "stdout",
    "docker": {
      "container_id": "cd1634b0ce410f3c89fe63f508fe6208396be87adf1f27fa9d47a01d81ff7904"
    },
    "kubernetes": {
Run Code Online (Sandbox Code Playgroud)

我期待看到从log:值中提取的 JSON有点像这样(缩写):

{
  "_index": "logstash-2020.03.10",
  ...
  "_source": {
    "log": "...",   
    "Application":"customer",
    "HTTPMethod":"GET",
    "HostName":"",
    "RemoteAddr":"10.244.4.154:46160",
    "URLPath":"/customers",
    "level":"info",
    "msg":"HTTP request received",
    "time":"2020-03-10T20:18:18Z",
    "stream": …
Run Code Online (Sandbox Code Playgroud)

json elasticsearch fluentd kibana

3
推荐指数
1
解决办法
4395
查看次数

Azure 中的 Rabbit MQ 支持

我需要从 Azure 上的多个应用服务读取消息并将其发布到 Rabbit MQ 实例。

任何人都可以建议我应该用来托管 Rabbit MQ 实例的 Azure 服务吗?

messaging azure rabbitmq azure-queues

2
推荐指数
2
解决办法
773
查看次数