メインコンテンツにスキップ

kubectl使用履歴

初級アプリ

クラスターに接続する

# コンフィグファイルの変更、クラスター内のkubeconfigファイル内容を ファイルに追加します。
code ~/.kube/config

## クラスターコンテクスト
kubectl config get-contexts
## クラスターコンテキスト
kubectl config use-context <context-name>

コマンド使用例

# ネームスペース
kubectl create namespace test の作成

アドバンスアプリ

複数のクラスタに接続する

# 示例: 手动将下载下来的kubeconfig合并到当前配置中
apiVersion: v1
clusters:
- cluster:
    server: https://k8smanager-xxx.cn/k8s/clusters/sss
  name: aaa

- cluster:
    certificate-authority-data: ******
    server: https://apiserver.cluster.local:6443
  name: kubernetes

contexts:
- context:
    cluster: aaa
    namespace: test1
    user: aaa
  name: aaa

- context:
    cluster: kubernetes
    user: kubernetes-admin
  name: kubernetes-admin@kubernetes

current-context: aaa
kind: Config
preferences: {}
users:
- name: aaa
  user:
    token: *****

- name: kubernetes-admin
  user:
    client-certificate-data: ****
    client-key-data: ***

dockerでkubectlコマンドを使用

# 通过docker使用kubectl命令, 需要将kubeconfig文件挂载到容器中
# docker run --rm -it --entrypoint=kubectl kubernetes/kubectl <kubectl-commands>
docker run --rm --name kubectl -p 8081:8081 -v /etc/hosts:/etc/hosts -v ~/.kube/config:/.kube/config bitnami/kubectl:latest port-forward pods/harbor-helm-core-786c9f5db5-ddbkn 8081:8080 -n harbor6
# host模式绑定主机端口
docker run --net="host" --rm --name kubectl -v /etc/hosts:/etc/hosts -v ~/.kube/config:/.kube/config bitnami/kubectl:latest port-forward pods/harbor-helm-core-786c9f5db5-ddbkn 8081:8080 -n harbor6
# 还可以通过设置别名的方式
alias kubectl='docker run --rm --name kubectl -v /etc/hosts:/etc/hosts -v ~/.kube/config:/.kube/config bitnami/kubectl:latest'
alias kubectl='docker run --net="host" --rm --name kubectl -v /etc/hosts:/etc/hosts -v ~/.kube/config:/.kube/config bitnami/kubectl:latest'
# 或者通过sudo docker run的方式, 获得权限(用于映射像80:8080这样的需要权限的端口)
alias kubectl='sudo docker run --user=root --net="host" --rm  --entrypoint="kubectl" --name kubectl -v /etc/hosts:/etc/hosts -v ~/.kube/config:/.kube/config bitnami/kubectl:latest'

kubectl port-forward pods/harbor-helm-core-786c9f5db5-ddbkn 8081:8080 -n harbor6