k8s基操之-yaml
497 字
2 分钟
k8s基操之-yaml
kubernetes官网命令行介绍
使用yaml创建一次部署
-
使用 —help查看部署帮助
Terminal window kubectl create deployment tomcat8 --image=tomcat:8.5-jdk8 --help
1590992333298 --dry-run 尝试部署--o yaml 输出 YAML 格式的 API 对象 -
结合 —dry-run -o yaml 得到一个YAML格式的 API 对象
Terminal window kubectl create deployment tomcat8 --image=tomcat:8.5-jdk8 --dry-run -o yamlapiVersion: apps/v1kind: Deploymentmetadata:creationTimestamp: nulllabels:app: tomcat8name: tomcat8spec:replicas: 1selector:matchLabels:app: tomcat8strategy: {}template:metadata:creationTimestamp: nulllabels:app: tomcat8spec:containers:- image: tomcat:8.5-jdk8name: tomcatresources: {}status: {} -
结合 —dry-run -o yaml 将得到一个YAML格式的 API 对象重定向输出到文件
Terminal window kubectl create deployment tomcat8 --image=tomcat:8.5-jdk8 --dry-run -o yaml > tomcat8.yaml修改精简 默认创建一个实例 改成3个
apiVersion: apps/v1kind: Deploymentmetadata:labels:app: tomcat8name: tomcat8spec:replicas: 3selector:matchLabels:app: tomcat8template:metadata:labels:app: tomcat8spec:containers:- image: tomcat:8.5-jdk8name: tomcat -
应用 tomcat8.yaml文件
Terminal window kubectl apply -f tomcat8.yaml
1590992926091 -
得到service的yaml文件
Terminal window kubectl expose deployment tomcat8 --port=80 --target-port=8080 --type=NodePort --dry-run -o yaml > tomcat8-expose.yaml
1590994268002 -
应用tomcat8-expose.yaml文件
Terminal window kubectl apply -f tomcat8-expose.yaml -
查看一个pod是怎么定义的
Terminal window kubectl get pods
1590994607898 Terminal window kubectl get pod tomcat8-54679f746d-khdwk -o yamlapiVersion: v1kind: Podmetadata:creationTimestamp: "2020-06-01T06:28:23Z"generateName: tomcat8-54679f746d-labels:app: tomcat8pod-template-hash: 54679f746dname: tomcat8-54679f746d-khdwknamespace: defaultownerReferences:- apiVersion: apps/v1blockOwnerDeletion: truecontroller: truekind: ReplicaSetname: tomcat8-54679f746duid: 9d084d88-b48c-4042-bb94-6db399f38ab5resourceVersion: "194623"selfLink: /api/v1/namespaces/default/pods/tomcat8-54679f746d-khdwkuid: f91d3ee4-96bb-4d4f-86a5-a0ff479a3029spec:containers:- image: tomcat:8.5-jdk8imagePullPolicy: IfNotPresentname: tomcatresources: {}terminationMessagePath: /dev/termination-logterminationMessagePolicy: FilevolumeMounts:- mountPath: /var/run/secrets/kubernetes.io/serviceaccountname: default-token-rrc2freadOnly: truednsPolicy: ClusterFirstenableServiceLinks: truenodeName: k8s-node3priority: 0restartPolicy: AlwaysschedulerName: default-schedulersecurityContext: {}serviceAccount: defaultserviceAccountName: defaultterminationGracePeriodSeconds: 30tolerations:- effect: NoExecutekey: node.kubernetes.io/not-readyoperator: ExiststolerationSeconds: 300- effect: NoExecutekey: node.kubernetes.io/unreachableoperator: ExiststolerationSeconds: 300volumes:- name: default-token-rrc2fsecret:defaultMode: 420secretName: default-token-rrc2fstatus:conditions:- lastProbeTime: nulllastTransitionTime: "2020-06-01T06:28:23Z"status: "True"type: Initialized- lastProbeTime: nulllastTransitionTime: "2020-06-01T06:28:24Z"status: "True"type: Ready- lastProbeTime: nulllastTransitionTime: "2020-06-01T06:28:24Z"status: "True"type: ContainersReady- lastProbeTime: nulllastTransitionTime: "2020-06-01T06:28:23Z"status: "True"type: PodScheduledcontainerStatuses:- containerID: docker://b72526de852740b87745d97765187c16b900d73dd4475aba9bb5ca2f4fda6ef4image: tomcat:8.5-jdk8imageID: docker-pullable://tomcat@sha256:bb59f86923e098ad54f485853e8f8859e2243cfceae762cccc2e5460ab006237lastState: {}name: tomcatready: truerestartCount: 0started: truestate:running:startedAt: "2020-06-01T06:28:24Z"hostIP: 172.16.10.69phase: RunningpodIP: 10.244.2.4podIPs:- ip: 10.244.2.4qosClass: BestEffortstartTime: "2020-06-01T06:28:23Z" -
将部署和暴露合并 只需要用
---隔开即可apiVersion: apps/v1kind: Deploymentmetadata:labels:app: tomcat8name: tomcat8spec:replicas: 3selector:matchLabels:app: tomcat8template:metadata:labels:app: tomcat8spec:containers:- image: tomcat:8.5-jdk8name: tomcat---apiVersion: v1kind: Servicemetadata:labels:app: tomcat8name: tomcat8spec:ports:- port: 80protocol: TCPtargetPort: 8080selector:app: tomcat8type: NodePort
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
相关文章智能推荐
1
ks8集群基操演练
Kubernetes意思是tomcat8.5是无效的名字 标签必须由小写字母数字字符或“-”组成,以字母字符开头,以字母数字字符结尾(例如,“我的名字”或“abc-123”,用于验证的regex是“[a-z]([-a-z0-9][a-z0-9])
2
使用kubeKey安装k8s+kubesphere
Kubernetes以下内容均参考kubesphere官网
3
kubesphere+k8s下devops使用maven-jdk11镜像
Kubernetes将配置-配置字典-jenkins-casc-config里面maven的image改成
4
k8s集群之-Ingress
Kubernetes底层是nginx
5
k8s集群搭建
Kubernetes[preflight] Running pre-flight checks
随机文章随机推荐


