- 1、kubectl create service clusterip
- 语法
- 示例
- 2、kubectl create service externalname
- 语法
- 示例
- 3、kubectl create service loadbalancer
- 语法
- 示例
- 4、kubectl create service nodeport
- 语法
- 示例
- 5、kubectl create serviceaccount
- 语法
- 示例
- 6、kubectl create secret tls
- 语法
- 示例
- 7、kubectl create secret generic
- 语法
- 示例
- 8、kubectl create secret docker-registry
- 语法
- 示例
语法创建具有指定Service名的clusterIP。相当于给指定的service配置默认的虚拟IP
$ clusterip NAME [--tcp=示例: ] [--dry-run]
创建Service名为my-cs为的clusterIP
kubectl create service clusterip my-cs --tcp=5678:8080
创建Service名为my-cs的clusterIP(headless模式)
kubectl create service clusterip my-cs --clusterip="None"2、kubectl create service externalname
语法创建指定Service名的ExternalName。
$ externalname NAME --external-name external.name [--dry-run]示例
创建Service名为my-ns的ExternalName
kubectl create service externalname my-ns --external-name bar.com3、kubectl create service loadbalancer
语法创建一个指定名称的Service的LoadBalancer。
$ loadbalancer NAME [--tcp=port:targetPort] [--dry-run]示例
创建一个Service名为my-lbs的LoadBalancer。
kubectl create service loadbalancer my-lbs --tcp=5678:80804、kubectl create service nodeport
语法创建指定Service名称的nodeport。类似于端口映射,相当于是将指定的service的端口,关联到机器的某个端口,那么就可以通过机器的ip地址:关联的端口这种方式去访问这个service。
$ nodeport NAME [--tcp=port:targetPort] [--dry-run]示例
创建service名为my-ns的新的nodeport。
kubectl create service nodeport my-ns --tcp=5678:80805、kubectl create serviceaccount
创建指定名称的service account。
语法ServiceAccount是给运行在Pod的程序使用的身份认证,Pod容器的进程需要访问API Server时用的就是ServiceAccount帐户; ServiceAccount仅局限它所在的名称空间,每个名称空间创建时都会自动创建一个默认服务帐户;创建Pod时,如果没有指定服务帐户,Pod重新使用默认服务帐户。
$ serviceaccount NAME [--dry-run]示例
创建一个名为my-service-account的 service account
kubectl create serviceaccount my-service-account6、kubectl create secret tls
从给定的(public/private)公钥/私钥对创建TLS secret 。
语法公共密钥证书必须是.PEM编码并匹配指定的私钥。
$ tls NAME --cert=path/to/cert/file --key=path/to/key/file [--dry-run]示例
使用指定的key创建名为tls-secret的TLS secret :
kubectl create secret tls tls-secret --cert=path/to/tls.cert --key=path/to/tls.key7、kubectl create secret generic
根据配置文件、目录或指定的literal-value创建secret。
secret可以保存为一个或多个key/value信息。
当基于配置文件创建secret时,key将默认为文件的基础名称,value默认为文件内容。如果基本名称的key无效,则可以指定另一个key。
语法当基于目录创建secret时,key还是文件的基础名称,目录中有效的key的每个文件都被打包到secret中,除了常规文件之外的任何目录条目都被忽略(例如subdirectories, symlinks, devices, pipes, etc)。
$ generic NAME [--type=string] [--from-file=[key=]source] [--from-literal=key1=value1] [--dry-run]示例
使用指定的keys创建一个名为my-secret的secret
kubectl create secret generic my-secret --from-file=ssh-privatekey=~/.ssh/id_rsa --from-file=ssh-publickey=~/.ssh/id_rsa.pub
用key1 = supersecret和key2 = topsecret创建一个名为my-secret的secret
kubectl create secret generic my-secret --from-literal=key1=supersecret --from-literal=key2=topsecret
从env文件创建名为my-secret的secret
kubectl create secret generic my-secret --from-env-file=path/to/bar.env8、kubectl create secret docker-registry
创建与Docker registries一起使用的secret。
Dockercfg secrets用于对Docker registries进行安全认证。
当使用Docker命令push镜像时,可以进行Docker registries认证
$ docker login DOCKER_REGISTRY_SERVER --username=DOCKER_USER --password=DOCKER_PASSWORD --email=DOCKER_EMAIL'.
这时会产生一个 ~/.dockercfg 文件,在“docker push”和“docker pull”命令时,此文件用于registries进行认证。
在创建应用时,当Node节点从私有仓库Pull镜像时,需要有相应凭证,才能使用私有Docker仓库。我们可以通过创建dockercfg secret并添加到service account来实现。
语法$ docker-registry NAME --docker-username=user --docker-password=password --docker-email=email [--docker-server=string] [--from-literal=key1=value1] [--dry-run]示例
如果没有.dockercfg 文件,则可以使用以下命令创建dockercfg secret:
kubectl create secret docker-registry my-secret --docker-server=DOCKER_REGISTRY_SERVER --docker-username=DOCKER_USER --docker-password=DOCKER_PASSWORD --docker-email=DOCKER_EMAIL
参考文档:Kubernetes中文文档



