1.腾讯轻服务器K3S系统安装

前端时间买了三年腾讯轻服务器,现在准备学习下K8S,但是服务器资源少,退而求其次的使用腾讯轻服务器默认的K3S系统。

1.获取按照提示,获取token ,

2.防火墙开启9090端口, 输入url:http://公网IP:9090登录;

3.开启SSH远程连接:创建密钥,默认下载文件,windows本地重命名增加后缀.pub,CRT通过公钥进行SSH登录。

2.Kubernetes-dashboard

 输入url:http://公网IP:9090,可以看到相关菜单

点击右上角“+”,可以创建yaml文件进行服务部署

  3.后台查看K3S相关信息

[root@VM-16-5-centos ~]# hostnamectl
   Static hostname: VM-16-5-centos
         Icon name: computer-vm
           Chassis: vm
        Machine ID: e811d69a833e41beaa003c0e69319e90
           Boot ID: 5816742493464737aa77fb84af907b88
    Virtualization: kvm
  Operating System: CentOS Linux 8 (Core)
       CPE OS Name: cpe:/o:centos:centos:8
            Kernel: Linux 4.18.0-305.3.1.el8.x86_64
      Architecture: x86-64
[root@VM-16-5-centos ~]# cat /etc/redhat-release
CentOS Linux release 8.2.2004 (Core) 
[root@VM-16-5-centos ~]# uname -a 
Linux VM-16-5-centos 4.18.0-305.3.1.el8.x86_64 #1 SMP Tue Jun 1 16:14:33 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
[root@VM-16-5-centos ~]# kubectl cluster-info
Kubernetes control plane is running at https://127.0.0.1:6443
CoreDNS is running at https://127.0.0.1:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
Metrics-server is running at https://127.0.0.1:6443/api/v1/namespaces/kube-system/services/https:metrics-server:/proxy

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
[root@VM-16-5-centos ~]# kubectl get nodes -o wide
NAME             STATUS   ROLES                  AGE   VERSION        INTERNAL-IP   EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION              CONTAINER-RUNTIME
vm-16-5-centos   Ready    control-plane,master   69m   v1.20.7+k3s1   10.0.16.5     <none>        CentOS Linux 8 (Core)   4.18.0-305.3.1.el8.x86_64   containerd://1.4.4-k3s1
[root@VM-16-5-centos ~]# kubectl describe node
Name:               vm-16-5-centos
Roles:              control-plane,master
Labels:             beta.kubernetes.io/arch=amd64
                    beta.kubernetes.io/instance-type=k3s
                    beta.kubernetes.io/os=linux
                    k3s.io/hostname=vm-16-5-centos
                    k3s.io/internal-ip=10.0.16.5
                    kubernetes.io/arch=amd64
                    kubernetes.io/hostname=vm-16-5-centos
                    kubernetes.io/os=linux
                    node-role.kubernetes.io/control-plane=true
                    node-role.kubernetes.io/master=true
                    node.kubernetes.io/instance-type=k3s
Annotations:        flannel.alpha.coreos.com/backend-data: {"VtepMAC":"22:6c:c1:03:83:80"}
                    flannel.alpha.coreos.com/backend-type: vxlan
                    flannel.alpha.coreos.com/kube-subnet-manager: true
                    flannel.alpha.coreos.com/public-ip: 10.0.16.5
                    k3s.io/node-args: ["server","--write-kubeconfig-mode","644"]
                    k3s.io/node-config-hash: XAEWDMOLOUU74BDTBD2U3FVK7PQCFJ4XWLHQCWRAJLPPNWOIBJEA====
                    k3s.io/node-env: {"K3S_DATA_DIR":"/var/lib/rancher/k3s/data/474b7b031f3885345db99df7da66f11d537c75180eb6961b6cf2ec25b92efe65"}
                    node.alpha.kubernetes.io/ttl: 0
                    volumes.kubernetes.io/controller-managed-attach-detach: true
CreationTimestamp:  Fri, 06 May 2022 14:41:53 +0800
Taints:             <none>
Unschedulable:      false
Lease:
  HolderIdentity:  vm-16-5-centos
  AcquireTime:     <unset>
  RenewTime:       Fri, 06 May 2022 15:51:21 +0800
