nexus helm proxy 集成&&问题解决

对于使用kubernetes 进行开发的人员来说helm是很方便的

构建nexus helm plugin

git clone https://github.com/sonatype-nexus-community/nexus-repository-helm.git

mvn  clean package

安装配置插件

官方介绍了好几种方法 ,有临时方法以及很久方式,永久方法有两种
a. copy deploy 目录, 插件加载成功,但是没有helm proxy 的选项
b. copy plugins + 配置
我选择的是b
以下为官方说明,按照操作即可:

Copy the bundle into <nexus_dir>/system/org/sonatype/nexus/plugins/nexus-repository-helm/0.0.1/nexus-repository-helm-0.0.1.jar
Make the following additions marked with + to <nexus_dir>/system/org/sonatype/nexus/assemblies/nexus-core-feature/3.x.y/nexus-core-feature-3.x.y-features.xml
      <feature prerequisite="false" dependency="false">nexus-repository-rubygems</feature>
      <feature prerequisite="false" dependency="false">nexus-repository-helm</feature>
      <feature prerequisite="false" dependency="false">nexus-repository-gitlfs</feature>
  </feature>

   And

 <feature name="nexus-repository-helm" description="org.sonatype.nexus.plugins:nexus-repository-helm" version="0.0.1">
     <details>org.sonatype.nexus.plugins:nexus-repository-helm</details>
     <bundle>mvn:org.sonatype.nexus.plugins/nexus-repository-helm/0.0.1</bundle>
 </feature>

使用插件

因为墙的问题,我使用了阿里云的helm 仓库 https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts

  • 添加仓库
helm repo add myhelm http://hostip:8081/repository/helm-proxy/
  • 查找helm
helm search myhelm/wordpress
NAME CHART VERSION  APP VERSION DESCRIPTION                                       
myhelm/wordpress    0.8.8 4.9.4 Web publishing platform for building blogs and …
  • 安装helm 应用
helm install myhelm/wordpress 
NAME: undercooked-lynx
LAST DEPLOYED: Mon May 28 19:45:24 2018
NAMESPACE: default
STATUS: DEPLOYED

RESOURCES:
==> v1/Secret
NAME TYPE DATA AGE
undercooked-lynx-mariadb Opaque 2 1s
undercooked-lynx-wordpress Opaque 2 1s

==> v1/ConfigMap
NAME DATA AGE
undercooked-lynx-mariadb 1 1s
undercooked-lynx-mariadb-tests 1 1s

==> v1/PersistentVolumeClaim
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
undercooked-lynx-mariadb Bound pvc-9c033e0b-626c-11e8-87fd-025000000001 8Gi RWO hostpath 1s
undercooked-lynx-wordpress Pending hostpath 1s

==> v1/Service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
undercooked-lynx-mariadb ClusterIP 10.103.123.26 <none> 3306/TCP 1s
undercooked-lynx-wordpress LoadBalancer 10.98.149.4 localhost 80:31079/TCP,443:31156/TCP 1s

==> v1beta1/Deployment
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
undercooked-lynx-mariadb 1 1 1 0 1s
undercooked-lynx-wordpress 1 1 1 0 1s

==> v1/Pod(related)
NAME READY STATUS RESTARTS AGE
undercooked-lynx-mariadb-6b9d6595f6-rx8nd 0/1 Init:0/1 0 1s
undercooked-lynx-wordpress-75b44799fb-zv2qv 0/1 ContainerCreating 0 1s


NOTES:
1. Get the WordPress URL:

  NOTE: It may take a few minutes for the LoadBalancer IP to be available.
        Watch the status with: 'kubectl get svc --namespace default -w undercooked-lynx-wordpress'

  export SERVICE_IP=$(kubectl get svc --namespace default undercooked-lynx-wordpress -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
  echo http://$SERVICE_IP/admin

2. Login with the following credentials to see your blog

  echo Username: user
  echo Password: $(kubectl get secret --namespace default undercooked-lynx-wordpress -o jsonpath="{.data.wordpress-password}" | base64 --decode)
  • proxy 效果

总结

总的来说对于集成了docker npm maven 来说还是比较好的,只是不支持host 模式,实际上开源的
chartmuseum 就挺好的,同时也有UI界面

参考资料

https://github.com/sonatype-nexus-community/nexus-repository-helm
https://yq.aliyun.com/articles/159601

posted on 2018-05-28 19:59  荣锋亮  阅读(1476)  评论(0编辑  收藏  举报

导航