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

 

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