Conditions:
  Type                 Status  LastHeartbeatTime                 LastTransitionTime                Reason                       Message
  ----                 ------  -----------------                 ------------------                ------                       -------
  NetworkUnavailable   False   Fri, 06 May 2022 15:04:23 +0800   Fri, 06 May 2022 15:04:23 +0800   FlannelIsUp                  Flannel is running on this node
  MemoryPressure       False   Fri, 06 May 2022 15:49:41 +0800   Fri, 06 May 2022 14:41:53 +0800   KubeletHasSufficientMemory   kubelet has sufficient memory available
  DiskPressure         False   Fri, 06 May 2022 15:49:41 +0800   Fri, 06 May 2022 14:41:53 +0800   KubeletHasNoDiskPressure     kubelet has no disk pressure
  PIDPressure          False   Fri, 06 May 2022 15:49:41 +0800   Fri, 06 May 2022 14:41:53 +0800   KubeletHasSufficientPID      kubelet has sufficient PID available
  Ready                True    Fri, 06 May 2022 15:49:41 +0800   Fri, 06 May 2022 15:04:27 +0800   KubeletReady                 kubelet is posting ready status
Addresses:
  InternalIP:  10.0.16.5
  Hostname:    vm-16-5-centos
Capacity:
  cpu:                2
  ephemeral-storage:  82503044Ki
  hugepages-1Gi:      0
  hugepages-2Mi:      0
  memory:             3826344Ki
  pods:               110
Allocatable:
  cpu:                2
  ephemeral-storage:  80258961141
  hugepages-1Gi:      0
  hugepages-2Mi:      0
  memory:             3826344Ki
  pods:               110
System Info:
  Machine ID:                 e811d69a833e41beaa003c0e69319e90
  System UUID:                66cd78fa-04cf-4ed0-8d34-e142131d09b7
  Boot ID:                    58167424-9346-4737-aa77-fb84af907b88
  Kernel Version:             4.18.0-305.3.1.el8.x86_64
  OS Image:                   CentOS Linux 8 (Core)
  Operating System:           linux
  Architecture:               amd64
  Container Runtime Version:  containerd://1.4.4-k3s1
  Kubelet Version:            v1.20.7+k3s1
  Kube-Proxy Version:         v1.20.7+k3s1
PodCIDR:                      10.42.0.0/24
PodCIDRs:                     10.42.0.0/24
ProviderID:                   k3s://vm-16-5-centos
Non-terminated Pods:          (5 in total)
  Namespace                   Name                                       CPU Requests  CPU Limits  Memory Requests  Memory Limits  AGE
  ---------                   ----                                       ------------  ----------  ---------------  -------------  ---
  kube-system                 svclb-traefik-szvsd                        0 (0%)        0 (0%)      0 (0%)           0 (0%)         68m
  kube-system                 metrics-server-86cbb8457f-scttb            0 (0%)        0 (0%)      0 (0%)           0 (0%)         69m
  kube-system                 local-path-provisioner-5ff76fc89d-4v6z9    0 (0%)        0 (0%)      0 (0%)           0 (0%)         69m
  kube-system                 coredns-854c77959c-xhn6w                   100m (5%)     0 (0%)      70Mi (1%)        170Mi (4%)     69m
  kube-system                 traefik-6f9cbd9bd4-pcq5g                   0 (0%)        0 (0%)      0 (0%)           0 (0%)         68m
Allocated resources:
  (Total limits may be over 100 percent, i.e., overcommitted.)
  Resource           Requests   Limits
  --------           --------   ------
  cpu                100m (5%)  0 (0%)
  memory             70Mi (1%)  170Mi (4%)
  ephemeral-storage  0 (0%)     0 (0%)
  hugepages-1Gi      0 (0%)     0 (0%)
  hugepages-2Mi      0 (0%)     0 (0%)
