kubernetes基础使用
查看节点详细信息
kubectl describe node vm2
显示版本号
kubectl version
Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.2", GitCommit:"bb9ffb1654d4a729bb4cec18ff088eacc153c239", GitTreeState:"clean", BuildDate:"2018-08-07T23:17:28Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.1", GitCommit:"b1b29978270dc22fecc592ac55d903350454310a", GitTreeState:"clean", BuildDate:"2018-07-17T18:43:26Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}
显示集群详细信息
kubectl cluster-info
Kubernetes master is running at https://192.168.1.181:6443
KubeDNS is running at https://192.168.1.181:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
创建服务
kubectl run nginx-1 --image=nginx:1.14-alpine --replicas=1
nginx-1 标签名label
--image 引用镜像名
--replicas 启动pod数量
查看pod信息
kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE
nginx-1-dddf5b57b-5fx2q 1/1 Running 0 1m 10.244.2.2 vm3
删除镜像
[root@vm ~]# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE
nginx-1-dddf5b57b-5fx2q 1/1 Running 0 8m 10.244.2.2 vm3
[root@vm ~]# kubectl delete nginx-1-dddf5b57b-5fx2q
error: resource(s) were provided, but no name, label selector, or --all flag specified
[root@vm ~]# kubectl delete pods nginx-1-dddf5b57b-5fx2q
pod "nginx-1-dddf5b57b-5fx2q" deleted
[root@vm ~]# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE
nginx-1-dddf5b57b-vjgxb 1/1 Running 0 25s 10.244.1.2 vm2
deployment控制器指定需要有一个pod运行,删除后会自动创建一个
创建一个service
kubectl expose deployment nginx-1 --name=nginx-service --port=80 --target-port=80 --protocol=TCP
service/nginx-service exposed
[root@vm ~]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 3h
nginx-service ClusterIP 10.105.188.169 <none> 80/TCP 13s
deployment 控制器
nginx-1 控制器识别标签
name service名称
--port service暴露端口
--target-port 容器暴露端口
查看系统svc信息
kubectl get svc -n kube-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP 3h
查看创建的svc信息
kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 4h
nginx-service ClusterIP 10.105.188.169 <none> 80/TCP 29m
查看svc的详细信息
kubectl describe svc nginx-service
Name: nginx-service
Namespace: default
Labels: run=nginx-1
Annotations: <none>
Selector: run=nginx-1
Type: ClusterIP
IP: 10.105.188.169
Port: <unset> 80/TCP
TargetPort: 80/TCP
Endpoints: 10.244.1.2:80
Session Affinity: None
Events: <none>
升级镜像版本
kubectl set image deployment nginx-1 nginx-1=nginx
回滚镜像版本
kubectl rollout undo deployment nginx-1
deployment.extensions/nginx-1
[root@vm ~]# kubectl get pods
NAME READY STATUS RESTARTS AGE
client 0/1 Error 0 50m
nginx-1-d64bd498d-fw8kh 0/1 Terminating 0 5m
nginx-1-dddf5b57b-wzh2h 1/1 Running 0 8s
修改svc配置,使service可以外部访问
kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 4h
nginx-service ClusterIP 10.105.188.169 <none> 80/TCP 1h
[root@vm ~]# kubectl edit svc nginx-service
service/nginx-service edited
[root@vm ~]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 4h
nginx-service NodePort 10.105.188.169 <none> 80:30611/TCP 1h
kubectl edit svc nginx-service的内容spec:
clusterIP: 10.105.188.169
externalTrafficPolicy: Cluster
ports:
- nodePort: 30611
port: 80
protocol: TCP
targetPort: 80
selector:
run: nginx-1
sessionAffinity: None
type: NodePort
status:
loadBalancer: {}
将type改为NodePort,会将svc端口动态映射出去,上面映射为30611,用浏览器访问任意一个node都可以访问到
对pod添加标签
kubectl label pods pode-demo release=canary
修改pod标签
kubectl label pods pode-demo release=stable --overwrite
--overwrite
对标签进行过滤
kubectl get pods -l app --show-labels
显示有标签名的pod
kubectl get pods -L app,run
yaml文件创建一个pod
kubectl create -f xxxx.yaml
删除yaml文件创建的pod
kubectl delete -f xxxx.yaml
查看container日志
kubectl logs podename containername
正常容器比如nginx只有在被访问后才会出现日志
失败容器会直接产生错误日志
连接容器
kubectl exec -it podname -c containername bash
kubernetes基础使用的更多相关文章
- Kubernetes基础:查看状态、管理服务
目标 了解Kubernetes Pod 了解Kubernetes Node 学习如何调试部署问题 了解如何通过Service暴露应用 Kubernetes Pods 在Kubernetes中创建一个D ...
- 1-2、kubernetes架构概述和kubernetes基础概念
kubernetes https://draveness.me/understanding-kubernetes http://kubernetes.kansea.com/docs/ master/n ...
- linux运维、架构之路-Kubernetes基础(一)
一.Kubernetes介绍 Kubernetes最初源于谷歌内部的Borg,提供了面向应用的容器集群部署和管理系统.Kubernetes的目标旨在消除编排物理/虚拟计算,网络和存储基础设施的负担,并 ...
- Kubernetes基础
Kubernetes是什么 Kubernetes是当今最流行的开源容器管理平台,它就是大名鼎鼎的Google Borg的开源版本.Google在2014年推出了Kubernetes,本文发布时最新的版 ...
- kubernetes基础架构及原理
kubernetes简称“k8s” 其中“8”代表的是“k”和“s”中间的8个字母. k8s是Google公司开发的Borg项目中独立出来的容器编排工具,然后将其捐献给CNCF这个组织,然后发扬光大. ...
- 003/kubernetes基础:开启云原生之门(Mooc)
一.简介:(https://www.imooc.com/learn/978) 在2017年Kubernetes战胜了两个强大的竞争对手Swarm和Mesos,成为容器管理与调度编排领域的首选平台和事实 ...
- kubernetes基础——一文读懂k8s
容器 容器与虚拟机对比图(左边为容器.右边为虚拟机) 容器技术是虚拟化技术的一种,以Docker为例,Docker利用Linux的LXC(LinuX Containers)技术.CGroup(Co ...
- kubernetes基础概念知多少
kubernetes(简称k8s)是一种用于在一组主机上运行和协同容器化应用程序的管理平台,皆在提供高可用.高扩展性和可预测性的方式来管理容器应用的生命周期.通过k8s,用户可以定义程序运行方式.部署 ...
- Kubernetes 基础资料
概述 这篇文章用来记录Kubernetes 的基础资料,整体以最新官方文档为准. 因为k8s整体比较偏运维,作为研发可先大致了解其概念及初级使用方式,后面重点学习点会放在service mesh is ...
- kubernetes 基础知识
1. kubernetes 包含几个组件 Kubernetes是什么:针对容器编排的一种分布式架构,是自动化容器操作的开源平台. 服务发现.内建负载均衡.强大的故障发现和自我修复机制.服务滚动升级和在 ...
随机推荐
- ARC中用代码检测一个对象有没有释放掉
ARC中用代码检测一个对象有没有释放掉 你试过在ARC中用代码检测对象有没有释放掉这种事情呢?即使你想过肯定也不知道怎么去实现,因为,这里会用到一个你基本上没怎么接触过的类:NSHashTable. ...
- double转换long的疑问
在lua(5.1.4)下面测试的时候使用0x100000000的时候出现了问题,打印结果很明显,如下所示: Lua Copyright (C) - Lua.org, PUC-Rio > prin ...
- Python学习---远程执行命令
原则:发送一个接受一个 原理:发送执行命令的大小给客户端,客户端根据接受的大小判断是否全部接收了服务器sendall()发送的全部 利用send发送的全部数据都是bytes类型的,需要进行字符编码的转 ...
- openAI最近推出了一个新的语言模型 "GPT-2"
[转]openAI最近推出了一个新的语言模型 "GPT-2",由于效果太好(?)几乎可以以假乱真,所以openAI正在犹豫是否把这个project完整release出来.(于是有人 ...
- 通过CXF,开发soap协议接口
1. 引入cxf的jar包 pom文件里面直接增加依赖 < dependency> <groupId > junit</ groupId> <artifact ...
- ZT 骆家辉宣布辞职 他给中国带来什么留下什么?
骆家辉宣布辞职 他给中国带来什么留下什么? 字号|2013年11月20日 15:20 已有1933人阅读 57 导 读 美国驻华大使骆家辉20日上午发表声明,宣布辞职.骆家辉履任期间为中国 ...
- Codeforces Round #435 (Div. 2)【A、B、C、D】
//在我对着D题发呆的时候,柴神秒掉了D题并说:这个D感觉比C题简单呀!,,我:[哭.jpg](逃 Codeforces Round #435 (Div. 2) codeforces 862 A. M ...
- ethereumjs/ethereumjs-account-1-简介和API
https://github.com/ethereumjs/ethereumjs-account Encoding, decoding and validation of Ethereum's Acc ...
- ICompare 可比较接口
执行
- 【题解】洛谷P3435 [POI2006] OKR-Periods of Words(KMP)
洛谷P3435:https://www.luogu.org/problemnew/show/P3435 思路 来自Kamijoulndex大佬的解释 先把题面转成人话: 对于给定串的每个前缀i,求最长 ...