
获得徽章 18
#每天一个知识点#
在golang项目开发中,经常要封装第三方的库,如何在调用封装的工具包时,还需要调用第三方的库,说明这个工具包封装的不够好,需要改进,好的封装时,使用你的工具包时,无感知你调用的是什么第三方库
在golang项目开发中,经常要封装第三方的库,如何在调用封装的工具包时,还需要调用第三方的库,说明这个工具包封装的不够好,需要改进,好的封装时,使用你的工具包时,无感知你调用的是什么第三方库
1
2
今日问题总结接上条:在argocd helm的valum文件中,有针对server.basehref配置的说明:
Value for base href in index.html. Used if Argo CD is running behind reverse proxy under subpath different from /,如果你将argocd放到代理后面,就需要更改这个地址
Value for base href in index.html. Used if Argo CD is running behind reverse proxy under subpath different from /,如果你将argocd放到代理后面,就需要更改这个地址
展开
评论
点赞
今日问题总结:项目中需要把一些工具类的UI挂到kong后面,通过kong来访问,比如cicd工具argocd,konga,grafana等工具,
1.此时我们根据这些工具的k8s service 名称来创建kong service,其中kong service中的host,比如:kong-konga.kong.svc.cluster.local,port为k8s service暴露的端口,创建好kong service后,在该service下创建route,其中关键点在于route的paths需要写成带/后缀比如/test/,而不能是/test,至于为什么,可以自行操作看一下效果即可。
2、在将argocd通过Kong暴露的时候,需要一个问题your browser does not support javascript. please enable javascript to view the site. alternatively,这个问题是在部署argocd的时候未指定根路径地址,无法访问argocd server的一些文件,此时需要重新部署argocd,并指定 server.basehref属性
1.此时我们根据这些工具的k8s service 名称来创建kong service,其中kong service中的host,比如:kong-konga.kong.svc.cluster.local,port为k8s service暴露的端口,创建好kong service后,在该service下创建route,其中关键点在于route的paths需要写成带/后缀比如/test/,而不能是/test,至于为什么,可以自行操作看一下效果即可。
2、在将argocd通过Kong暴露的时候,需要一个问题your browser does not support javascript. please enable javascript to view the site. alternatively,这个问题是在部署argocd的时候未指定根路径地址,无法访问argocd server的一些文件,此时需要重新部署argocd,并指定 server.basehref属性
展开
评论
点赞
赞了这篇文章
今日问题总结:k8s集群的服务间域名解析,微服务调用出现故障,第一时间想到是否是dns组件出现问题,通过kubectl get pod -n kube-system查看cordns节点状态时发现节点问题status为Running但是Ready为0,查看日志发现coredns [ERROR] plugin/errors: 2 read udp 10.244.235.249:55567->10.96.0.10:53: i/o timeout。因为集群最近新增加了node服务器,我估计是防火墙没有关闭,所以查看firwalld服务状态,发现是关闭的,然后在新加节点上执行以下命令:iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F
发现coredns节点状态随即正常了,集群上的服务也可以正常调用了。
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F
发现coredns节点状态随即正常了,集群上的服务也可以正常调用了。
展开
评论
点赞
今日问题总结:k8s kube-system命名空间下的calico-node如何运行不正常,通过 calicoctl node status查看一下BGP状态,没有正常启动的节点describe一下,看看如何有链接拒绝的异常,可通过kubectl set env daemonset/calico-node -n kube-system IP_AUTODETECTION_METHOD=interface=eth.*方式设置环境变量,稍后可发现node的ready数量正常了
展开
评论
1
今日分享:k8s在拉取Harbor私有镜像时,默认情况下会使用https.那么如何使用http进行拉取镜像呢,需要两步走,第一:需要将harbor的证书复制到K8s集群节点的containerd目录下,第二同时配置containerd目录下的config.toml 修改为 insecure_skip_verify = true #跳过认证,这样无论pod调度到那个节点都可以正常拉取harbor上的私有镜像
展开
评论
点赞
今日k8s分享:关于如何将node-exporter部署到k8s master节点上,首先,k8s master节点一般都是有污点的,不允许其他的pod被调度到master上,但是node-exporter如何需要采集master节点的监控指标需要部署到master节点上,此时,我们可以将node-exporter以DaemonSet的方式进行部署,并且容忍掉master上的污点,有几个污点就要容忍掉几个,否则是无法成功调度到master几点的
展开
评论
1
赞了这篇文章
今日问题总结:
docker registry私有仓库如果再push镜像的时候使用的是localhost:port/image:tag,是不需要配置daemon.json的,但是如果使用的是ip:port/image:tag就必须配置daemon.json,否则就无法push镜像
docker registry私有仓库如果再push镜像的时候使用的是localhost:port/image:tag,是不需要配置daemon.json的,但是如果使用的是ip:port/image:tag就必须配置daemon.json,否则就无法push镜像
评论
点赞
赞了这篇文章
今日问题总结:
1.如果使用root用户创建的目录挂载volume进docker registry pod里,那么可能你无法推送镜像到registry中,出现这类错误:filesystem: mkdir /var/lib/registry/docker: permission denied。这大概就是持久化目录的权限问题,只要给写权限就不会出问题了
2.pod的状态为Pedding的时候,Describe 查看一下events事件里面的描述,如果是没办法调度到节点上,那查看一下是什么条件没有满足,诸如pvc,affinity调度等资源问题,基本上可以解决部分问题
1.如果使用root用户创建的目录挂载volume进docker registry pod里,那么可能你无法推送镜像到registry中,出现这类错误:filesystem: mkdir /var/lib/registry/docker: permission denied。这大概就是持久化目录的权限问题,只要给写权限就不会出问题了
2.pod的状态为Pedding的时候,Describe 查看一下events事件里面的描述,如果是没办法调度到节点上,那查看一下是什么条件没有满足,诸如pvc,affinity调度等资源问题,基本上可以解决部分问题
展开
评论
2
今日问题总结:
安装cm-push插件的时候,由于各种原因,可能安装不正确
$helm cm-push -h
Error: fork/exec /Users/xxx/Library/helm/plugins/helm-push/bin/helm-cm-push: no such file or directory
此时,你可以进入到/Users/xxx/Library/helm/plugins/目录下将helm-push 删除,然后将
helm plugin install
github.com
这种安装方式,换成,先把
github.com clone到本地,然后helm plugin install /Users/xxx/go/src/github.com/chartmuseum/helm-push
就可以成功了,如果不行多试几次
安装cm-push插件的时候,由于各种原因,可能安装不正确
$helm cm-push -h
Error: fork/exec /Users/xxx/Library/helm/plugins/helm-push/bin/helm-cm-push: no such file or directory
此时,你可以进入到/Users/xxx/Library/helm/plugins/目录下将helm-push 删除,然后将
helm plugin install
这种安装方式,换成,先把
就可以成功了,如果不行多试几次
展开
评论
点赞