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
重启此服务
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
2019-09-23 07--choices参数 MTV和MVC模型 Ajax 前后端数据的编码格式 利用ajax传文件 序列化组件 ajax结合sweetalert的使用 分页器