用K3s快速搭建单机容器环境
K3s,一个轻量的K8s。
不多废话,想详细了解的话,官网地址:https://www.rancher.cn/k3s/。
安装
准备一台干净的CentOS 7机器,把如下安装脚本保存为k3s.sh:
##k3s.sh
#改国内yum源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
#更新内核&软件
yum update -y
#######K3s默认将使用containerd作为容器环境,如果想使用docker,请取消下列注释。docker打包的镜像可以直接导入containerd,containerd也能从docker镜像仓库拉镜像。
#####安装docker-ce
#yum remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
#yum install -y yum-utils
#yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
#yum install -y docker-ce docker-ce-cli containerd.io
#systemctl enable docker
#systemctl start docker
#修改docker源
#cat << EOF > /etc/docker/daemon.json
#{
# "registry-mirrors":["https://3laho3y3.mirror.aliyuncs.com"]
#}
#EOF
#systemctl daemon-reload
#systemctl restart docker
#####安装docker结束
#关firewalld防火墙
systemctl stop firewalld
systemctl disable firewalld
#安装k3s,如果启用docker作为容器环境,请使用注释掉的那行替代这一行
curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -
#curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - --docker
shell执行
sh k8s.sh
安装完成后,可以执行k3s check-config检查主机是否满足条件。若不满足可调整内核参数后再执行。(根据情况问度娘)
如此简单,k3s环境就部署好了。可以直接使用kubectl命令查看状态。(实际上是k3s kubectl的别名)
测试
跑个测试的应用:
将下面内容保存为deploy.yaml
##deploy.yaml
#deployment
kind: Deployment
apiVersion: apps/v1
metadata:
name: test
namespace: default
labels:
app: test
spec:
replicas: 1
selector:
matchLabels:
app: test
template:
metadata:
labels:
app: test
spec:
containers:
- name: test
image: nginx:alpine
ports:
- name: tcp-80
containerPort: 80
protocol: TCP
resources: {}
imagePullPolicy: IfNotPresent
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 25%
maxSurge: 25%
progressDeadlineSeconds: 600
---
#service
kind: Service
apiVersion: v1
metadata:
name: test
namespace: default
labels:
app: test
spec:
ports:
- name: http-80
protocol: TCP
port: 80
targetPort: 80
nodePort: 30010
selector:
app: test
type: NodePort
shell执行
kubectl apply -f deploy.yaml
稍等片刻,使用你的机器,访问http://{ip}:30010/
很好,看到nginx的欢迎页面了。😊