Events:
  Type     Reason                   Age   From        Message
  ----     ------                   ----  ----        -------
  Normal   Starting                 69m   kubelet     Starting kubelet.
  Warning  InvalidDiskCapacity      69m   kubelet     invalid capacity 0 on image filesystem
  Normal   NodeHasSufficientMemory  69m   kubelet     Node vm-16-5-centos status is now: NodeHasSufficientMemory
  Normal   NodeHasNoDiskPressure    69m   kubelet     Node vm-16-5-centos status is now: NodeHasNoDiskPressure
  Normal   NodeHasSufficientPID     69m   kubelet     Node vm-16-5-centos status is now: NodeHasSufficientPID
  Normal   NodeAllocatableEnforced  69m   kubelet     Updated Node Allocatable limit across pods
  Normal   Starting                 69m   kube-proxy  Starting kube-proxy.
  Normal   NodeReady                69m   kubelet     Node vm-16-5-centos status is now: NodeReady
  Normal   Starting                 47m   kube-proxy  Starting kube-proxy.
  Normal   Starting                 47m   kubelet     Starting kubelet.
  Warning  InvalidDiskCapacity      47m   kubelet     invalid capacity 0 on image filesystem
  Normal   NodeHasSufficientMemory  47m   kubelet     Node vm-16-5-centos status is now: NodeHasSufficientMemory
  Normal   NodeHasNoDiskPressure    47m   kubelet     Node vm-16-5-centos status is now: NodeHasNoDiskPressure
  Normal   NodeHasSufficientPID     47m   kubelet     Node vm-16-5-centos status is now: NodeHasSufficientPID
  Warning  Rebooted                 47m   kubelet     Node vm-16-5-centos has been rebooted, boot id: 58167424-9346-4737-aa77-fb84af907b88
  Normal   NodeNotReady             47m   kubelet     Node vm-16-5-centos status is now: NodeNotReady
  Normal   NodeAllocatableEnforced  47m   kubelet     Updated Node Allocatable limit across pods
  Normal   NodeReady                47m   kubelet     Node vm-16-5-centos status is now: NodeReady
[root@VM-16-5-centos ~]# ctr
NAME:
   ctr - 
        __
  _____/ /______
 / ___/ __/ ___/
/ /__/ /_/ /
\___/\__/_/

containerd CLI


USAGE:
   ctr [global options] command [command options] [arguments...]

VERSION:
   v1.4.4-k3s1

DESCRIPTION:
   
ctr is an unsupported debug and administrative client for interacting
with the containerd daemon. Because it is unsupported, the commands,
options, and operations are not guaranteed to be backward compatible or
stable from release to release of the containerd project.

COMMANDS:
   plugins, plugin            provides information about containerd plugins
   version                    print the client and server versions
   containers, c, container   manage containers
   content                    manage content
   events, event              display containerd events
   images, image, i           manage images
   leases                     manage leases
   namespaces, namespace, ns  manage namespaces
   pprof                      provide golang pprof outputs for containerd
   run                        run a container
   snapshots, snapshot        manage snapshots
   tasks, t, task             manage tasks
   install                    install a new package
   oci                        OCI tools
   shim                       interact with a shim directly
   help, h                    Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --debug                      enable debug output in logs
   --address value, -a value    address for containerd's GRPC server (default: "/run/k3s/containerd/containerd.sock") [$CONTAINERD_ADDRESS]
   --timeout value              total timeout for ctr commands (default: 0s)
   --connect-timeout value      timeout for connecting to containerd (default: 0s)
   --namespace value, -n value  namespace to use with commands (default: "k8s.io") [$CONTAINERD_NAMESPACE]
   --help, -h                   show help
   --version, -v                print the version
[root@VM-16-5-centos ~]# ctr plugins ls
TYPE                            ID                       PLATFORMS      STATUS    
io.containerd.snapshotter.v1    overlayfs                linux/amd64    ok        
io.containerd.service.v1        introspection-service    -              ok        
io.containerd.content.v1        content                  -              ok        
io.containerd.snapshotter.v1    fuse-overlayfs           linux/amd64    ok        
io.containerd.snapshotter.v1    native                   linux/amd64    ok        
io.containerd.metadata.v1       bolt                     -              ok        
io.containerd.differ.v1         walking                  linux/amd64    ok        
io.containerd.gc.v1             scheduler                -              ok        
io.containerd.service.v1        containers-service       -              ok        
io.containerd.service.v1        content-service          -              ok        
io.containerd.service.v1        diff-service             -              ok        
io.containerd.service.v1        images-service           -              ok        
io.containerd.service.v1        leases-service           -              ok        
io.containerd.service.v1        namespaces-service       -              ok        
io.containerd.service.v1        snapshots-service        -              ok        
io.containerd.runtime.v1        linux                    linux/amd64    ok        
io.containerd.runtime.v2        task                     linux/amd64    ok        
io.containerd.monitor.v1        cgroups                  linux/amd64    ok        
io.containerd.service.v1        tasks-service            -              ok        
io.containerd.internal.v1       restart                  -              ok        
io.containerd.grpc.v1           containers               -              ok        
io.containerd.grpc.v1           content                  -              ok        
io.containerd.grpc.v1           diff                     -              ok        
io.containerd.grpc.v1           events                   -              ok        
io.containerd.grpc.v1           healthcheck              -              ok        
io.containerd.grpc.v1           images                   -              ok        
io.containerd.grpc.v1           leases                   -              ok        
io.containerd.grpc.v1           namespaces               -              ok        
io.containerd.internal.v1       opt                      -              ok        
io.containerd.grpc.v1           snapshots                -              ok        
io.containerd.grpc.v1           tasks                    -              ok        
io.containerd.grpc.v1           version                  -              ok        
io.containerd.grpc.v1           cri                      linux/amd64    ok        
[root@VM-16-5-centos ~]# crictl
NAME:
   crictl - client for CRI

