做网站 seo,做简历的网站都有哪些内容,淘宝运营去哪里学,深圳做网站最好的公司问题分析#xff1a;
kubesphere在帮我们自动化创建一些智能自动化的额时候难免会发生一些小错误#xff0c;devops-jenkins是一个部署也会生成一个容器组即pod#xff0c;容器组的容器服务端口是 targetPort#xff0c;容器组对外暴露的端口是port#xff0c;拿devops-c…问题分析
kubesphere在帮我们自动化创建一些智能自动化的额时候难免会发生一些小错误devops-jenkins是一个部署也会生成一个容器组即pod容器组的容器服务端口是 targetPort容器组对外暴露的端口是port拿devops-controller-5f5896c6ff-kjqdk控制器举例子当创建devops项目时首先会访问该控制器就是它一直报没有host问题验证进入jenkins容器内部访问它的8080端口完全没有问题现在部署已经解决了服务之间的访问显然是有问题的不同pod之间的访问是服务名加空间名的形式kubesphere生成的服务为devops-jenkins-agent代理所以将服务的name改为devops-jenkins并把内部容器端口指定为8080容器组暴露的端口port为80这样创建devops的访问地址无需加端口从devops-controlle报错中也可以看到如下
Get http://devops-jenkins.kubesphere-devops-system/crumbIssuer/api/json/api/json: dial tcp: lookup devops-jenkins.kubesphere-devops-system on 169.254.25.10:53: no such host, requeuing。
距离说明传统的部署方式如下
1、部署一个 tomcat kubectl create deployment tomcat6 --imagetomcat:6.0.53-jre8
通过Kubectl get pods -o wide 可以获取到 tomcat
2、暴露 tomcat 访问 kubectl expose deployment tomcat6 --port80 --target-port8080 --typeNodePort
Pod 的 80 映射容器的 8080service 会代理 Pod 的 80
3、动态扩容测试 kubectl get deployment 应用升级 kubectl set image (--help 查看帮助) 扩容 kubectl scale --replicas3 deployment tomcat6 扩容了多份所有无论访问哪个 node 的指定端口都可以访问到 tomcat6
4、以上操作加--run-dry -o yaml获取 yaml 格式的配置 参照 k8s 细节
5、删除 Kubectl get all kubectl delete deploy/nginx kubectl delete service/nginx-service 流程创建 deployment 会管理 replicasreplicas 控制 pod 数量有 pod 故障会自动拉起 新的 pod
在上面创建一个部署后第二部暴露服务时一定是已经存在的部署名字所以只需要将服务名改为部署名字该pod组就能访问生效。