Kubernetes(k8s)安装

本文详细介绍了如何手动安装Kubernetes(k8s)集群,包括环境准备、Docker配置、解决docker pull失败问题、配置kubelet以及安装Master和Node节点。通过调整系统配置、安装必要的二进制文件并启动服务,最终实现k8s集群的搭建。
摘要由CSDN通过智能技术生成

环境准备

# 关闭CentOS防火墙
systemctl disable firewalld
systemctl stop firewalld
# 安装etcd和kubernetes软件
yum install -y etcd kubernetes
# 启动服务
systemctl start etcd
systemctl start docker

如果docker启动失败,请参考(v1 /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

mkdir /usr/local/k8s
cd /usr/local/k8s/
vi mytomcat-rc.ymal

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: 8088
kubecl create -f mytomcat.rc.yaml

mytomcat.svc.yaml

apiVersion: v1
kind: Service
metadata:
 name: mytomcat
spec:
 type: NodePort
 ports:
  -port: 8888
   nodePort: 30001
 selector:
  app: mytomcat

kubectl create -f mytomcat.svc.yaml

问题解决
docker pull失败
解决方案1

  1. yum install rhsm -y
  2. docker pull registry.access.redhat.com/thel7/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_CONTAINE="–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/kubermetes/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_ jinfra_ container_image=192.168.126.143:5000/google_containers/pause-amd64.3.0"
  5. 重启kubelet服务systemctl restart kubelet

外部网不能访问
在搭建好的k8s集群内创建的容器,只能在其所在的节点上curI可访问,但是在其他任何主机上无法访问
容器占用的端口
解决方案: .

  1. vim /etc/sysctl.conf
  2. net.ipv4.ip. _forward=1

解决kubect get pods时No resources found问题

  1. vim /etc/kubernetes/apiserver
  2. 找到KUBE_ ADMISSION_ CONTROL="-admission_control=NamespaceLifecycle,Namespacexists,LimitRanger,SecurityContextDeny,ServiceAccount,ResourceQuota",去掉ServiceAccount, 保存退出。
  3. systemct restart kube-apiserver重启此服务
    在这里插入图片描述

Kubernetes集群

环境准备与规划
推荐配置2核2G
Docker version 1 7.05.0-ce

角色 IP 组件
master 192.168.126.140 etcd、kube-apiserver、kube-controller-manager、 kube-scheduler、docker
node01 192.168.126.141 kube-proxy. kubelet. docker
node02 192.168.126.142 kube-proxy. kubelet. docker
  • 查看默认防火墙状态(关闭后显示not running ,开启后显示running)
    firewall-cmd --state
  • 关闭防火墙
    systemctl stop firewalld.service
  • 禁止firewal开机启动
    systemctl disable firewalld.service
  • 获取Kubernetes二进制
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值