阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

kubectl管理kubernetes集群

280次阅读
没有评论

共计 3851 个字符,预计需要花费 10 分钟才能阅读完成。

[root@master ~]# kubectl get nodes  查看集群节点
NAME      STATUS    AGE
node1    Ready    25m
node2    Ready    19m
[root@master ~]# kubectl version  查看版本
Client Version: version.Info{Major:”1″, Minor:”5″, GitVersion:”v1.5.2″, GitCommit:”269f928217957e7126dc87e6adfa82242bfe5b1e”, GitTreeState:”clean”, BuildDate:”2017-07-03T15:31:10Z”, GoVersion:”go1.7.4″, Compiler:”gc”, Platform:”linux/amd64″}
Server Version: version.Info{Major:”1″, Minor:”5″, GitVersion:”v1.5.2″, GitCommit:”269f928217957e7126dc87e6adfa82242bfe5b1e”, GitTreeState:”clean”, BuildDate:”2017-07-03T15:31:10Z”, GoVersion:”go1.7.4″, Compiler:”gc”, Platform:”linux/amd64″}
[root@master ~]# kubectl run nginx –image=docker.io/nginx –replicas=1 –port=9000
deployment “nginx” created
[root@master ~]# kubectl get deployment
NAME      DESIRED  CURRENT  UP-TO-DATE  AVAILABLE  AGE
nginx    1        1        1            0          15s
[root@master ~]# kubectl get pods
NAME                    READY    STATUS    RESTARTS  AGE
nginx-2187705812-8r0h4  1/1      Running  0          1h
[root@master ~]# kubectl get pods -o wide
NAME                    READY    STATUS    RESTARTS  AGE      IP          NODE
nginx-2187705812-8r0h4  1/1      Running  0          1h        10.255.4.2  node1
想要删除一个容器的时候:

[root@master ~]# kubectl delete pod nginx-2187705812-8r0h4
pod “nginx-2187705812-8r0h4” deleted
[root@master ~]# kubectl get pod
NAME                    READY    STATUS              RESTARTS  AGE
nginx-2187705812-6dn2r  0/1      ContainerCreating  0          4s
删除了之后还依然有,这个是因为创建 deployment 的时候参数 –replicas= 1 起作用了。想要删除的话直接删除 deployment 就可以了。

[root@master ~]# kubectl delete deployment nginx
deployment “nginx” deleted

 

yaml 语法:

[root@master ~]# kubectl create -f MySQL-deployment.yaml
deployment “mysql” created
[root@master ~]# kubectl get deployment
NAME      DESIRED  CURRENT  UP-TO-DATE  AVAILABLE  AGE
mysql    1        1        1            1          9s
[root@master ~]# kubectl get pods -o wide
NAME                    READY    STATUS    RESTARTS  AGE      IP          NODE
mysql-2261771434-r8td1  1/1      Running  0          16s      10.255.4.2  node1
在 node1 上查看 mysql docker 实例

[root@node1 ~]# docker ps -a
CONTAINER ID        IMAGE                                                        COMMAND                  CREATED            STATUS                    PORTS              NAMES
e33797549b8e        docker.io/mysql/mysql-server                                “/entrypoint.sh my…”  4 minutes ago      Up 4 minutes (healthy)                        k8s_mysql.31ec27ee_mysql-2261771434-r8td1_default_351da1d4-f082-11e8-bbf2-000c297d60e3_089418b7

kubectl 其他参数:

logs      取得 pod 中容器的 log 信息

exec    在容器中执行一条命令

cp        从容器拷出或者想容器中拷入文件

attach    attach 到一个运行的容器上

logs

[root@master ~]# kubectl get pod
NAME                    READY    STATUS    RESTARTS  AGE
mysql-2261771434-r8td1  1/1      Running  0          18m
[root@master ~]# kubectl logs mysql-2261771434-r8td1
[Entrypoint] MySQL Docker Image 5.7.20-1.1.2
[Entrypoint] Initializing database
[Entrypoint] Database initialized
Warning: Unable to load ‘/usr/share/zoneinfo/iso3166.tab’ as time zone. Skipping it.
Warning: Unable to load ‘/usr/share/zoneinfo/zone.tab’ as time zone. Skipping it.
Warning: Unable to load ‘/usr/share/zoneinfo/zone1970.tab’ as time zone. Skipping it.
[Entrypoint] ignoring /docker-entrypoint-initdb.d/*
[Entrypoint] Server shut down
[Entrypoint] MySQL init process done. Ready for start up.
[Entrypoint] Starting MySQL 5.7.20-1.1.2

exec:
[root@master ~]# kubectl exec mysql-2261771434-r8td1 ls
[root@master ~]# kubectl exec -it mysql-2261771434-r8td1 bash
bash-4.2#
cp:
[root@master ~]# kubectl cp mysql-2261771434-r8td1:/tmp/hosts /etc/hosts
error: unexpected EOF

[root@master ~]# kubectl cp –help
Examples:
  # !!!Important Note!!!
  # Requires that the ‘tar’ binary is present in your container  使用 kubectl cp 你的容器实例中必须有 tar 命令,如果没有的话就会失败
  # image.  If ‘tar’ is not present, ‘kubectl cp’ will fail.
[root@master ~]# kubectl exec -it mysql-2261771434-r8td1 bash
bash-4.2# yum install tar net-tools -y 

bash-4.2# echo ‘this is test’ > /tmp/test.txt

再次测试:

拷贝出来

[root@master ~]# kubectl cp mysql-2261771434-r8td1:/tmp/test.txt /opt/test.txt
[root@master ~]# more /opt/test.txt
this is test

拷贝回去:

[root@master ~]# echo “this is out” >> /opt/test.txt

[root@master ~]# kubectl cp /opt/test.txt mysql-2261771434-r8td1:/tmp/test.txt

[root@master ~]# kubectl exec -it mysql-2261771434-r8td1 bash
bash-4.2# cat /tmp/test.txt
this is test

this is out

kubectl attach:

用户取得 pod 中容器的实时信息,可以持续不断实时的取出信息。类似于 tail -f

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3851字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中