Kubernetes单机部署-一键安装

Kubernetes的应用已经越来越广了,我们总是为他强大而神秘的功能所折服。总想自己也搭一套环境,奈何网上很多教程都存在或多或少的问题。遂有了本文。
在文会讲到如下内容:
如何在虚拟机中使用脚本一键安装Kubernetes单机版
(注:本文会提供脚本的下载,能够保证傻瓜式一键安装,如果安装过程中存在问题请留言)

环境说明

名称版本下载地址
centOS7.6.1810网易的http://tel.mirrors.163.com/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-2009.iso

国内网络即可,不需要vpn

安装步骤

  • (1)准备一台虚拟机(干净的,不需要安装其他的任何东西)
  • (2)设置静态ip(非必须,但是虚拟机必须要能上网。可以参考:https://blog.csdn.net/tiandixuanwuliang/article/details/81283316)
  • (3)把install-k8s.sh的脚本文件拷贝到虚拟机中任意目录下。脚本文件内容如下:
#!/bin/sh

# ----------------------------------------
# k8s单机版一键安装脚本
# author wangll
# date 2019-08-11
# 执行本脚本时如果报错:找不到解释器,执行:sed -i 's/\r$//' install-k8s.sh
# 参考:https://www.missshi.cn/api/view/blog/5b0e8af013d85b22bc000001
# ----------------------------------------

# 1 关闭防火墙

systemctl disable firewalld
systemctl stop firewalld

# 2 禁用SELINUX
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

# 3 升级yum
yum -y update

# 4 安装etcd和Kubernetes(自动附带安装Docker)
yum install -y etcd kubernetes

# 5 修改/etc/sysconfig/docker文件。修改OPTIONS的内容为:
sed -i "s/--selinux-enabled --log-driver=journald --signature-verification=false/--selinux-enabled=false --insecure-registry gcr.io/g" /etc/sysconfig/docker

# 6 修改/etc/kubernetes/apiserver文件。修改KUBE_ADMISSION_CONTROL的内容为:
sed -i "s/--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ServiceAccount,ResourceQuota/--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota/g" /etc/kubernetes/apiserver

# 7 依次启动下列服务:
systemctl start etcd
systemctl start docker
systemctl start kube-apiserver
systemctl start kube-controller-manager
systemctl start kube-scheduler
systemctl start kubelet
systemctl start kube-proxy

# 8 解决创建的pod一直是ContainerCreating状态,ready数一直为0的问题。参考:https://blog.csdn.net/qq_38695182/article/details/82971114
yum install -y *rhsm*
yum install -y wget
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
rm -rf python-rhsm-certificates-1.19.10-1.el7_4.x86_64.rpm
docker pull registry.access.redhat.com/rhel7/pod-infrastructure:latest


# 9 设置允许转发,否则会造成“服务都已经启动好了,但是外界无法访问”。参考https://blog.csdn.net/weixin_38698322/article/details/91155594
iptables -P FORWARD ACCEPT

  • (4)把该文件变为可执行文件,直接执行如下命令
chmod +x install-k8s.sh
  • (5)使用 ./install-k8s.sh 执行脚本时,应该会报“找不到解释器”,执行下述命令,然后再运行脚本
sed -i 's/\r$//' install-k8s.sh
  • (6)脚本执行会特别慢,一直等着就行。执行结束图如下:

下面一步有点慢,耐心等待:
在这里插入图片描述
倒数第二步也特别慢(中午出去吃个饭回来,还没结束-_-),耐心等待:
在这里插入图片描述

Logo

开源、云原生的融合云平台

更多推荐