Kubernetes快速入门

一、Kubernetes快速入门

使用Kubernetes创建Tomcat容器的步骤:

1 、定义服务的RC文件(RepliactionController)

2、将定义好的RC文件发布到k8s集群中

3、创建一个当前服务于kubernetes service关联的SVC文件

4、将定义好的SVC文件发布到k8s集群中

1.1 环境准备

1、关闭CentOS防火墙

systemctl disable firewalld
systemctl stop firewalld

2、更新yum

yum update

3、安装etcd和kubernets

etcd是一个高可用的分布式键值(key-value)数据库,etcd内部采用raft协议作为一致性算法,etcd基于Go语言实现。

yum install -y etcd kubernets

4、启动服务

systemctl start etcd 
systemctl start docker
systemctl start kube-apiserver
systemctl start kube-controller-manager
systemctl start kube-scheduler
systemctl start kubelet
systemctl start kube-proxy

如果docker启动失败,请参考(vi /etc/sysconfig/selinux 把selinux后面的改为disabled,重启

一波机器,再重启docker就可以了)

1.2 创建发布RC

1、创建Tomcat对应的RC文件,命名为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

2、将创建好的RC文件发布到k8s集群中

kubectl create -f mytomcat-rc.yaml 

然后通过以下命令查看RC的状态信息

kubectl get rc

结果如下,表示创建成功

NAME      DESIRED   CURRENT   READY     AGE
mytomcat    1         1         1         1d

结果如下,表示创建失败

NAME      DESIRED   CURRENT   READY     AGE
mytomcat    1         0         0         1d

创建失败的话,解决方案如下:

  • 编辑 /etc/kubernetes/apiserver 配置文件中 KUBE_ADMISSION_CONTROL 配置项,删除 SecurityContextDeny,ServiceAccount 这两个配置参数,然后保存配置文件

  • 重启kube-apiserver

systemctl restart kube-apiserver
  • 删除已创建RC
kubectl delete -f tomcat-rc.yaml
  • 重新创建RC
kubectl create -f tomcat-rc.yaml

如果输出结果如下所示,而且一直都保持这样状态的话,则说明RC创建完成,但是创建Pod的过程异常

NAME      DESIRED   CURRENT   READY     AGE
mytomcat    1         1         0/1       1d

出现该情况的话通过下面的命令来查看Pod的启动情况

kubectl get pods

如果输出的结果如下所示,则进一步表明是Pod创建过程异常造成的

NAME             READY     STATUS              RESTARTS   AGE
mytomcat-3vr92   0/1       ContainerCreating   0          24m
mytomcat-t7jhd   0/1       ContainerCreating   0          24m

出现该问题的处理方法如下所示:

1、通过如下命令查看Pod启动的详细情况和异常情况

kubectl describe pod mytomcat-3vr92

如果异常提示是由于缺失 /etc/docker/certs.d/registry.access.redhat.com/redhat-ca.crt 文件造成的 registry.access.redhat.com/rhel7/pod-infrastructure:latest 镜像无法拉取到的话,只需要如下的处理

2、通过yum命令安装缺失文件依赖的服务python-rhsm-certificates,安装命令如下:

yum install -y *rhsm*

3、通过docker命令手动拉取registry.access.redhat.com/rhel7/pod-infrastructure:latest 镜像,命令如下

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

当镜像下载完成,Pod会自动进入Running状态

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

1.3 创建发布SVC

1、创建对应的Service服务,命名为mytomcat-svc.yaml

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

2、将定义好的SVC文件发布到k8s集群中,命令如下:

kubectl create -f mytomcat-svc.yaml

3、查看SVC文件启动情况命令如下:

kubectl describe svc mytomcat

输出结果如下:

Name:				mytomcat
Namespace:			default
Labels:				<none>
Selector:			app=mytomcat
Type:				NodePort
IP:					10.254.72.123
Port:				<unset>	8080/TCP
NodePort:			<unset>	30002/TCP
Endpoints:			172.17.0.2:8080,172.17.0.3:8080
Session Affinity:	None
No events.

1.4 查看容器运行情况

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x4ZRmKnd-1593176391291)(assets/1593174473066.png)]

1.5 访问测试

访问地址: http://192.168.19.121:30002/

结果如下则表示服务创建成功

1593174370946

如果出现下面的结果,则表示tomcat出现问题:

1593174566864

1、进入创建的Tomcat容器当中

docker exec -it 668343b0fd55(容器id) /bin/bash

2、查看当前目录文件,并且进入webapps文件夹中

ls -l

显示total 0,问题就出在这里,webapps文件夹下没有东西

3、将 webapps.dist文件夹下的内容复制到给webapps文件夹

mv webapps.dist webapps

4、重新访问tomcat,成功

当中

docker exec -it 668343b0fd55(容器id) /bin/bash

2、查看当前目录文件,并且进入webapps文件夹中

ls -l

显示total 0,问题就出在这里,webapps文件夹下没有东西

3、将 webapps.dist文件夹下的内容复制到给webapps文件夹

mv webapps.dist webapps

4、重新访问tomcat,成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值