小编Nit*_*esh的帖子

如何使用Jenkins管道输入到docker文件中的git凭据?

我正在尝试从SCM加载Jenkins管道脚本.我必须构建一个docker镜像并将其推送到GCR.在docker镜像中,我需要安装私有git存储库.在这里,我试图从Jenkins输入获取git用户名密码.但我不知道如何在Dockerfile中使用它来拉取git repo.这些是我在SCM中的Jenkinsfile和Dockerfile.有什么建议?

詹金斯文件:

node {
def app

stage('Clone repository') {
    checkout scm

    def COMMITHASH = sh(returnStdout: true, script: "git log -n 1 --pretty=format:'%h'").trim()
    echo ("Commit hash: "+COMMITHASH.substring(0,7))
}

stage('Build image') {

    timeout(time: 600, unit: 'SECONDS') { 
        gitUser = input(
           id: 'gitUser', 
           message: 'Please enter git credentials :', 
           parameters: [
           [$class: 'TextParameterDefinition', defaultValue: "", description: 'Git user name', name: 'username'],
           [$class: 'PasswordParameterDefinition', defaultValue: "", description: 'Git password', name: 'password']
        ])
    }

    /* Build docker image */
    println('Build image stage');
    app = …
Run Code Online (Sandbox Code Playgroud)

jenkins docker devops jenkins-pipeline

8
推荐指数
1
解决办法
3194
查看次数

启用私人访问后,无法访问VPC中的EKS API服务器终结点

我已经设置了启用了“私有访问”的EKS cluser,并在同一VPC中设置了一个实例以与EKS通信。问题是,如果我启用了“公共访问”,则可以访问api端点。但是,如果我禁用了公共访问权限并启用了私有访问权限,则无法访问api端点。

启用私有访问后:

kubectl get svc
Unable to connect to the server: dial tcp: lookup randomstring.region.eks.amazonaws.com on 127.0.0.53:53: no such host
Run Code Online (Sandbox Code Playgroud)

启用公共访问后:

kubectl get svc
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   172.20.0.1   <none>        443/TCP   57m
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-vpc kubernetes amazon-eks eks

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

如何防止在 Kubernetes 中由 HPA 创建的特定时间段内新扩展的 pod 缩减?

我在 DigitalOcean 中设置了一个 Kubernetes 集群。集群配置为使用 HPA(Horizo​​ntal Pod Autoscaler)自动扩展。我想防止终止在过去 1 小时内按比例放大的 pod,以避免颠簸和节省账单。以下是两个相同的原因:

  1. 由于不可预测的流量,有时新的 Pod 会在一小时内放大和缩小多次。由于应用程序的性质,50-60 个新用户需要一个新的 Pod 来处理流量。
  2. DigitalOcean 液滴每小时收费。即使水滴上升 15 分钟,他们也会充电一个小时。因此,有时我们在一小时内支付 5 个液滴,而本可以只支付 1 个液滴。

文档中,我找不到与此相关的任何内容。任何相同的黑客都会有帮助。

autoscaling docker digital-ocean kubernetes hpa

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

如何使用.htaccess/Apache2在简单的php应用程序中配置wordpress应用程序在子目录中?

我想用一个简单的php应用程序配置一个Wordpress应用程序.应用程序的目录结构如下:

根目录:/ var/www/demoApp /

Wordpress目录:/ var/www/demoApp/wordpress /

在这里,我想使用路由http:// BASE_URL/wordpress访问wordpress应用程序.但我无法配置htaccess文件.使用url http:// BASE_URL /,/ var/www/demoApp /目录下的所有php页面都正常工作.虽然没有正确加载wordpress文件.

这是我的Apache配置块:

<VirtualHost *:80>
    ServerName localhost

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/demoApp

    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /var/www/demoApp>
            Options FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
    </Directory>


    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

什么应该是.htaccess文件?

php apache wordpress .htaccess mod-rewrite

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

如何增加部署在 AWS ECS fargate 上的 Nodejs Socket.io 服务器中的 websocket 客户端数量?

我正在使用 socket.io 在 AWS Fargate 中运行套接字服务器容器

连接用户数在 800-1000 左右时一切正常,但是当客户端数量增加时,旧套接字连接会自动断开并出现错误transport error

我的 AWS ECS 服务(Fargate 容器)在 AWS 应用程序负载均衡器后面运行。

需要应用任何特定配置来支持与我的容器的数千个并发连接吗?

连接到单个套接字服务器的并发用户数是否有限制?

AWS任务定义有4GB内存和2个CPU

套接字服务器代码:

io = module.exports = require('socket.io')(server, {
  'pingInterval': 10000,
  'pingTimeout': 7000,
  'origins': (env.APPLY_ALLOW_ORIGIN_FILTER) ? env.SOCKET_WHITELIST_URL : '*:*',
  transports: ['websocket', 'htmlfile', 'xhr-polling', 'jsonp-polling', 'polling']
})
Run Code Online (Sandbox Code Playgroud)

websocket node.js socket.io aws-ecs aws-fargate

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

如何根据ECS集群资源可用性来扩缩EC2实例?

我的 ECS 集群中运行着多个服务。每个服务包含一个或多个基于 CPU 利用率或用户数量的任务。我已经使用 EC2 启动类型部署了这些容器。现在,我想根据集群中的可用资源增加/减少 EC2 实例的数量。假设有四个 ECS 任务在两个 m5.large 实例中运行。

现在,如果 ECS 服务增加了任务数量,并且集群中没有足够的可用资源,我如何启动实例并将其添加到集群中?

反之亦然。如果有实例正在运行,但其中没有ecs任务,如何自动销毁它?

PS - 我正在使用 Fargate。由于成本非常高,我转向了 EC2 实例。

containers amazon-ec2 amazon-web-services amazon-ecs

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

为什么弹性搜索容器的内存使用量很少增加而不断增加?

我已经使用eks kubernetes集群在AWS中部署了Elastic-search容器。即使只有3个索引并且使用率不高,容器的内存使用量仍在增加。我正在使用FluentD将集群容器日志转储到弹性搜索中。除此之外,没有使用弹性搜索。我尝试使用来应用最小/最大堆大小-Xms512m -Xmx512m。它可以成功应用,但仍会在24小时内使内存使用率几乎翻倍。我不确定还必须配置其他哪些选项。我尝试将docker image从更改elasticsearch:6.5.4elasticsearch:6.5.1。但是问题仍然存在。我也尝试了-XX:MaxHeapFreeRatio=50Java选项。

查看kibana的屏幕截图。 在此处输入图片说明

编辑:以下是Elastic-search初创公司的日志:

[2019-03-18T13:24:03,119][WARN ][o.e.b.JNANatives         ] [es-79c977d57-v77gw] Unable to lock JVM Memory: error=12, reason=Cannot allocate memory
[2019-03-18T13:24:03,120][WARN ][o.e.b.JNANatives         ] [es-79c977d57-v77gw] This can result in part of the JVM being swapped out.
[2019-03-18T13:24:03,120][WARN ][o.e.b.JNANatives         ] [es-79c977d57-v77gw] Increase RLIMIT_MEMLOCK, soft limit: 16777216, hard limit: 16777216
[2019-03-18T13:24:03,120][WARN ][o.e.b.JNANatives         ] [es-79c977d57-v77gw] These can be adjusted by modifying /etc/security/limits.conf, for example: 
    # allow user 'elasticsearch' mlockall
    elasticsearch soft memlock unlimited
    elasticsearch hard memlock unlimited …
Run Code Online (Sandbox Code Playgroud)

java elasticsearch fluentd docker kubernetes

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

Nginx 反向代理返回“504 从服务器读取响应时超时”

我已将 Nginx 设置为反向代理。我将代理指向 java 应用程序。问题是 Nginx504 Timeout while reading response from server在 60 秒后返回。Nginx 或 java 应用程序中没有错误日志。如果我直接点击 java 应用程序,它会为请求提供超过 60 秒的时间,但如果我通过 Nginx 执行此操作,它会在 60 秒后超时。我在 nginx.conf 文件中添加了以下配置。

proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
send_timeout 300;
keepalive_timeout 650;
Run Code Online (Sandbox Code Playgroud)

奇怪的是,如果我将超时设置更改为小于 60 秒,它会按预期工作。我还尝试将 Nginx 指向 NodeJs 应用程序,以确保问题不在 java 应用程序中。行为保持不变。

我还需要修复其他配置吗?

Nginx 版本:1.14.0

PS:我也尝试过使用 kubernetes Nginx ingress。问题仍然相同。

proxy reverse-proxy nginx kubernetes

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

如何从 kube-system 中删除 Kubernetes 仪表板?

我无法从 Minikube 中删除 kubernetes-dashboard。我尝试多次删除部署“deployment.apps/kubernetes-dashboard”。但它会在几秒钟内自动重新创建。

我正在使用以下命令删除部署:

kubectl 删除 deployment.apps/kubernetes-dashboard -n kube-system

我什至尝试通过将副本计数设置为零来编辑部署。但即使它会在几秒钟后自动重置。

同样的事情发生在 kube-system 中的 nginx-ingress 部署中。

kubernetes minikube kubernetes-dashboard kubernetes-ingress

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