在安装Kubernetes时(有三个):
        Kubelet:运行在cluster所有节点上,负责启动POD和容器;

        Kubeadm:用于初始化cluster的一个工具;

        Kubectl:kubectl是kubenetes命令行工具,通过kubectl可以部署和管理应用,查看各种资源,创建,删除和更新组件;

k8s配置中的常见问题:

        如果在master节点处,进行kubeadm init的时候,经常拉去失败,通常有以下原因:

        1:版本错误,看报错error,可能式你选择的kubenute参数的版本过低导致

        2:没有报错,但是没有换源,从而导致pull image失败

        其他报错:

        容器没有运行

[root@master:~] kubeadm init --image-repository registry.aliyuncs.com/google_containers --pod-network-cidr=10.244.0.0/16 -
[init] Using Kubernetes version: v1.24.1
[preflight] Running pre-flight checks
error execution phase preflight: [preflight] Some fatal errors occurred:
        [ERROR CRI]: container runtime is not running: output: E0606 12:41:12.605990 1307975 remote_runtime.go:925] "Status f service runtime.v1alpha2.RuntimeService"
time="2022-06-06T12:41:12Z" level=fatal msg="getting status of runtime: rpc error: code = Unimplemented desc = unknown servic
, error: exit status 1
[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`
To see the stack trace of this error execute with --v=5 or higher

        上述状况需要重启容器,解决方法:

[root@master:~] rm -rf /etc/containerd/config.toml
[root@master:~] systemctl restart containerd

****如果在错误过多的情况下,可以尝试重启;尤其看到already字眼时,初步判断为kubeadm已经打开:可以使用命令kubeadm reset

*****另外记得最后要设置环境变量,经典报错

解决方法:

        1.在系统文件中,直接追加文件内容 :

                echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> /etc/profile

       2.使他生效: 

                source /etc/profile

        已经在自己的虚拟机上安装了flannel网络插件,其余还有calico、canal等

Master初始化后,部署Ngnix服务:

        注意:个人理解,部署的操作都是在master主机上执行的,同时可以访问master或者node任一IP地址,但端口号要看部署分配

        部署代码:

#部署nginx
kubectl create deployment nginx --image=nginx:1.14-alpine

#暴露端口
kubectl expose deployment nginx --port=80 --type=NodePort

#查看服务状态
kubectl get pods,svc

Logo

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

更多推荐