k3s安装

 

k3s介绍

Kubernetes已经改变了如何大规模部署和管理容器化工作负载。现在开发人员面临的挑战主要在于设置过程的复杂性和资源需求量巨大。如果你深受内存不足的困扰,想要部署轻量级Kubernetes集群来减少内存占用,那么你一定要考虑由Rancher Labs发布的轻量级Kubernetes发行版——k3s。它把安装Kubernetes所需的一切文件都打包进一个40MB大小的二进制文件中,仅需512MB的RAM即可运行。非常适用于资源有限的环境,如边缘计算场景、IoT等。

在实际场景中,为了获得开发和测试的动力,节省开销,用户希望能够以最少的资源利用率和较低的硬件规格来部署Kubernetes。而k3s正好满足了这一需求,它能够在任何512MB RAM以上的设备上运行集群,如IoT设备或ARM驱动的设备。

既然k3s仅需少量资源即可运行,那么这意味着一些Kubernetes的特性被移除了:

  • 旧的、非默认的、alpha功能
  • 大部分in-tree插件(云提供商和存储插件),将其用附加组件进行替换
  • 用sqlite来代替etcd作为默认存储机制

配置docker加速

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

k3s安装

curl -sfL https://get.k3s.io | sh -

k3s配置

mkdir ~/.kube
cat /etc/rancher/k3s/k3s.yaml >>~/.kube/config

测试

kubectl get pod -o wide --all-namespaces

创建kubernetes-bootcamp-v1.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: kubernetes-bootcamp-v1
  name: kubernetes-bootcamp-v1
spec:
  replicas: 2
  selector:
    matchLabels:
      app: kubernetes-bootcamp-v1
  template:
    metadata:
      labels:
        app: kubernetes-bootcamp-v1
    spec:
      containers:
      - image: jocatalin/kubernetes-bootcamp:v1
        name: kubernetes-bootcamp-v1

使用kubectl apply创建Deployment资源

kubectl  apply -f kubernetes-bootcamp-v1.yaml
deployment.apps/kubernetes-bootcamp-v1 created
kubectl  get pod

 其他常用命令

systemctl status k3s  #查看k3s服务状态
systemctl restart k3s #重启k3s服务

错误

使用systemctl status k3s命令时:

Unable to register node "vm_0_16_centos" with API server: Node "vm_0_16_centos" is invalid: metadata.name: Invalid value: "vm_0_16_centos": a DNS-1123 subdomain must onsist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character (e.g. 'example.com', regex used for validation is '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*')错误

修改hostname
hostnamectl set-hostname vm

 如果你想尝试集群安装方式:https://my.oschina.net/u/3330830/blog/3124644

问题排查:https://my.oschina.net/comics/blog/3158924

posted @ 2020-09-14 09:03  -零  阅读(1833)  评论(0编辑  收藏  举报