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

 

 

 

 

 

 

 

 

  

 

posted @   __破  阅读(37)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示