示例單機簡單部署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*
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
- vim /etc/sysctl.conf
- 最後一行加上net.ipv4.ip_forward=1
- 重新創建服務
kubectl replace -f mytomcat-rc.yaml
kubectl delete svc mytomcat
kubectl create -f mytomcat-svc.yaml
最後iptables上放通ip轉發規則(重要)
- iptables -P FORWARD ACCEPT
3、kubectl get pods 顯示 No resources found
- vim /etc/kubernetes/apiserver 中的KUBE_ADMISSION_CONTROL去掉ServiceAccount
- 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"
5、node節點Docker只Pull鏡像 不Run鏡像
docker -v 發現Mater和Node Docker版本不一致
當版本一致時 kubelet提示docker和kubelet的版本不匹配
解決:都使用yum install kubernetes