0

I'm trying to install Artifactory using Minikube & Helm 3

I'm following instructions here with some other bits I've found here and there: https://artifacthub.io/packages/helm/jfrog/artifactory-oss

I think I might be missing something obvious about exposing ports.

As far as I can tell, you need an 'Ingress' enabled?

So:

minikube addons enable ingress

After running the install,

$ cat namespace-artifactory.json
{
  "apiVersion": "v1",
  "kind": "Namespace",
  "metadata": {
    "name": "artifactory-oss",
    "labels": {
      "name": "artifactory-oss"
    }
  }
}

$ kubectl create -f namespace-artifactory.json

$ helm upgrade --install artifactory-oss --set artifactory.postgresql.postgresqlPassword=postgres_password --namespace artifactory-oss jfrog/artifactory-oss
Release "artifactory-oss" does not exist. Installing it now.
NAME: artifactory-oss
LAST DEPLOYED: Mon Apr 12 16:20:53 2021
NAMESPACE: artifactory-oss
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
Congratulations. You have just deployed JFrog Artifactory OSS!


$ kubectl get namespace
NAME                   STATUS   AGE
artifactory-oss        Active   99s
default                Active   6d
kube-node-lease        Active   6d
kube-public            Active   6d
kube-system            Active   6d
kubernetes-dashboard   Active   4d22h


$ kubectl get svc --namespace artifactory-oss
NAME                                  TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)                      AGE
artifactory-oss-artifactory           ClusterIP      10.98.138.1      <none>        8082/TCP,8081/TCP            100s
artifactory-oss-artifactory-nginx     LoadBalancer   10.104.240.114   <pending>     80:32112/TCP,443:30681/TCP   100s
artifactory-oss-postgresql            ClusterIP      10.100.119.202   <none>        5432/TCP                     100s
artifactory-oss-postgresql-headless   ClusterIP      None             <none>        5432/TCP                     100s


$ kubectl --namespace artifactory-oss get pods
NAME                                                 READY   STATUS    RESTARTS   AGE
artifactory-oss-artifactory-0                        1/1     Running   0          2m23s
artifactory-oss-artifactory-nginx-75b745c955-ffgql   1/1     Running   0          2m23s
artifactory-oss-postgresql-0                         1/1     Running   0          2m23s


$ kubectl logs --namespace artifactory-oss artifactory-oss-artifactory-0
... Server configuration reloaded on localhost:8046
... Server configuration reloaded on localhost:8049
... Server configuration reloaded on :8082
... frontend (jffe) service initialization completed in 40.24 seconds. Listening on port: port 8070

So now it looks like it worked, maybe, except I can't access any ports.

  • The cluster IPs are different. Seems odd.
  • No external IPs. Seems odd.

I opened ports in the 8000-9000 range using firewalld:

public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens192
  sources:
  services: dhcpv6-client ssh
  ports: 8000-9000/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

But none of the 80** ports are hitting anything.

Anyone familiar with this install, or know what I'm doing wrong?

Thanks

------------EDIT 1:

kubectl --namespace artifactory-oss describe service artifactory-oss-artifactory-nginx

Name:                     artifactory-oss-artifactory-nginx
Namespace:                artifactory-oss
Labels:                   app=artifactory
                          app.kubernetes.io/managed-by=Helm
                          chart=artifactory-11.13.0
                          component=nginx
                          heritage=Helm
                          release=artifactory-oss
Annotations:              meta.helm.sh/release-name: artifactory-oss
                          meta.helm.sh/release-namespace: artifactory-oss
Selector:                 app=artifactory,component=nginx,release=artifactory-oss
Type:                     LoadBalancer
IP Families:              <none>
IP:                       10.104.240.114
IPs:                      10.104.240.114
Port:                     http  80/TCP
TargetPort:               80/TCP
NodePort:                 http  32112/TCP
Endpoints:                172.17.0.2:80
Port:                     https  443/TCP
TargetPort:               443/TCP
NodePort:                 https  30681/TCP
Endpoints:                172.17.0.2:443
Session Affinity:         None
External Traffic Policy:  Cluster
Events:                   <none>

--------EDIT 2:

 minikube tunnel

Status:
        machine: minikube
        pid: 1380280
        route: 10.96.0.0/12 -> 192.168.49.2
        minikube: Running
        services: [artifactory-oss-artifactory-nginx]
    errors:
                minikube: no errors
                router: no errors
                loadbalancer emulator: no errors
djb
  • 1,635
  • 3
  • 26
  • 49
  • Can you post logs of artifactory-oss-artifactory-nginx Pod as well? – AndD Apr 13 '21 at 07:42
  • The nginx one has no logs :/ – djb Apr 14 '21 at 08:45
  • @djb Did solution below help ? – Malgorzata Apr 20 '21 at 12:22
  • Not yet, and I don't know what the issue is, yet. Everything seems to be up. I think maybe the problem is that K8s is making a new IP for the cluster, but I'm on a single machine, and I need it to use the host IP, because new random IPs might not be whitelisted on the DNS. Just a guess though. – djb Apr 22 '21 at 14:07

1 Answers1

0

Look into why your nginx ingress is <pending>.

kubectl --namespace artifactory-oss describe service artifactory-oss-artifactory-nginx

We are using this in production and it requires an nginx ingress engine installed. Might need more in minikube than just the ingress addon

lance.johnsn
  • 467
  • 3
  • 9
  • I tried, and pasted the output above. I am looking at https://stackoverflow.com/questions/44110876/kubernetes-service-external-ip-pending which might have an answer, but still not sure. tunnel doesn't seem to do much. – djb Apr 21 '21 at 14:04