zoukankan      html  css  js  c++  java
  • k8s第一个脚本:hello world

    1、hello-world-pod.yaml 脚本:

    # cat hello-world-pod.yaml 
    apiVersion: v1
    kind: Pod
    metadata:
      name: hello-world
    spec:
      restartPolicy: OnFailure              
      containers:
      - name: hello
        image: "ubuntu:14.04"
        command: ["/bin/echo","Hello","world"]

    2、pod的创建、更新和删除

    # kubectl create -f hello-world-pod.yaml        // 创建 hello world pod
    # kubectl get pod hello-world   // 查询,也可以用kubectl describe pod helloworld
    # kubectl logs hello-world   // 
    # kubectl delete pod hello    // 删除 pod
    # kubctl replace hello-world.yaml    // 更新 pod

    3、创建pod过程踩到的坑

      3.1 错误信息如下:

    # kubectl create -f hello-world-pod.yaml
    Error from server (ServerTimeout): error when creating "hello-world-pod.yaml": No API token found for service account "default", retry after the token is automatically created and added to the service account

      3.2  解决方法:

    方法一:

     禁用ServiceAccount,将ServiceAccount参数删除即可 ,这种方式可能会遇到必须要用ServiceAccount的情况,不推荐使用

    # vim /etc/kubenetes/apiserver: 
    将
    KUBE_ADMISSION_CONTROL
    ="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ServiceAccount,ResourceQuota" 改为: KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota"

    方法二:

      配置ServiceAccount,一般推荐使用这种方法。

    1、首先生成密钥: 
    openssl genrsa -out /etc/kubernetes/serviceaccount.key 2048
    
    2、编辑/etc/kubenetes/apiserver 
    添加以下内容: 
    KUBE_API_ARGS="--service_account_key_file=/etc/kubernetes/serviceaccount.key"
    
    3、再编辑/etc/kubernetes/controller-manager 
    添加以下内容: 
    KUBE_CONTROLLER_MANAGER_ARGS="--service_account_private_key_file=/etc/kubernetes/serviceaccount.key"
    
    4、重启kubernetes服务: 
    systemctl restart etcd kube-apiserver kube-controller-manager kube-scheduler
  • 相关阅读:
    【校招内推】2022届菜鸟网络Java内推
    Git版本管理流程与规范-生活圈
    Jenkins:Git拉取代码版本不对
    java html2image
    CentOS 7.6构建MySQL PXC高可用集群
    你可能不知道的Docker资源限制
    Docker镜像源修改
    centos7.2安装docker(二进制离线安装)
    ansible playbook 配置计划任务
    NFS服务的用户身份映射
  • 原文地址:https://www.cnblogs.com/carriezhangyan/p/11084115.html
Copyright © 2011-2022 走看看