kubernetes Argo CD安装问题

jdzmm42g  于 2023-05-16  发布在  Kubernetes
关注(0)|答案(2)|浏览(147)

嗨,我只是想在我的本地机器上安装Argo CD。我已经安装并运行了minikube。
在创建argocd命名空间之后,我只尝试以下命令

kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

此错误仍然存在:

Unable to connect to the server: dial tcp [2405:200:1607:2820:41::36]:443: i/o timeout

我能得到一些帮助吗?顺便说一句,我是新的阿尔戈...

dy1byipe

dy1byipe1#

在killercodaPlayground玩argocd。这可能是开始学习和摆弄它的最简单的方法。https://killercoda.com/mabusaa/course/argocd-endusers-scenarios/00-argocd-playground
或者遵循这样的指南:https://dev.to/abhinavd26/all-about-argocd-a-beginners-guide-33c9
确保您的端点和服务已启动,并且可以 curl 端点。一定要阅读关于入口的部分,以及在哪里 curl 或连接。
您可能还需要确保您的网络设置正确,以允许您访问端点。
下面是一个运行killercoda示例的快速示例...

$ kubectl create namespace argocd
namespace/argocd created

$ kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
customresourcedefinition.apiextensions.k8s.io/applications.argoproj.io created
...
networkpolicy.networking.k8s.io/argocd-server-network-policy created

查找要运行的argocd-server pod(底部)

$ kubectl get pods --namespace argocd
NAME                                                READY   STATUS    RESTARTS   AGE
argocd-application-controller-0                     1/1     Running   0          55s
argocd-applicationset-controller-84c8d6fc9b-nstm5   1/1     Running   0          55s
argocd-dex-server-59dc6fc75b-d8pnz                  1/1     Running   0          55s
argocd-notifications-controller-5d7dd8c5b7-j2hb4    1/1     Running   0          55s
argocd-redis-74cb89f466-52d22                       1/1     Running   0          55s
argocd-repo-server-c456f6997-4qcww                  1/1     Running   0          55s
argocd-server-7555f5c778-fx2s5                      1/1     Running   0          55s

查看端点-注意192.168.1.21:8080上的argocd-server端点

$ kubectl --namespace argocd get endpoints
NAME                                      ENDPOINTS                                               AGE
argocd-applicationset-controller          192.168.1.18:8080,192.168.1.18:7000                     85s
argocd-dex-server                         192.168.1.20:5558,192.168.1.20:5557,192.168.1.20:5556   85s
argocd-metrics                            192.168.1.23:8082                                       85s
argocd-notifications-controller-metrics   192.168.1.19:9001                                       85s
argocd-redis                              192.168.1.22:6379                                       85s
argocd-repo-server                        192.168.1.17:8084,192.168.1.17:8081                     85s
argocd-server                             192.168.1.21:8080,192.168.1.21:8080                     85s
argocd-server-metrics                     192.168.1.21:8083                                       85s

查看服务-注意argocd-server服务,其ClusterIP 10.105.38.254端口为80/TCP、443/TCP

$ kubectl --namespace argocd get service 
NAME                                      TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                      AGE
argocd-applicationset-controller          ClusterIP   10.107.62.45     <none>        7000/TCP,8080/TCP            113s
argocd-dex-server                         ClusterIP   10.102.41.206    <none>        5556/TCP,5557/TCP,5558/TCP   113s
argocd-metrics                            ClusterIP   10.111.77.173    <none>        8082/TCP                     113s
argocd-notifications-controller-metrics   ClusterIP   10.100.24.197    <none>        9001/TCP                     113s
argocd-redis                              ClusterIP   10.100.133.38    <none>        6379/TCP                     113s
argocd-repo-server                        ClusterIP   10.106.117.208   <none>        8081/TCP,8084/TCP            113s
argocd-server                             ClusterIP   10.105.38.254    <none>        80/TCP,443/TCP               113s
argocd-server-metrics                     ClusterIP   10.98.252.11     <none>        8083/TCP                     113s

如果你 curl argocd服务器集群的ip和端口(10.105.38.254:443)或端点(192.168.1.21:8080),你应该得到这样的东西:

$ curl -k https://192.168.1.21:8080/swagger-ui
<!DOCTYPE html>
<html>
  <head>
    <title>API documentation</title>

                <meta charset="utf-8"/>
                <meta name="viewport" content="width=device-width, initial-scale=1">
                <link href="https://fonts.googleapis.com/css?family=Montserrat:300,400,700|Roboto:300,400,700" rel="stylesheet">

    
    <style>
      body {
        margin: 0;
        padding: 0;
      }
    </style>
  </head>
  <body>
    <redoc spec-url='/swagger.json'></redoc>
    <script src="/assets/scripts/redoc.standalone.js"> </script>
  </body>
</html>

如果curl有响应,你可以试着把url放到浏览器中,看看它是否连接上了。否则,请查看此url的步骤3中用于公开服务的选项(https://argo-cd.readthedocs.io/en/stable/getting_started/)。

$ kubectl port-forward svc/argocd-server -n argocd 8080:443
fbcarpbf

fbcarpbf2#

错误“Unable to connect to the Server TCP I/O timeout”通常是由于一些常见原因而发生的,您可以尝试根据以下步骤进行故障排除:
1)您的Kubernetes集群未运行。验证您的群集是否已启动,例如:通过ping IP地址。
2)存在阻止您访问群集的网络问题。验证您是否可以ping通IP,并尝试跟踪是否存在阻止访问的防火墙。
3)您配置的群集已不存在。另外,由于kubelet配置中的IP地址差异,可能会导致错误。
4)参考这个官方的doc关于如何在本地机器上安装ArgoCD,正如在文档中提到的,你需要在安装Argo CD的同一个命名空间中运行。尝试使用以下步骤将当前上下文设置为默认命名空间:

kubectl config set-context --current --namespace=argocd

查看当前上下文

kubectl config current-context

查看您拥有的上下文

kubectl config view

切换上下文

kubectl config use-context context-cluster-name`

确保您使用的是正确的kubectl上下文。
您也可以参考Aruna Lakmal撰写的doc以了解有关此错误的更多信息。

相关问题