ksonnet 一个简化编写以及部署kubernetes的工具

时间:2018-11-18 12:07:06   收藏:0   阅读:2008

ksonnet 是一个基于jsonnet的快速简化kubernetes yaml 配置的工具,可以实现配置的复用
同时也包含一个registry 的概念,可以实现可复用组件的分发,同时支持helm

环境准备

brew install ksonnet/tap/ks
ks --help
----

Usage:
  ks [flags]
  ks [command]

Available Commands:
  apply Apply local Kubernetes manifests (components) to remote clusters
  component Manage ksonnet components
  delete Remove component-specified Kubernetes resources from remote clusters
  diff Compare manifests, based on environment or location (local or remote)
  env Manage ksonnet environments
  generate Use the specified prototype to generate a component manifest
  help Help about any command
  import Import manifest
  init Initialize a ksonnet application
  module Manage ksonnet modules
  param Manage ksonnet parameters for components and environments
  pkg Manage packages and dependencies for the current ksonnet application
  prototype Instantiate, inspect, and get examples for ksonnet prototypes
  registry Manage registries for current project
  show Show expanded manifests for a specific environment.
  upgrade Upgrade ks configuration
  validate Check generated component manifests against the server‘s API
  version Print version information for this ksonnet binary

Flags:
      --dir string Ksonnet application root to use; Defaults to CWD (default "/Users/dalong")
  -h, --help help for ks
      --tls-skip-verify Skip verification of TLS server certificates
  -v, --verbose count Increase verbosity. May be given multiple times.

Use "ks [command] --help" for more information about a command.

基本使用

ks init dalongdemo
ks generate deployed-service dalongdemo   --image dalongrong/appdemo:1.0   --type ClusterIP

如下:
技术分享图片

ks show default

---
apiVersion: v1
kind: Service
metadata:
  labels:
    ksonnet.io/component: dalongdemo
  name: dalongdemo
spec:
  ports:
  - port: 80
    targetPort: 80
  selector:
    app: dalongdemo
  type: ClusterIP
---
apiVersion: apps/v1beta2
kind: Deployment
metadata:
  labels:
    ksonnet.io/component: dalongdemo
  name: dalongdemo
spec:
  replicas: 1
  selector:
    matchLabels:
      app: dalongdemo
  template:
    metadata:
      labels:
        app: dalongdemo
    spec:
      containers:
      - image: dalongrong/appdemo:1.0
        name: dalongdemo
        ports:
        - containerPort: 80
ks registry add helm-stable https://kubernetes-charts.storage.googleapis.com

添加charts

ks pkg install helm-stable/wordpress

效果
技术分享图片

说明

ksonnet 基于jsonet 的开发模型让yaml文件的编写可以实现模块,共享,我们可以像写代码一样写
yaml 文件了,同时可以实现复用

参考资料

https://ksonnet.io/docs/examples/helm/
https://ksonnet.io/get-started/
https://github.com/ksonnet/ksonnet

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!