Loading

Kubernetes快速入门

Kubernetes快速入门

环境准备:
  关闭CentOS防火墙
systemctl disable fifirewalld
systemctl stop fifirewalld
  安装etcd和kubernetes软件
yum install -y etcd kubernetes
  启动服务
systemctl start etcd
systemctl start docker
注意:如果docker启动失败,请参考(vi /etc/sysconfig/selinux 把selinux后面的改为disabled,重启一波 机器,再重启docker就可以了)
systemctl start kube-apiserver
systemctl start kube-controller-manager
systemctl start kube-scheduler
systemctl start kubelet
systemctl start kube-proxy

配置

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

执行命令创建ReplicationController:

kubectl create -f mytomcat.rc.yaml
mytomcat.svc.yaml
apiVersion: v1 
kind: Service 
metadata: 
 name: mytomcat 
spec: 
 type: NodePort 
ports: 
 - port: 8080 
   nodePort: 30001 
selector: 
 app: mytomcat

执行命令创建Service:

kubectl create -f mytomcat.svc.yaml

问题解决:

docker pull失败

解决方案1:
1、yum install rhsm -y
2、docker pull registry.access.redhat.com/rhel7/pod-infrastructure:latest
如果以上两步解决问题了,那么就不需要在执行下面操作:
3、docker search pod-infrastructure
4、docker pull docker.io/tianyebj/pod-infrastructure
5、docker tag tianyebj/pod-infrastructure 192.168.126.143:5000/pod-infrastructure
6、docker push 192.168.126.143:5000/pod-infrastructure
7、vi /etc/kubernetes/kubelet
修改 KUBELET_POD_INFRA_CONTAINER="--pod-infra-container
image=192.168.126.143:5000/pod- infrastructure:latest"
8、重启服务
systemctl restart kube-apiserver systemctl restart kube-controller-manager systemctl restart
kube-scheduler systemctl restart kubelet systemctl restart kube-proxy
解决方案2:
1、docker pull kubernetes/pause
2、docker tag docker.io/kubernetes/pause:latest
192.168.126.143:5000/google_containers/pause-amd64.3.0
3、docker push 192.168.126.143:5000/google_containers/pause-amd64.3.0
4、vi /etc/kubernetes/kubelet配置为
KUBELET_ARGS="--
pod_infra_container_image=192.168.126.143:5000/google_containers/pause-amd64.3.0"
5、重启kubelet服务 systemctl restart kubelet

外部网不能访问

在搭建好的k8s集群内创建的容器,只能在其所在的节点上curl可访问,但是在其他任何主机上无法访问容器占用的端口
解决方案:
1、vim /etc/sysctl.conf
2、net.ipv4.ip_forward=1

解决 kubectl get pods时No resources found问题:

1、vim /etc/kubernetes/apiserver
2、找到”KUBE_ADMISSION_CONTROL="-admission_control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ServiceAccount,ResourceQuota",去掉ServiceAccount,保存退出。
3、systemctl restart kube-apiserver
重启此服务

浏览测试:

 

posted @ 2021-09-23 13:06  1640808365  阅读(98)  评论(0编辑  收藏  举报