首页 > 其他分享 >Kubernetes创建pod

Kubernetes创建pod

时间:2022-10-20 18:15:13浏览次数:49  
标签:kubectl Kubernetes get 创建 svc yaml mytomcat rc pod

1 创建tomcat的相关配置,配置tomcat的镜像和对外暴露的接口

mkdir /usr/local/k8s
cd /usr/local/k8s/
touch mytomcat.rc.yaml
touch mytomcat.svc.yaml

mytomcat.rc.yaml文件的相关内容

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文件的相关内容

apiVersion: v1
kind: Service
metadata:
  name: mytomcat
spec:
  type: NodePort
  ports:
    - port: 8080
      nodePort: 30001
  selector:
        app: mytomcat

2 创建资源

kubectl create -f mytomcat.rc.yaml
kubectl create -f mytomcat.svc.yaml (通过svc文件暴露端口)

3 查看资源

kubectl get svc

kubectl get pods

拿不到数据 解决办法

1 vim /etc/kubernetes/apiserver
2找到”KUBE_ADMISSION_CONTROL="" 去掉值ServiceAccount,保存退出。

4 重启

systemctl restart kube-apiserver

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

 依然报错

接着执行下面命令

wget http://mirror.centos.org/centos/7/os/x86_64/Packages/python-rhsm-certificates-1.19.10-1.el7_4.x86_64.rpm

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 

 再次拉取镜像 

docker pull registry.access.redhat.com/rhel7/pod-infrastructure:latest

 终于拉下来了

查看日志

tail -f  /var/log/messages

 依然报错

 vi /etc/ssh/sshd_config

注释掉 sshd_config 文件中的 RSAAuthentication yes

kubectl get pods

发现服务已不再是containeringCreating 而变成了running

但是此时通过外网依然不能访问

http://106.143.9.110:30001/

 

如果还是访问不通,修改下面配置文件

vim /etc/sysctl.conf

 net.ipv4.ip_forward = 0 修改为net.ipv4.ip_forward = 1 

6 重新部署服务

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

 

 

 

 

 

 

 

 

  

 

标签:kubectl,Kubernetes,get,创建,svc,yaml,mytomcat,rc,pod
From: https://www.cnblogs.com/popopopopo/p/16810774.html

相关文章

  • Kubernetes单机安装
    Kubernetes单机安装1关闭Centos防火墙systemctldisablefirewalldsystemctlstopfirewalld2安装之前建议update一下保证yum是最新版本yumupdate3安装etcd......
  • Kubernetes环境搭建
    一、在Kubernetes环境搭建过程中,会创建CA、admin、etcd等等证书,创建证书的过程中需要注意当前系统的时间,否则很可能因为生成证书时间同其他系统时间差别,造成证书验证失败。......
  • 【Kubernetes】K8s笔记(十):Service 解决服务发现的关键问题
    目录0.打造Service对象的动机1.Service的工作原理2.使用YAML描述Service3.在Kubernetes中使用Service4.以域名方式使用Service5.让Service对外暴露服务......
  • docker 创建etcd集群
    docker创建etcd集群 1、本文采用etcd3.5.1版本,首先下载etcd3.5.1docker镜像dockerpullquay.io/coreos/etcd:v3.5.12、在自己设定的目录,比如/home/etcd下创建docker......
  • Django初始化创建用户名
    (venv)D:\project\py37project\Djangopro\Procrm>Pythonmanage.pycreatesuperuser  #这是创建Django初始化用户名跟密码的一个命令。示例如下:Username(leavebla......
  • Kubernetes--管理Pod对象的容器(3)
    共享节点的网络名称空间同一个Pod对象的各容器均运行于一个独立的、隔离的Network名称空间中,共享同一个网络协议栈及相关的网络设备。也有一些特殊的Pod对象需要运行于所......
  • JKD1.5之后利用关键字Enum来创建枚举类
    JDK1.5之后使用Enum关键字创建枚举类 变成下面的枚举类 packagecom.msb.enum02;/***开发人:liu*日期:16:01:37*描述:定义枚举类:季节*版本:1.0*/......
  • 如何利用Java在Word中创建表格
    当我们在编辑Word文档时,如果遇到大量数据需要体现,可以选择直接在Word文档中创建表格。将数据应用于表格内,不仅能够简化文档语言,而且也可以使数据内容更加清晰、直观。下面......
  • weblogic洞若观火第4篇之手工创建域
    引言上一篇文章,主要讲解了weblogic的源码安装,涉及到了:服务器规划、软件版本、硬件配置、源码安装weblogic。在本篇文章中,我们接着介绍:weblogic的手工创建域。域Domain域是......
  • k8s基础篇 pod(二)创建
    2.如何创建一个Pod资源Pod是Kubernetes中最基本的部署调度单元,可以包含container,逻辑上表示某种应用的一个实例。例如一个web站点应用由前端、后端及数据库构建而成,这三个组......