• 远程访问阿里云k8s

操作步骤

  1. 从 Kubernetes 版本页面 下载最新的kubectl客户端。
  2. 安装和设置kubectl客户端。
    有关详细信息,参见安装和设置 kubectl 
  3. 配置集群凭据。
    • 如果您使用公网访问,请选择KubeConfig(公网访问)页签,并单击复制,将内容复制到本地计算机的 $HOME/.kube/configkubectl 预期凭据所在的位置)。
    • 如果您使用内网访问,请选择KubeConfig(内网访问)页签,并单击复制,将内容复制到本地计算机的 $HOME/.kube/configkubectl 预期凭据所在的位置)。

    配置完成后,您可以使用kubectl从计算机访问Kubernetes集群。

    1. 登录容器服务管理控制台 
    2. 在Kubernetes菜单下,单击左侧导航栏的集群 > 集群,进入集群列表页面。
    3. 选择所需的集群并单击右侧的管理。

      您可以在连接信息处查看集群的连接地址。

      集群链接地址
  • kubectl常用命令
  1. 查看版本   kubectl version --client
  2. 查看命名空间  kubectl get ns
  3. 查看pods   kubectl get pods -n 88gx-prd-k8s-app
  4. 查看某个pods    kubectl get pods -n 88gx-prd-k8s-app |grep user
  5. 查看容器日志(全部)   kubectl logs -n 88gx-prd-k8s-app prd-app-user-6b9bf5848b-mlrt6
  6. 查看容器日志(最后500行)   kubectl logs --tail=500 -n 88gx-prd-k8s-app prd-app-user-6b9bf5848b-mlrt6
  7. 查看容器日志(实时更新) kubectl logs -f --tail=500 -n 88gx-prd-k8s-app prd-app-user-6b9bf5848b-mlrt6
  8. 编辑容器yml配置文件  kubectl edit deployment -n 88gx-prd-k8s-app prd-app-backendjob-executor

背景:
我们通过会有多个k8s集群,例如集群(cn-k8s)和集群(jp-k8s),那个就需要有一台服务器可以同时访问两个集群,方式:将2个集群的config信息存放到一个文件中,通过使用 kubectl config use-context context_name 来访问集群。简而言之,通过设置context来让kubectl访问不同的k8s集群。

具体步骤如下:

假如已经准备好2个集群的配置文件,分别为 $HOME/.kube/config1 和 $HOME/.kube/config2 

config1 信息如下

复制代码
[root@node-01 .kube]# cat $HOME/.kube/config1
apiVersion: v1
kind: Config
clusters:
- cluster:
    api-version: v1
    certificate-authority-data: xxxxxxx
    server: "https://172.20.8.113:6443"
  name: "cn-k8s"
contexts:
- context:
    cluster: "cn-k8s"
    user: "kube-admin-local"
  name: "cn-k8s"
current-context: "cn-k8s"
users:
- name: "kube-admin-local"
  user:
    client-certificate-data: xxxxxx
    client-key-data: xxxxxx
复制代码

config2 信息如下

复制代码
[root@node-01 .kube]# cat $HOME/.kube/config2
apiVersion: v1
kind: Config
clusters:
- cluster:
    api-version: v1
    certificate-authority-data: xxxxxx
    server: "https://172.19.8.113:6443"
  name: "jp-k8s"
contexts:
- context:
    cluster: "jp-k8s"
    user: "kube-admin-local"
  name: "jp-k8s"
current-context: "jp-k8s"
users:
- name: "kube-admin-local"
  user:
    client-certificate-data: xxxxxx
    client-key-data: xxxxxx
复制代码

通过config信息,可以看到两个集群的cluster name,context name,以及用户信息。

 

配置文件已准备好,下面开始变身了。文件合成:

cd $HOME/.kube/config
KUBECONFIG=config1:config2 kubectl config view --flatten > $HOME/.kube/config

 

那么如何使用呢?

1、查看cluster name以及context name

复制代码
[root@node-01 ~]# kubectl config view
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: DATA+OMITTED
    server: https://172.19.8.113:6443
  name: cnlocal
- cluster:
    certificate-authority-data: DATA+OMITTED
    server: https://172.19.8.113:6443
  name: jplocal
contexts:
- context:
    cluster: cnlocal
    user: kube-admin-local
  name: cnlocal
- context:
    cluster: jplocal
    user: kube-admin-local
  name: local
current-context: jplocal
kind: Config
preferences: {}
users:
- name: kube-admin-local
  user:
    client-certificate-data: REDACTED
    client-key-data: REDACTED
复制代码

2、查看当前使用的集群

[root@node-01 ~]# kubectl config current-context
jplocal

3.获取所有的集群上下文列表:

[root@node-01 ~]# kubectl config get-contexts
CURRENT   NAME                 CLUSTER                      AUTHINFO             NAMESPACE
* docker-for-desktop docker-for-desktop-cluster docker-for-desktop
work-test work-test-cluster work-test-admin
work-dev work-dev-cluster work-dev-admin
work-prod work-prod-cluster work-prod-admin

4、修改当前使用的集群

[root@node-01 ~]# kubectl config use-context cnlocal
Switched to context "cnlocal".

 

5. 更多的 kubectl config 命令见帮助信息:
1
2
3
4
5
6
7
8
9
10
11
12
13
current-context 显示 current_context
delete-cluster 删除 kubeconfig 文件中指定的集群
delete-context 删除 kubeconfig 文件中指定的 context
get-clusters 显示 kubeconfig 文件中定义的集群
get-contexts 描述一个或多个 contexts
rename-context Renames a context from the kubeconfig file.
set 设置 kubeconfig 文件中的一个单个值
set-cluster 设置 kubeconfig 文件中的一个集群条目
set-context 设置 kubeconfig 文件中的一个 context 条目
set-credentials 设置 kubeconfig 文件中的一个用户条目
unset 取消设置 kubeconfig 文件中的一个单个值
use-context 设置 kubeconfig 文件中的当前上下文
view 显示合并的 kubeconfig 配置或一个指定的 kubeconfig 文件