[k8s]kubectl windows配置(kubernetic) && kubectl config set-context使用Kubernetic

参考:
https://feisky.gitbooks.io/kubernetes/components/kubectl.html
https://kubernetes.io/docs/tasks/tools/install-kubectl/

下载win客户端,放到path

https://storage.googleapis.com/kubernetes-release/release/v1.8.0/bin/windows/amd64/kubectl.exe

生成kubectl配置文件 ~/.kube/config

kubectl config set-cluster local-server --server=http://192.168.x.x:8080
kubectl config set-context default-context --cluster=local-server --namespace=default
kubectl config use-context default-context
kubectl config view

会生成kubectl的配置文件

最终结果:

这次初衷是搞这个东西,一个安装版的k8s客户端kubernetic
参考:
https://kubernetic.com/

context使用

参考: https://kubernetes-v1-4.github.io/docs/user-guide/kubectl/kubectl_config/

创建ns->创建对应的context->切换到context

kubectl create namespaces maotai
kubectl config set-context maotai-ctx --namespace=maotai --cluster=local-server
kubectl config use-context maotai-ctx

注:干掉ns记得干掉相关的context.

最佳使用

kubectl config set-context $(kubectl config current-context) --namespace=maotai

查看当前使用的context

kubectl config get-contexts
kubectl config set-context maotai-ctx --namespace=maotai --cluster=local-server
kubectl config set-context maotai2-ctx --namespace=maotai2 --cluster=local-server
kubectl config set-context maotai3-ctx --namespace=maotai3 --cluster=local-server

注: 1个context关联一个ns,context只是为了本地操作方便,如果集群ns不存在的context里操作,无任何意义(不会创建任何东西).

本质上是操作.kube/config 这个文件

$ cat .kube/config 
apiVersion: v1
clusters:
- cluster:
    server: http://192.168.x.x:8080
  name: local-server
contexts:
- context:
    cluster: local-server
    namespace: default
    user: ""
  name: default-context
- context:
    cluster: local-server
    namespace: maotai
    user: ""
  name: maotai-ctx
- context:
    cluster: local-server
    namespace: maotai2
    user: ""
  name: maotai2-ctx
- context:
    cluster: local-server
    namespace: maotai3
    user: ""
  name: maotai3-ctx
current-context: default-context
kind: Config
preferences: {}
users: []

切换context的脚本

#!/usr/bin/env bash
# 功能: 切换context
#
# /usr/loca/bin/kkc maotai
# 1. 如果不存在,则创建了namespace:maotai 并 切换context 到 maotai
# 2,如果context存在,则切换之

# /usr/loca/bin/kkc
# 1,切换context到default

# 脚本参数说明:
# 共有1个参数,且这个参数必须是字母+数字,长度为4-6位
# 如果超过1个参数,或者参数不符合规定,则设置为default-context.
set -eu

if [ ${#} -eq 1 ] && [[ ${1} =~ (^[a-zA-Z0-9]{4,6}$) ]];then
    if [ -z `kubectl config get-contexts|egrep "${1}-ctx|${1}"` ];then
        kubectl create ns ${1}
        kubectl config set-context ${1}-ctx --namespace=$1 --cluster=local-server
        kubectl config use-context ${1}-ctx
    else
        kubectl config use-context ${1}-ctx
    fi
else
    kubectl config use-context default-context
fi
kubectl config get-contexts


posted @ 2017-11-29 15:08  _毛台  阅读(1608)  评论(1编辑  收藏  举报