安装舵机舵柄Kubernetes时使用的内部证书

安装舵机舵柄Kubernetes时使用的内部证书,kubernetes,gitlab,kubernetes-helm,Kubernetes,Gitlab,Kubernetes Helm,执行kubectl-n gitlab managed apps logs install helm时会触发以下错误 我尝试重新生成证书,并绕过证书检查。不知何故,它使用的是我的内部证书,而不是源代码的证书 root@dev#kubectl-n gitlab管理的应用程序日志安装helm +helm init——舵柄tls——舵柄tls验证——tls ca证书/data/helm/helm/config/ca.pem——舵柄tls证书/data/helm/helm/config/cert.pem—

执行
kubectl-n gitlab managed apps logs install helm
时会触发以下错误

我尝试重新生成证书,并绕过证书检查。不知何故,它使用的是我的内部证书,而不是源代码的证书

root@dev#kubectl-n gitlab管理的应用程序日志安装helm
+helm init——舵柄tls——舵柄tls验证——tls ca证书/data/helm/helm/config/ca.pem——舵柄tls证书/data/helm/helm/config/cert.pem——舵柄tls密钥/data/helm/helm/config/key.pem
创建/root/.helm
创建/root/.helm/repository
创建/root/.helm/repository/cache
创建/root/.helm/repository/local
创建/root/.helm/插件
创建/root/.helm/starters
创建/root/.helm/cache/archive
创建/root/.helm/repository/repositories.yaml
使用URL添加稳定回购:https://kubernetes-charts.storage.googleapis.com 
错误:看起来像“https://kubernetes-charts.storage.googleapis.com“不是有效的图表存储库或无法访问:Gethttps://kubernetes-charts.storage.googleapis.com/index.yaml: x509:证书对*.tdebv.nl有效,而不是对kubernetes-charts.storage.googleapis.com有效
这里可能有什么问题?下面的屏幕截图是Gitlab给我的错误(信息也不多)


在遇到同样的问题后,我终于找到了解决方案:

在主节点和工作节点上的
/etc/resolv.conf
文件中,您必须搜索并删除
search XYZ.com
条目。

如果您使用的是Jelastic,则每次重新启动后都必须删除此条目。它由Jelastic自动添加。我已经联系过他们,所以他们可能会很快修复。

使用以下内容创建“~/.helm/repository/repositories.yaml”解决了问题

cat << EOF >> ~/.helm/repository/repositories.yaml
apiVersion: v1
repositories:
- caFile: ""
  cache: ~/.helm/repository/cache/stable-index.yaml
  certFile: ""
  keyFile: ""
  name: stable
  password: ""
  url: https://kubernetes-charts.storage.googleapis.com
  username: ""
- caFile: ""
  cache: ~/.helm/repository/cache/local-index.yaml
  certFile: ""
  keyFile: ""
  name: local
  password: ""
  url: http://127.0.0.1:8879/charts
  username: ""
EOF

#helm init
cat>~/.helm/repository/repositories.yaml
版本:v1
存储库:
-卡菲尔:“
缓存:~/.helm/repository/cache/stable-index.yaml
证书文件:“
密钥文件:“
姓名:stable
密码:“
网址:https://kubernetes-charts.storage.googleapis.com
用户名:“
-卡菲尔:“
缓存:~/.helm/repository/cache/local-index.yaml
证书文件:“
密钥文件:“
姓名:本地
密码:“
网址:http://127.0.0.1:8879/charts
用户名:“
EOF
#头盔初始化

我在Kubernetes上遇到了同样的问题,Debian Buster下的印花布网络堆栈

通过检查大量配置和参数,我最终通过更改转发规则的策略使其接受,从而使其正常工作。这清楚地表明,问题出在防火墙的某个地方

运行iptables-L给了我以下揭幕警告:#警告:iptables遗留表存在,使用iptables遗留查看它们

list命令给出的输出不包含任何印花布规则。运行iptables legacy-L向我展示了印花布规则,所以现在很明显为什么它不起作用。因此,印花布似乎使用传统的界面

问题是替代方案中Debian到iptables nft的变化,您可以通过以下方式进行检查:

ls-l/etc/备选方案| grep iptables

执行以下操作:

update-alternatives --set iptables /usr/sbin/iptables-legacy
update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
update-alternatives --set arptables /usr/sbin/arptables-legacy
update-alternatives --set ebtables /usr/sbin/ebtables-legacy

现在一切都好了!感谢Kubernetes Slack channel的Long为解决问题指明了方向。

您是如何安装头盔的?从gitlab ui?看起来容器中有一个CA不信任
https://kubernetes-charts.storage.googleapis.com
没错@Rico.Gitlab UI。我似乎也找不到关于这个问题的任何东西。甚至在Gitlab问题跟踪器上都没有。它使用什么容器来安装helm?k8s的吊舱规格是什么?还是部署规范?你能把这些贴出来吗?你是怎么做到的?我已经通过我的Gitlab UI和Google云平台设置了这个。不确定你想听到什么。我用vi命令删除了文件中的行。因为我不使用GCP,所以我无法告诉您如何在GCP上执行此操作。这是因为在GCP上选择的节点太小。n1-standard-1是所需的最小节点感谢我,我只需要在我的microk8s测试安装上设置静态IP地址。这是一个伟大的解决方案,对于我们这些服务器上的/etc/resolv.conf被强制覆盖…感谢分享!