kubernetes(K8s)04-简单部署应用

示例单机简单部署Tomcat

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

 

1、创建pods

kubectl create -f mytomcat-svc.yaml

2、创建服务

kubectl create -f mytomcat-svc.yaml

3、查看pods

kubectl get pods(无法查看 : vim /etc/kubernetes/apiserver 去掉apiServerAccount ,systemctl restart kube-apiserver)

4、查看服务

kubectl get svc


 

问题:

1、创建pods docker pull失败:

cd /etc/docker/certs.d/registry.access.redhat.com/时发现/etc/rhsm/ca/redhat-uep.pem文件不存在

 

执行:

yum -y install *rhsm*

 

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

 

systemctl restart kubelet

 

2、外网不能访问svc

  1. vim /etc/sysctl.conf
  1. 最后一行加上net.ipv4.ip_forward=1
  2. 重新创建服务

kubectl replace -f mytomcat-rc.yaml

kubectl delete svc mytomcat

kubectl create -f mytomcat-svc.yaml

 

最后iptables上放通ip转发规则(重要)

  1. iptables -P FORWARD ACCEPT

 

3kubectl get pods 显示 No resources found

  1. vim /etc/kubernetes/apiserver 中的KUBE_ADMISSION_CONTROL去掉ServiceAccount
  2. systemctl restart kube-apiserver

4、提示dns没有配置

vim /etc/kubernetes/kubelet

vim /usr/lib/systemd/system/kubelet.service

KUBELET_ARGS="--cluster-dns=10.10.0.10 --cluster-domain=cluster.local"

5node节点DockerPull镜像  Run镜像

docker -v 发现MaterNode Docker版本不一致 

当版本一致时 kubelet提示dockerkubelet的版本不匹配

解决:都使用yum install kubernetes

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章