USAGE:
   crictl [global options] command [command options] [arguments...]

VERSION:
   v1.20.0-k3s1

COMMANDS:
   attach              Attach to a running container
   create              Create a new container
   exec                Run a command in a running container
   version             Display runtime version information
   images, image, img  List images
   inspect             Display the status of one or more containers
   inspecti            Return the status of one or more images
   imagefsinfo         Return image filesystem info
   inspectp            Display the status of one or more pods
   logs                Fetch the logs of a container
   port-forward        Forward local port to a pod
   ps                  List containers
   pull                Pull an image from a registry
   run                 Run a new container inside a sandbox
   runp                Run a new pod
   rm                  Remove one or more containers
   rmi                 Remove one or more images
   rmp                 Remove one or more pods
   pods                List pods
   start               Start one or more created containers
   info                Display information of the container runtime
   stop                Stop one or more running containers
   stopp               Stop one or more running pods
   update              Update one or more running containers
   config              Get and set crictl client configuration options
   stats               List container(s) resource usage statistics
   completion          Output shell completion code
   help, h             Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --config value, -c value            Location of the client config file. If not specified and the default does not exist, the program's directory is searched as well (default: "/var/lib/rancher/k3s/agent/etc/crictl.yaml") [$CRI_CONFIG_FILE]
   --debug, -D                         Enable debug mode (default: false)
   --image-endpoint value, -i value    Endpoint of CRI image manager service (default: uses 'runtime-endpoint' setting) [$IMAGE_SERVICE_ENDPOINT]
   --runtime-endpoint value, -r value  Endpoint of CRI container runtime service (default: uses in order the first successful one of [unix:///run/k3s/containerd/containerd.sock unix:///var/run/dockershim.sock unix:///run/containerd/containerd.sock unix:///run/crio/crio.sock]). Default is now deprecated and the endpoint should be set instead. [$CONTAINER_RUNTIME_ENDPOINT]
   --timeout value, -t value           Timeout of connecting to the server in seconds (e.g. 2s, 20s.). 0 or less is set to default (default: 2s)
   --help, -h                          show help (default: false)
   --version, -v                       print the version (default: false)


[root@VM-16-5-centos ~]# nerdctl
-bash: nerdctl: command not found
[root@VM-16-5-centos ~]# kubectl get pods --all-namespaces
NAMESPACE     NAME                                      READY   STATUS      RESTARTS   AGE
kube-system   helm-install-traefik-5vl8b                0/1     Completed   0          73m
kube-system   svclb-traefik-szvsd                       2/2     Running     2          73m
kube-system   metrics-server-86cbb8457f-scttb           1/1     Running     1          73m
kube-system   local-path-provisioner-5ff76fc89d-4v6z9   1/1     Running     1          73m
kube-system   coredns-854c77959c-xhn6w                  1/1     Running     1          73m
kube-system   traefik-6f9cbd9bd4-pcq5g                  1/1     Running     1          73m
[root@VM-16-5-centos ~]# kubectl get ns
NAME              STATUS   AGE
default           Active   74m
kube-system       Active   74m
kube-public       Active   74m
kube-node-lease   Active   74m
[root@VM-16-5-centos ~]# kubectl get svc
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.43.0.1    <none>        443/TCP   75m

 4.nerdctl安装

https://github.com/containerd/nerdctl/releases

[root@VM-16-5-centos ~]# wget https://github.91chi.fun//https://github.com//containerd/nerdctl/releases/download/v0.19.0/nerdctl-0.19.0-linux-amd64.tar.gz

[root@VM-16-5-centos ~]# mkdir -p /usr/local/containerd/bin  && tar -zxvf nerdctl-0.19.0-linux-amd64.tar.gz nerdctl && mv nerdctl /usr/local/containerd/bin

[root@VM-16-5-centos ~]# ln -s /usr/local/containerd/bin/nerdctl /usr/bin/nerdctl

nerdctl运行时路径待解决

安装部署后,使用默认的runtime路径,不是K3s的/run/k3s/containerd/containerd.sock;需要修改路径,按照路径进行修改,未成功,待解决

 https://github.com/containerd/nerdctl/blob/master/docs/faq.md#how-to-change-the-runtime

 

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