k8s

minikube安装

安装参考

dashboard暴露外部访问

kubectl proxy --port=8001(暴露的端口) --address='192.168.131.136'(暴露的ip) --accept-hosts=^.*’ &

启动后访问

http://192.168.131.136:8001/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/#/overview?namespace=default

kubectl

管理k8s命令行工具。

查看集群信息:

kubectl cluster-info

查看集群节点

kubectl get nodes

kubectl get命令可以查看各种k8s对象信息。但只会显示对象最基本的信息。

查看k8s对象的更多信息

kubectl describe node master136

输出显示了非常多的信息,包含节点的状态、CPU和内存数据、系统信息、运行容器的节点等。
可以直接运行kubectl describe node来列出所有的节点信息。

为kubectl设置别名和命令行补齐

创建别名

alias k=kubectl

可以将上述命令放入~/.bashrc文件中,来避免重启失效。通过source ~/.bashrc来使其echo “source <(kubectl completion bash)” >> ~/.bashrc
生效。

为kubectl配置tab补全

可以为bash和zsh shell补全,可以补全命令名和对象名,如:

kubectl desc<TAB> no<TAB> mas<TAB>

需要安装bashcompletion包,运行如下命令:

yum install bash-completion
source /usr/share/bash-completion/bash_completion
source <(kubectl completion bash)
echo "source <(kubectl completion bash)" >> ~/.bashrc

为了支持别名,需要使用如下命令修复:

source<(kubectl completion bash | sed s/kubectl/k/g)

运行第一个应用

最简单的方式是使用kubectl run命令来部署应用,这样可以创建必须的组件而无需JSON或YAML文件。这样就不需要了解每个组件对象的结构。如下:

kubectl run kubia --image=dockerbzb/kubia --port=8080 --generator=run/v1

pod

k8s并不管理容器,它使用共存容器的理念。这组容器就是pod。
一个pod是一组紧密相关的容器,它总是运行在同一个工作节点上,以及同一个命名空间中。它就像一个独立的逻辑机器,拥有自己的IP、主机名、进程。

列出pod

无法列出单个容器,因为它们不是独立的k8s对象。但可以列出pod。

kubectl get pods

获取详细信息

kubectl describe podstrfws2qa

访问应用

pod的ip只能通过内部访问。要让它从外部访问,需要通过服务对象公开它,需要创建特殊的LoadBalancer类型的服务,将创建一个外部的负载均衡,可以通过负载均衡的公共IP访问pod。

创建一个服务对象

kubectl expose rc kubia --type=LoadBalancer --name kubia-http

可以使用k8s的缩写,如rc表示ReplicaitonController,srv表示service。

列出服务

kubectl get services

MiniKube不支持LoadBalancer类型的服务。可以使用如下命令获取服务的IP和端口。

minicube service kubia-http

为什么需要服务

pod的存在是短暂的,一个pod可以在任何时刻被删除,可能是它所在的节点故障,或者有人删除了pod,或者pod被所在的健康节点剔除了。但pod被重新创建时,它的ip会发生变化。
服务被创建时,会得到一个静态的IP。在服务的生命周期内保持不变。客户端连接到服务的静态IP,由服务负载均衡转发到pod。
服务表示一组提供相同服务的pod。

增加期望的副本数

kubectl scale rc kubia --replicas=3

在k8s中,基本原则是不要告诉k8s应该做什么,而是声明性地改变系统的期望状态,并让k8s检查当前的状态是否和期望的状态一致。
k8s并不会让应用变得可扩展,应用本身需要支持扩缩容,它只是让应用的扩缩容变得简单。

kubectl get pods -o wide

使用上面的命令显示更多信息,包括节点信息。

k8s dashboard

k8s的图形化视图,可以查看k8s的pod、ReplicaitonController、服务和其他部署在k8s中的对象。以及创建、修改、删除它们。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值