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
  • 相关阅读:
    Quartz.NET-2.3.3 各种 数据库配置 类别大全
    C#获取当前路径的七种方法 【转载】
    BCB 如何拦截TAB键消息
    用union 和 struct 位域操作
    表值函数
    C#中 委托和事件的关系
    关于C++ Builder Codegurad 问题的排查。
    存储过程中使用事务的“正规”写法
    C++ 中对vector<T*> 数组的查找和排序
    BCB 中 Application->CreateForm 和 New 的一个区别
  • 原文地址:https://www.cnblogs.com/carriezhangyan/p/11084115.html
Copyright © 2011-2022 走看看