Kubernetes创建pod
1 创建tomcat的相关配置,配置tomcat的镜像和对外暴露的接口
1 2 3 4 | mkdir /usr/local/k8s cd /usr/local/k8s/ touch mytomcat.rc.yaml touch mytomcat.svc.yaml |
mytomcat.rc.yaml文件的相关内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | apiVersion: v1 kind: ReplicationController metadata: name: mytomcat spec: replicas: 2 selector: app: mytomcat template: metadata: labels: app: mytomcat spec: containers: - name: mytomcat image: tomcat:7-jre7 ports: - containerPort: 8080 |
mytomcat.svc.yaml文件的相关内容
1 2 3 4 5 6 7 8 9 10 11 | apiVersion: v1 kind: Service metadata: name: mytomcat spec: type: NodePort ports: - port: 8080 nodePort: 30001 selector: app: mytomcat |
2 创建资源
1 2 | kubectl create -f mytomcat.rc.yaml kubectl create -f mytomcat.svc.yaml (通过svc文件暴露端口) |
3 查看资源
1 | kubectl get svc |
1 | kubectl get pods |
拿不到数据 解决办法
1 vim /etc/kubernetes/apiserver
2找到”KUBE_ADMISSION_CONTROL="" 去掉值ServiceAccount,保存退出。
4 重启
1 | systemctl restart kube-apiserver |
1 | kubectl get pods |
可以发现有2个服务 这2个是我们在上述配置文件中定义的
5 错误解决
通过kubectl get pods 命令 可以发现 一直在ContainerCreating
解决办法
查看日志cat /var/log/messages 或者tail -f /var/log/messages
发现是docker镜像的问题 下载不下来
解决办法:
yum install *rhsm* -y
然后拉取镜像
docker pull registry.access.redhat.com/rhel7/pod-infrastructure:latest
依然报错
接着执行下面命令
1 | wget http: //mirror.centos.org/centos/7/os/x86_64/Packages/python-rhsm-certificates-1.19.10-1.el7_4.x86_64.rpm |
1 | rpm2cpio python-rhsm-certificates- 1.19 . 10 - 1 .el7_4.x86_64.rpm | cpio -iv --to-stdout ./etc/rhsm/ca/redhat-uep.pem | tee /etc/rhsm/ca/redhat-uep.pem |
再次拉取镜像
1 | docker pull registry.access.redhat.com/rhel7/pod-infrastructure:latest |
终于拉下来了
查看日志
1 | tail -f /var/log/messages |
依然报错
1 | vi /etc/ssh/sshd_config |
注释掉 sshd_config 文件中的 RSAAuthentication yes
1 | kubectl get pods |
发现服务已不再是containeringCreating 而变成了running
但是此时通过外网依然不能访问
http://106.143.9.110:30001/
如果还是访问不通,修改下面配置文件
1 | vim /etc/sysctl.conf |
net.ipv4.ip_forward = 0 修改为net.ipv4.ip_forward = 1
6 重新部署服务
1 2 3 4 | kubectl delete -f mytomcat.rc.yaml kubectl delete -f mytomcat.svc.yaml kubectl create -f mytomcat.rc.yaml kubectl create -f mytomcat.svc.yaml |
再次访问
http://106.143.9.110:30001/
如果还是不能访问 那可能是因为下面的原因:
容器所在的服务器执行,开启转发功能
iptables -P FORWARD ACCEPT
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY